Ho1ySh1tC0d1ng commented on PR #4533:
URL: https://github.com/apache/flink-cdc/pull/4533#issuecomment-6259241608

   Hi @suntectec, thanks for working on the DB2 pipeline connector! I’m the 
author of #4454, which explored the same feature. After comparing the 
implementations and tracing the shared DB2 source code, I noticed a few issues 
that may be worth addressing before merging:
   
   1. **DECFLOAT support appears incomplete.**  
      `Db2TypeUtils` exposes DECFLOAT columns in the pipeline schema, but the 
default Debezium 1.9.8 DB2 value converter does not handle DECFLOAT reported as 
JDBC `Types.OTHER`. Debezium therefore ignores these columns when building its 
record schema, creating a mismatch with the emitted `CreateTableEvent`. Also, 
mapping `DECFLOAT(34)` to `DECIMAL(34, 0)` cannot preserve fractional values. 
Could you check the complete schema/value conversion path and add tests with 
actual DECFLOAT data?
   
   2. **Runtime schema-change discovery is still disabled in the underlying 
source.**  
      Although `schema-change.enabled` defaults to `true` and the deserializer 
handles ALTER events, `GET_LIST_OF_NEW_CDC_ENABLED_TABLES` still contains `AND 
1=0`. This prevents that discovery path from refreshing capture tables and 
scheduling schema migration after a schema change and recapture. It would be 
helpful to either complete and verify this path or clearly document the 
supported limitations.
   
   3. **`jdbc.properties.*` is accepted but does not appear to reach the 
connection configuration.**  
      The factory allows this prefix and the documentation advertises it, but 
configuration construction only extracts `debezium.*` properties. Could you add 
the JDBC-property mapping and verify the resulting connection parameters?
   
   4. **The shaded artifact includes the DB2 JDBC driver.**  
      The shade whitelist explicitly includes `com.ibm.db2.jcc:db2jcc`, while 
the existing DB2 connector documentation requires users to provide the driver 
separately. Could you check the packaging boundary and document the 
corresponding deployment steps?
   
   5. **The UPDATE capture prerequisites need to be explicit.**  
      The underlying query handles D/I records and paired updates, but not a 
direct `IBMSNAP_OPERATION='U'`. The test setup uses `CHG_UPD_TO_DEL_INS=Y`, so 
it does not exercise this case. Supporting direct U records, or documenting and 
validating the required capture setting, would help avoid failures in other DB2 
setups.
   
   Some of these are inherited limitations of the shared DB2 source rather than 
regressions introduced by this PR. However, they affect the capabilities 
exposed by the new pipeline connector.
   
   Tests covering real DECFLOAT values, ALTER/recapture followed by DML, and 
checkpoint/restart across schema changes would be particularly valuable. Thanks 
again for the contribution—I hope these observations help strengthen the 
implementation!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to