Closed sfc-gh-bzabek closed 1 week ago
Kafka Connector and snowflake-jdbc use the same
2.17.2
version of Jackson so it shouldn't be a problem to replace it.Could you ask JDBC team what is the reason for using shaded library in the public interface? Maybe they can provide more convenient api for us?
Yes I will ask them.
Kafka Connector and snowflake-jdbc use the same
2.17.2
version of Jackson so it shouldn't be a problem to replace it. Could you ask JDBC team what is the reason for using shaded library in the public interface? Maybe they can provide more convenient api for us?Yes I will ask them.
I tried to use snowflake-jdbc-thin however it failed becouse ingest-sdk is still bouded with jdbc-driver internals.
Overview
NO-SNOW
I need to have standard
com.fasterxml
to be compatible with IcebergUtils when parsing a KafkaRecord into Iceberg Type. Entire connector usesnet.snowflake.client.jdbc.internal.fasterxml
.It's because snowflake JDBC driver uses "shading" in its pom.xml. Even though the driver uses standard
com.fasterxml
after compiling it into a jar the package isnet.snowflake.client.jdbc.internal.fasterxml
. JDBC driver exposed telemetry method that requiresnet.snowflake.client.jdbc.internal.fasterxml
as an argument -TelemetryUtil.buildJobData(ObjectNode obj)
. As a result the whole connector is bounded to the type inherited from the driver.There are to approaches two solve it:
com.fasterxml
->net.snowflake.client.jdbc.internal.fasterxml
inSnowflakeTelemetryService.send
method which I made in a first commit (see: link)net.snowflake.client.jdbc.internal.fasterxml
as it is only in telemetry related services (second commit)Or I can do hacks before parsing a json to Iceberg.
Pre-review checklist
snowflake.ingestion.method
.Yes
- Added end to end and Unit Tests.No
- Suggest why it is not param protected