apache / apache/iotdb

[Feature request] remove dependency on wmic & wsh from windows batch files

Abierto
#11,014 3 comentarios 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
6.4k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
115

Descripción

### 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!

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza localizando los archivos batch del entorno de Windows y las llamadas actuales a wmic y WSH. Compara su detección de núcleos de CPU y memoria con el comportamiento descrito para IotDBHWInfo.exe. Se considera terminado cuando los scripts del entorno ya no dependan de wmic ni de WSH y IotDB pueda iniciarse en el escenario de Windows 11 Sandbox descrito.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, shell
Área
devops, operating-systems
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.