[ 
https://issues.apache.org/jira/browse/IGNITE-28932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Davydov updated IGNITE-28932:
------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> [ducktests] Make garbage collector selectable via globals
> ---------------------------------------------------------
>
>                 Key: IGNITE-28932
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28932
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Maksim Davydov
>            Assignee: Maksim Davydov
>            Priority: Minor
>              Labels: ise
>
> The garbage collector used by ducktest nodes is hardcoded to G1 in 
> _jvm_utils.create_jvm_settings()_, whose _gc_settings_ parameter no caller 
> ever passes - so comparing Ignite's behaviour under a different collector 
> currently means editing that constant. 
> Passing the collector through jvm_opts does not work either: 
> _merge_jvm_settings() _overwrites per option, keyed on the substring before 
> the first =, so '-XX:+UseG1GC' and '-XX:+UseZGC' are different keys and both 
> survive the merge, producing a JVM that aborts at startup with 'Multiple 
> garbage collectors selected'. GC selection is really mutually-exclusive group 
> replacement - the collector and its tuning flags travel together - so it has 
> to be chosen before the default option list is assembled rather than patched 
> afterwards.
> The proposal is a gc global backed by a named profile registry (G1, PARALLEL, 
> SERIAL, ZGC, SHENANDOAH), selectable independently for the server and client 
> roles, with G1 remaining the default and conflicting selectors raising in 
> Python instead of failing later in a remote JVM. This also fixes two latent 
> issues it exposes: -XX:+UseStringDeduplication currently sits in the generic 
> parameter block although it is G1-only through JDK 17, and CDC copies a 
> server cluster's fully resolved option list into the client-role 
> KafkaToIgniteService, which would put two collectors on one command line.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to