DBZ-4967 If sink is Kafka and offset storage is Kafka topic, then reuse connection properties from sink to offset storage also.#5782
Conversation
…se connection properties from sink to offset storage also. Example: `offset.storage.kafka.producer.bootstrap.servers` value will also be available under `bootstrap.servers`. This is because `KafkaOffsetBackingStore` is expecting these properties to be available at the top level.
|
@jpechane This is a naive implementation. The idea is that the |
|
Hi, this seems reasonable. Still I'm a bit reluctnat to base the if statement on the name in the config. I believe we need somethign safer probably reflected in method signature. |
The other way I can see it is to do something like this.consumer.class.getName.equals(KafkaChangeConsumer.class.getName()) // but it's not possible due to the consumer being in `debezium-server` package which is not a dependency I thinkOr, we can drop the if and have only this the only downside is that it will pollute the config object which get's send to the offset store and if I think about it, maybe it's ok? I don't see how else to do this check when both sink and offset storage is the same, apart from implementing inside Debezium the Kafka offset storage, just like it is with the Redis one. |
|
@jpechane can you please provide some feedback? I am ready to proceed with the implementation. Thanks |
|
@PlugaruT Hi, I am sorry. I am somehow overlook this one. So there is really no good solution. |
|
Closing and I'll work on it a bit later. |
https://issues.redhat.com/browse/DBZ-4967
Example:
offset.storage.kafka.producer.bootstrap.serversvalue will also be available underbootstrap.servers. This is becauseKafkaOffsetBackingStoreis expecting these properties to be available at the top level.