[Feature request] remove dependency on wmic & wsh from windows batch files
- Vorherrschende Sprache
- Java
- Sterne
- 6.4k
- Forks
- 1.2k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 115
Beschreibung
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Motivation
Hello team, I am building an installer for IotDB so that I can distribte IotDB with a solution I develop. The installer deploys IotDB as a windows service.
During my testing I have discovered that;
1. The env scripts are using wmic which is deprecated and is an optional feature on Windows 10/11 (https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features)
2. The env script are using WSH which is not desirable. Windows Scripting host is blocked on many customer sites and is not good practise on Windows.
To add to this, I am testing in the Windows 11 Sandbox which does not allow you to enable the wmic feature anyway so IotDB would never start successfully.
To work around this I have developed a small C# console app to return the number of cores and memory in megabytes
https://github.com/ope-nz/IotDBHWInfo
In the env batch files I have replaced the cores/memory determination with these lines;
for /f %%A in ('..\tools\IotDBHWInfo.exe -cores') do set "system_cpu_cores=%%A"
echo CORES %system_cpu_cores%
for /f %%A in ('..\tools\IotDBHWInfo.exe -memory') do set "system_memory_in_mb=%%A"
echo SYSTEM MEMORY %system_memory_in_mb%
### Solution
Develop alternate solution to using wmic/wsh such as console app show above
### Alternatives
Use https://github.com/ope-nz/IotDBHWInfo
Update env batch files with
for /f %%A in ('..\tools\IotDBHWInfo.exe -cores') do set "system_cpu_cores=%%A"
echo CORES %system_cpu_cores%
for /f %%A in ('..\tools\IotDBHWInfo.exe -memory') do set "system_memory_in_mb=%%A"
echo SYSTEM MEMORY %system_memory_in_mb%
### Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Beitragsleitfaden
Rechercherichtung
Beginne damit, die Windows-Umgebungs-Batchdateien sowie die aktuellen wmic- und WSH-Aufrufe zu lokalisieren. Vergleiche deren Erkennung von CPU-Kernen und Arbeitsspeicher mit dem für IotDBHWInfo.exe beschriebenen Verhalten. Als abgeschlossen gilt die Aufgabe, wenn die Umgebungsskripte nicht mehr von wmic oder WSH abhängen und IotDB im beschriebenen Windows 11 Sandbox-Szenario gestartet werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, shell
- Bereich
- devops, operating-systems
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100