Nikolay, I fully support the idea as well but wonder if the "-X" is the best name. Is this a common practice to use the "-X"? Should we consider a longer name such as "-systemProps"?
- Denis On Fri, Aug 21, 2020 at 7:57 AM Николай Ижиков <nizhi...@apache.org> wrote: > Yes, of course. > I think we have to make IgniteSystemProperties enum and traverse it in > runtime. > > Отправлено с iPhone > > > 21 авг. 2020 г., в 17:54, Zhenya Stanilovsky <arzamas...@mail.ru.invalid> > написал(а): > > > > > > > > Good catch, as for me, do you plan some autogeneration here? > > > >> > >>> > >>>> Hello, Igniters. > >>>> > >>>> For now, we have dozens of the `IgniteSystemProperties` [1] that can > tweak Ignite behaviour in the very wide limits. > >>>> But, the issue, for the administrator is the following > >>>> > >>>> - Documentation about existing properties can be outdated. > >>>> - The only place of the truth is the source code. > >>>> - It’s hard to understand what flag is supported in what version. > >>>> > >>>> I propose to implement output of all available properties with it’s > descriptions in the `ignite.sh -X` command. > >>>> > >>>> Example of the JVM output: > >>>> > >>>> ``` > >>>> [16:25:49]~/src/ignite:[master]$ java -X > >>>> > >>>> -Xbatch disable background compilation > >>>> -Xbootclasspath/a:<directories and zip/jar files separated by :> > >>>> append to end of bootstrap class path > >>>> -Xcheck:jni perform additional checks for JNI functions > >>>> -Xcomp forces compilation of methods on first invocation > >>>> -Xdebug provided for backward compatibility > >>>> -Xdiag show additional diagnostic messages > >>>> -Xfuture enable strictest checks, anticipating future default > >>>> -Xint interpreted mode execution only > >>>> -Xinternalversion > >>>> displays more detailed JVM version information > than the > >>>> > >>>> [16:28:45]~/src/ignite:[master]$ java -XX:+UnlockDiagnosticVMOptions > -XX:+PrintFlagsFinal -version > >>>> > >>>> [Global flags] > >>>> ccstrlist AOTLibrary = {product} {default} > >>>> bool AbortVMOnCompilationFailure = false {diagnostic} {default} > >>>> ccstr AbortVMOnException = {diagnostic} {default} > >>>> ccstr AbortVMOnExceptionMessage = {diagnostic} {default} > >>>> bool AbortVMOnSafepointTimeout = false {diagnostic} {default} > >>>> bool AbortVMOnVMOperationTimeout = false {diagnostic} {default} > >>>> intx AbortVMOnVMOperationTimeoutDelay = 1000 {diagnostic} > {default} > >>>> int ActiveProcessorCount = -1 {product} {default} > >>>> > >>>> ``` > >>>> > >>>> Example of the Ignite output: > >>>> > >>>> ```` > >>>>> ignite.sh -X IGNITE_CONFIG_URL - System property to hold optional > configuration URL. > >>>> IGNITE_SSH_HOST - System property to hold SSH host for visor-started > nodes. > >>>> IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT - [DEPRECATED] System > property to disable buffered communication if node sends less messages > count than specified by this property. Default value is {@code 512}. > >>>> > >>>> … > >>>> > >>>> ``` > >>>> > >>>> WDYT? > >>>> > >>>> [1] > https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java#L56 > >>> > >>> > >>> > >>> >