-
Notifications
You must be signed in to change notification settings - Fork 9.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate experimental flags in robustness tests #19354
Comments
@siyuanfoundation I would like to pick this up if that's ok. Also quick clarification. I see few more experimental flags are to be removed in v1.37. -bash-5.2$ rg "TODO: Delete in v3.7" -A 3 | rg "Experimental" | rg "json" | awk '{print$2}'
ExperimentalTxnModeWriteWithSharedBuffer
ExperimentalEnableLeaseCheckpointPersist
ExperimentalCompactionBatchLimit
ExperimentalCompactionSleepInterval
ExperimentalWatchProgressNotifyInterval
ExperimentalWarningApplyDuration
ExperimentalBootstrapDefragThresholdMegabytes
ExperimentalWarningUnaryRequestDuration
ExperimentalMaxLearners
ExperimentalPeerSkipClientSanVerification
ExperimentalMemoryMlock
ExperimentalTxnModeWriteWithSharedBuffer
ExperimentalStopGRPCServiceOnDefrag Those things can also cause failure in robustness test IIUC? no? But I see you mentioned only subset of it. |
These flags are not currently used in robustness tests. If they are being used, then yes they would break. |
Covered in our triage meeting. @kavirajk, are you interested in working on this? If so, please comment |
/assign |
Fixes: etcd-io#19354 Robustness run different versions of binaries. This flag is experiemental in v3.4 and v3.5. But non-experiemental in v3.6+. This PR adds ability to run different binaries with it's canonical flag name. In robustness tests we pass these config via `embed.ServerConfig` struct and get converted into CLI flags before spawning the etcd server binary. This PR maps into right canonical flag based on versions. So even the experimental field is removed from the struct (in v3.7), the flags will be correct mapped. Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.com>
Fixes: etcd-io#19354 Robustness run different versions of binaries. This flag is experiemental in v3.4 and v3.5. But non-experiemental in v3.6+. This PR adds ability to run different binaries with it's canonical flag name. In robustness tests we pass these config via `embed.ServerConfig` struct and get converted into CLI flags before spawning the etcd server binary. This PR maps into right canonical flag based on versions. So even the experimental field is removed from the struct (in v3.7), the flags will be correct mapped. Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.com>
What would you like to be added?
With #19141 and #18023, we will be removing all experimental flags in 3.7.
The robustness tests are used by different binary versions, for the same parameter, we would need to use the experimental flag in 3.5 and 3.4, while using the non-experimental flag in 3.6.
The affected flags include:
Why is this needed?
The robustness test would fail when we delete the deprecated flags if we don't fix this.
The text was updated successfully, but these errors were encountered: