Closed AbhishekGedela closed 4 months ago
Could it be because Named("icebergevents") and the properties should be **debezium.sink.icebergevents.*** ?
It seems to be working once I interchanged Named("iceberg") in IcebergEventsChangeConsumer and IcebergChangeConsumer.
this seems like Hive catalog related issue.
could you add hive-exec
library to he libs and try ? https://mvnrepository.com/artifact/org.apache.hive/hive-exec
Thanks for responding!
I will try that and get back with the findings.
Is the hive-exec
library dependency explicitly needed for icebergevents
sink type? Once I renamed icebegevents
to iceberg
it seems to be working fine.
we do have 2 consumers in this project icebegevents
and iceberg
. icebegevents
appends all the events to a partitioned table. only difference is icebegevents
is using hourly partitioned table by default. other than that i dont see any difference which could cause the error.
it looks like hive related. when it tries to read history table.
could you instead try to use file as a history table
debezium.source.schema.history.internal=io.debezium.storage.file.history.FileSchemaHistory
debezium.source.schema.history.internal.iceberg.table-name=/path/to/storage/schemahistory.dat
Is the hive-exec library dependency explicitly needed for icebergevents sink type? Once I renamed icebegevents to iceberg it seems to be working fine.
no its not needed explicitly for icebergevents
. it should be same for both consumers. including
Could it be because Named("icebergevents") and the properties should be debezium.sink.icebergevents.* ?
No because property names are hard coded and independent of consumer name. will check this offset storage might be doing it for the parametters
@AbhishekGedela its related java version, could you please make sure you are running it with java 17 not above.
Edit: with java 21 backed is not receiving any config. but with java 17 all the configuration is recognized(they are set) correctly in the application
Edit: please ignore, still investigating...
Could it be because Named("icebergevents") and the properties should be debezium.sink.icebergevents.* ?
No because property names are hard coded and independent of consumer name. will check this offset storage might be doing it for the parametters
looks like it. looks like when debezium passing down the config to SchemaHistory
class somehow its filtering configs out using consumer name.
Alright, Thanks a lot for confirming! I will raise a PR to add this in the Docs. Please approve that.
Thank you @AbhishekGedela for reporting this. now it fixed with the latest release, please feel free to open new issue if it still not working
Thanks for fixing this in such short time!
Hi @ismailsimsek
I am facing the below error when I try to run the server in debezium.sink.type icebergevents.
I tried debugging by adding print statements in IcebergSchemaHistory class. Compared it with debezium.sink.type iceberg. I can see that **schema.history.internal.iceberg.*** are not being set in icebergevents mode.
I tried it in both master and v0.4.0.Final versions.
Can you please help me with this?
Posting my application.properties file below: