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

New remsql version (standalone queries only) that runs over cdb2api. #4631

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dorinhogea
Copy link
Contributor

The latest version of remsql, available for standalone queries, runs the latter over cdb2api instead of the remsql custom protocol.
There are a few additions to cdb2api, which are done using SET instructions (to minimize impact);

  • passing protocol version (this lets live cross-cluster connections between different fdb versions)
  • passing table version (required by distributed schema change versioning)
  • passing cursor id (for tracking)
  • passing schema morphing (specific for remote sql, simulates covering indexes for remote schemas)
    Three new tunables:
  • fdb_remsql_cdb2api: switches standalone queries to cdb2api protocol
  • fdb_default_version: testing only, configure a node to speak a specific remsql version by default (a remote node can downgrade this to a lower version, for backward compatibility)
  • fdb_version_emulate_precdbapi: testing only, configure a remote remsql node to fail to parse new SET options and behave like 8.0

NOTE: this relies on the cdb2api ability to pass rows in sqlite format, which was developed initially to support fdb push (forwarding full sql to remote nodes).

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: Error ⚠.
Regression testing: 10/574 tests failed ⚠.

The first 10 failing tests are:
sc_inserts_logicalsc_generated [setup failure]
comdb2sys_queueodh_generated [setup failure]
fdb_push [setup failure]
biginplace [setup failure]
sc_resume_logicalsc_generated
sc_resume
tunables
auth_dba
truncatesc_ufid_on_generated
auth

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: Error ⚠.
Regression testing: 8/574 tests failed ⚠.

The first 10 failing tests are:
writes_remsql [setup failure]
misstable_remsql [setup failure]
basic_sslnoproto_generated [setup failure]
sc_resume
timepart_trunc_serialsc_generated
timepart_trunc
op_makerecord
dbcreate

@dorinhogea
Copy link
Contributor Author

/plugin-branch remsqlcdb2api

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: 6/575 tests failed ⚠.

The first 10 failing tests are:
timepart_retention1 [setup failure]
verify_error_partial_index_off_generated [setup failure]
basic_rowlocks_generated [setup failure]
basic_nogenid48_generated [setup failure]
analyze_exit_immediately
truncatesc_ufid_on_generated

@dorinhogea
Copy link
Contributor Author

db2test Aug 26 14:02:30 2024 in-comdb2db remsqlcdb2api.R20240826.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants