Skip to content

Conversation

CodeLieutenant
Copy link
Contributor

@CodeLieutenant CodeLieutenant commented Sep 23, 2025

As we are considering gemini stable with 2.x release, it's time to backport it to releases.

Testing

PR pre-checks (self review)

  • I added the relevant backport labels
  • I didn't leave commented-out/debugging code

Reminders

  • Add New configuration option and document them (in sdcm/sct_config.py)
  • Add unit tests to cover my changes (under unit-test/ folder)
  • Update the Readme/doc folder relevant to this change (if needed)

These backports are cherry-picked from master and they have to be done manually

CodeLieutenant and others added 5 commits September 24, 2025 00:46
- Enable Statement Logger on all workloads
   statements are logged now in Oracle Cluster,
   this removes the problem, performance bottlenck of logging to file
   and gives us better tracability

- Removing --fail-fast flag, this flag still exists in gemini but is not
  used for anything, every workload should migrate to
  --max-errors-to-store flags, which gives better control if and how
  gemini will fail

Signed-off-by: Dusan Malusev <[email protected]>
Since the SCT sets the default `gemini_seed` to zero in default
configration, the check for `if seed is None:` is always false.
And zero seed is always applied. Removing `gemini_seed: 0` from default
yaml configuration, makes it less confution and allows to deliberately
test gemini stability. Supplying the seed is still allows in
Jenkins/Argus in the parameters for full repoducibility of the
statements and schema

Signed-off-by: Dusan Malusev <[email protected]>
In 2.0 gemini, more thing were added to `gemini_cql_requests` metrics,
mainly the `method` which contained what statement type is executed.
This broke the upgrade tests, as in upgrade test the first value
returned from prometheus is used to check `> 0`, but the prometheus
ordered the metric labels in alphabetical order, making the metric
currently checked to be *almost* always zero, thus failing the check and
killing gemini thinking it's not running (but it actually is).

Now fetching the `InsertStatement` label makes sure that this check will
succeed (maybe not on the first try as it is not yet inserting, but after
a couple of try will succeed).

Signed-off-by: Dusan Malusev <[email protected]>
@CodeLieutenant CodeLieutenant self-assigned this Sep 23, 2025
@CodeLieutenant CodeLieutenant added backport/none Backport is not required test-integration Enable running the integration tests suite labels Sep 23, 2025
@soyacz
Copy link
Contributor

soyacz commented Sep 24, 2025

we'll be having some discrepancy between master and these backports due to:
#11540
and later: #11551

see 11540 was not backported and it also removed some --io-worker-pool from defaults.
We need to bring it back later so all is aligned

@CodeLieutenant
Copy link
Contributor Author

CodeLieutenant commented Sep 24, 2025

we'll be having some discrepancy between master and these backports due to: #11540 and later: #11551

see 11540 was not backported and it also removed some --io-worker-pool from defaults. We need to bring it back later so all is aligned

I dont see any discrepancies

Why should we even bring #11540 cause it's just a downgrade, and we are moving forward, this one will never introduce any problems inside the source tree

@soyacz
Copy link
Contributor

soyacz commented Oct 15, 2025

@fruch I propose to close this one as it requires #11186 which does not cleanly backport.
Doing this will require even more effort which I don't consider worth doing (we never tested it with gemini)

Because base class (defaults) were not in the context,
`filter_subclasses` method was not considering them when evaluating.

Fixed by adding base class attrs to `evaluator.context`
This is alternative approach to
scylladb#11186
which could not be backported due to missing other parts.
@soyacz
Copy link
Contributor

soyacz commented Oct 21, 2025

@CodeLieutenant I've implemented alternative fix (added commit) to nemesis list resolution. Retrying job.
https://jenkins.scylladb.com/job/scylla-staging/job/dusan/job/gemini/job/gemini-1tb-10h-test/44/

@soyacz
Copy link
Contributor

soyacz commented Oct 21, 2025

@CodeLieutenant can you tell what's wrong with upgrade test? it was 'yellow'

@CodeLieutenant CodeLieutenant removed the test-integration Enable running the integration tests suite label Oct 23, 2025
@CodeLieutenant CodeLieutenant marked this pull request as ready for review October 23, 2025 07:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/none Backport is not required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants