PBS-8: Introduce <replication_source.authentication> section into the main configuration file - #188
Merged
Merged
Conversation
| # --let $binsrv_encryption_cipher = AES-256-CTR (optional) | ||
| # --let $binsrv_encryption_kek_id = alpha (optional) | ||
| # --let $binsrv_keyring_data_file_path = $MYSQL_TMP_DIR/keyring_data.json (optional) | ||
| # --source set_up_binsrv_environment.inc |
Collaborator
There was a problem hiding this comment.
Please, add $binsrv_auth_user and $binsrv_auth_password with default values
if ($binsrv_auth_user == '"")
{
--let $binsrv_auth_user = rpl
}
if ($binsrv_auth_password == "")
{
--let $binsrv_auth_password = password
}
This way we will be able to reference $binsrv_auth_user / $binsrv_auth_password from the MTR test cases instead of using hardcoded values.
| util::exception_location().raise<std::invalid_argument>( | ||
| "error validating replication source authentication config: " | ||
| "plugin must be \"caching_sha2_password\""); | ||
| } |
Collaborator
There was a problem hiding this comment.
password must not be empty
| #### \<replication_source.authentication\> section | ||
| Credentials the built-in listener accepts from downstream replicas. | ||
| - `<replication_source.authentication.user>` - the MySQL account name a downstream replica must present to log in to the listener (must not be empty). | ||
| - `<replication_source.authentication.password>` - the password associated with that account. May be an empty string, matching the MySQL semantics of "no password". |
Collaborator
There was a problem hiding this comment.
Update the "may be empty" part.
Introduce a new nested "authentication" block under "replication_source" that carries the credentials the built-in PBS listener accepts from downstream replicas. The network_service constructor is collapsed from four positional parameters (port, read_timeout, write_timeout, username, password) into a single parameter. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
generate_binsrv_config.inc now writes the new nested "authentication"
block inside the "replication_source" section it emits for every
pull-mode MTR test. The values reuse the credentials the tests
already spoke to the listener with:
"authentication": {
"user": "rpl",
"password": "password",
"plugin": "caching_sha2_password"
}
That matches what auth_method_switch.test passes to its mysql client
(--user=rpl --password=password) and what pull_operation used to
hard-code, so no per-test changes are needed - only the shared
include grows a block.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
kamil-holubicki
force-pushed
the
PBS-8
branch
from
September 22, 2026 14:13
f4cfcbb to
de642ac
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.