Open ofelix03 opened 2 years ago
@ofelix03, I am not familiar with the Apicurio registry. It looks like another Apicurio user encountered a similar problem: https://github.com/Apicurio/apicurio-registry/issues/2151, where the Apicurio logs show errant requests to /apis/ccompat/v6/schemas/ids/0
.
Are you able to reproduce this issue against Confluent Schema Registry?
@colinhicks I appreciate your response. I figured it out. Adding "value.converter.apicurio.registry.as-confluent": true
to the Debezium connector configuration address this issue. The schema lookup is now performed with the global-id specified assigned to the registered schema in Apicurio
Whiles this is a step forward, the lookup request to the endpoint /apis/ccompat/v6/schemas/ids/<id>
still returns a 404. The reason for this appears to be that the Apicurio registry expects the value of the id
to be the registered Content-Id instead of the Global-Id
I'm not certain what I could be missing.
The following I can confirm is working as expected
stss.market.info.public.ice_symbols
Problem:
Inside the KSQLDB server, I have successfully created a table from the topic
stss.market.info.public.ice_symbols
Here is the detail of the table created
The problem I'm facing is when performing a push query against this table, it returns no data. Deserialization of the data fails due to the unsuccessful lookup of the AVRO schema in the Apicurio Registry.
Looking at the Apicurio Registry logs reveals that KSQLDB calls to Apicrio Registry to fetch the deserialization schema using a schema ID of 0 instead of 5, which is the ID of the schema I have registered in the registry.
KSQLDB server logs also confirm this 404 HTTP response in the Apicurio logs as shown in the image below
Expectation:
I expect, KSQLDB queries to the table to perform a schema lookup with an ID of 5 and not 0. I'm guessing I'm probably missing some configuration.
Here is the image of the schema registered in the Apicruio Registry
Here is also my source connector configuration. It has the appropriate schema lookup strategy configured. Although, I don't believe KSQLDB requires this when deserialization its table data. This configuration should only be relevant to the capturing of the table data, and its validation and storage in the topic
stss.market.info.public.ice_symbols
.Thanks in advance for any assistance.