Skip to content
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

Tunable to serialize schema change object in 7.0 format #4449

Merged
merged 1 commit into from
May 28, 2024

Conversation

dorinhogea
Copy link
Contributor

This will allow us to deploy the backward incompatible format in 8.0 to clusters with 7.0.
Details:
When 'sc_7format' is enabled, the wire and disk serialized schema change object is identical with 7.0 code. The 8.0 replicant sends a 7.0 format and a 8.0 master reads a 7.0 format, but doing the rest of the work with updated structure.
Meanwhile, 7.0 replicants and masters will be able to process the objects with the old code.
Idea is to enable this only on for 7.0 clusters; existing 8.0 clusters need to run with this disabled during the patch deployment.

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lint check:

@@ cdb2api/cdb2api.c @@
+ Please port the change to cdb2jdbc if necessary.
+ If you add any internal configuration state to this file, please update the reset_the_configuration() function as well to include it.
@@ db/db_tunables.h @@
+ Please update the tunable documentation (docs/pages/config/config_files.md) accordingly.
@@ berkdb/db/trigger_subscription.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ berkdb/env/env_method.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ db/reqlog.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please replace any pthread_xxx() function in your diff with corresponding Pthread_xxx() wrapper.

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding style check: Error. ⚠.
Smoke testing: Error ⚠.
Cbuild submission: Success ✓.
Regression testing: 495/528 tests failed ⚠.

The first 10 failing tests are:
rebuild_table_options
cldeadlock
sc_constraints
sc_constraints_logicalsc_generated
selectv_deadlock
sc_inserts_deletes_partial_index_off_generated
sc_inserts_deletes_logicalsc_generated
sc_inserts_deletes
truncatesc_ufid_on_generated
truncatesc

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lint check:

@@ cdb2api/cdb2api.c @@
+ Please port the change to cdb2jdbc if necessary.
+ If you add any internal configuration state to this file, please update the reset_the_configuration() function as well to include it.
@@ db/db_tunables.h @@
+ Please update the tunable documentation (docs/pages/config/config_files.md) accordingly.
@@ berkdb/db/trigger_subscription.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ berkdb/env/env_method.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ db/reqlog.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please replace any pthread_xxx() function in your diff with corresponding Pthread_xxx() wrapper.

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding style check: Error. ⚠.
Smoke testing: Success ✓.
Cbuild submission: Success ✓.
Regression testing: 3/529 tests failed ⚠.

The first 10 failing tests are:
truncatesc_offline_generated
sc_timepart_logicalsc_generated
truncatesc

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lint check:

@@ cdb2api/cdb2api.c @@
+ Please port the change to cdb2jdbc if necessary.
+ If you add any internal configuration state to this file, please update the reset_the_configuration() function as well to include it.
@@ db/db_tunables.h @@
+ Please update the tunable documentation (docs/pages/config/config_files.md) accordingly.
@@ berkdb/db/trigger_subscription.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ berkdb/env/env_method.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ db/reqlog.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please make sure that a mutex is unlocked before returning.
@@ plugins/reversesql/reversesql.c @@
+ Please replace any pthread_xxx() function in your diff with corresponding Pthread_xxx() wrapper.

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding style check: Error. ⚠.
Smoke testing: Success ✓.
Cbuild submission: Success ✓.
Regression testing: 4/529 tests failed ⚠.

The first 10 failing tests are:
truncatesc_offline_generated
sc_downgrade
sc_lotsoftables_logicalsc_generated
sc_lotsoftables

@dorinhogea
Copy link
Contributor Author

cdb2test May 28 13:38:50 2024 in-comdb2db save_sc_in_7format.R20240528.2

mponomar
mponomar previously approved these changes May 28, 2024
… race with server upgrade.

To run the testcase you need to setup a mixed cluster by hand and run the script like
./runit dbname oneofthenodes

Signed-off-by: Dorin Hogea <dhogea@bloomberg.net>
@dorinhogea
Copy link
Contributor Author

@mponomar thank you

@dorinhogea dorinhogea merged commit d20f086 into bloomberg:8.0 May 28, 2024
1 check passed
@dorinhogea dorinhogea deleted the save_sc_in_7format branch May 28, 2024 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants