Open
Conversation
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.
Summary
Main changes
1. Integration test CI was reworked into a dedicated workflow
.github/workflows/integration-tests.yml.discoverjob that reads the enabled test matrix directly fromdt-tests/scripts/run-integration-tests.sh --list-suites-json, so CI suite selection stays in sync with the script.cargo nextesttest execution2. Added a unified integration test runner for local and CI usage
dt-tests/scripts/run-integration-tests.shas the main integration orchestration entrypoint.nextestexecution--keep-going,--down-each-suite,--logs-on-failure,--show-test-output--test-threads 1, which helps avoid cross-test interference in integration suites.3. Added dedicated integration docker environment
dt-tests/docker-compose.integration.ymlfor the integration matrix.dt-tests/docker/mongo-init/start-mongo-rs.shdt-tests/docker/mongo-init/20-create-mongo-dst-user.jsdt-tests/docker/mongo-init/mongo-keyfiledt-tests/docker/postgres-init/10-create-euc-cn-dbs.sqlFollow-up fixes after the initial CI commit
4. Checker / partitioner / merger target resolution was fixed
TaskUtilnow supports creating an RDB meta manager from checker target config, not only the main sinker config.ParallelizerUtilnow fails explicitly when it cannot build the RDB meta manager for merger/partitioner, instead ofunwrap()-based failure paths.5. PostgreSQL replication URL parsing was fixed
pg_cdc_clientnow strips wrapped query params likeoptions[...]when building replication connection config.options[statement_timeout]=....6. Raw string / binary value handling was corrected across Avro, Lua, Redis, and row conversion
ColValue::to_utf8_string()andto_utf8_or_hex_string().RowData::convert_raw_string()now prefers UTF-8 text and falls back to hex for non-UTF8 bytes.AvroConverternow serializes UTF-8RawStringas string, and binaryRawStringas bytes.LuaProcessornow preserves non-editable binary-like values safely:Blobremains preserved instead of being accidentally overwrittenRawStringis exposed as Lua string only if valid UTF-8; otherwise preserved as raw bytesRedisSinkerand Redis test runner now use consistent RawString formatting, avoiding mismatches between expected DB values and actual Redis content.7. PG SQL literal generation was fixed for special numeric values
RdbQueryBuildernow formats PostgreSQL float/double/decimal literals correctly for:NaNInfinity-Infinity8. Struct/check pipeline behavior was corrected
BasePipelinenow runs struct checking aftersink_struct(...).Rawsink path fromBasePipelinesink-method selection.RdbSqlTestRunnernow clears and reads SQL logs from both possible checker/sql log locations, fixing missing SQL assertion artifacts in tests.fix #487