{"record":{"id":"72b033e6967d2471","repo":"apache/seatunnel","slug":"the-following-stream-params-value-is-invalid","errorCode":null,"errorMessage":"The following STREAM_PARAMS value is invalid: {}","messagePattern":"The following STREAM_PARAMS value is invalid: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-cdc/connector-cdc-opengauss/src/main/java/io/debezium/connector/postgresql/connection/PostgresReplicationConnection.java","lineNumber":869,"sourceCode":"        }\n\n        @Override\n        public ReplicationConnectionBuilder dropSlotOnClose(final boolean dropSlotOnClose) {\n            this.dropSlotOnClose = dropSlotOnClose;\n            return this;\n        }\n\n        @Override\n        public ReplicationConnectionBuilder streamParams(final String slotStreamParams) {\n            if (slotStreamParams != null && !slotStreamParams.isEmpty()) {\n                this.slotStreamParams = new Properties();\n                String[] paramsWithValues = slotStreamParams.split(\";\");\n                for (String paramsWithValue : paramsWithValues) {\n                    String[] paramAndValue = paramsWithValue.split(\"=\");\n                    if (paramAndValue.length == 2) {\n                        this.slotStreamParams.setProperty(paramAndValue[0], paramAndValue[1]);\n                    } else {\n                        LOGGER.warn(\n                                \"The following STREAM_PARAMS value is invalid: {}\",\n                                paramsWithValue);\n                    }\n                }\n            }\n            return this;\n        }\n\n        @Override\n        public ReplicationConnectionBuilder statusUpdateInterval(\n                final Duration statusUpdateInterval) {\n            this.statusUpdateIntervalVal = statusUpdateInterval;\n            return this;\n        }\n\n        @Override\n        public Builder doSnapshot(boolean doSnapshot) {\n            this.doSnapshot = doSnapshot;","sourceCodeStart":851,"sourceCodeEnd":887,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-cdc/connector-cdc-opengauss/src/main/java/io/debezium/connector/postgresql/connection/PostgresReplicationConnection.java#L851-L887","documentation":"ReplicationConnectionBuilder parses the slot.stream.params string (semicolon-separated key=value pairs). Any token that does not contain exactly one '=' is skipped and logged as an invalid STREAM_PARAMS value; it does not abort construction.","triggerScenarios":"Building a PostgresReplicationConnection with slotStreamParams like 'k1=v1;k2' or 'k1=v1;;k2=v2' — the 'k2' (or empty) segment fails split('=') length==2 and triggers the warning.","commonSituations":"Copy-pasted Debezium slot.stream.params config with trailing semicolons; URL-encoded or quoted params pasted verbatim; users separating pairs with commas instead of '=' inside a segment.","solutions":["Fix the slot.stream.params value so every segment is exactly key=value, separated by semicolons: 'k1=v1;k2=v2'.","Remove trailing semicolons and empty segments.","Quote/escape values containing '=' by checking the parser (only two parts are accepted, so values cannot contain '=').","Enable connector debug logs to confirm which segments were accepted."],"exampleFix":"// before\n{\"slot.stream.params\": \"include-types=true;format-version=2;\"}\n// after\n{\"slot.stream.params\": \"include-types=true;format-version=2\"} // no trailing ';', no empty segment","handlingStrategy":"validation","validationCode":"boolean ok = params == null || Arrays.stream(params.split(\";\")).filter(s -> !s.isEmpty()).allMatch(s -> s.split(\"=\").length == 2);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Every segment must be key=value; separate pairs with ';'.","Strip trailing semicolons and whitespace.","Avoid '=' inside values; encode if needed."],"tags":["cdc","postgresql","config-parsing","stream-params"],"backgroundTag":"invalid-argument-format","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}