Created 07-07-2021 10:22 AM
ERROR 2021-05-26 15:43:41.000453 [main] - Unable to set property on handler 'kafkahandler' (oracle.goldengate.handler.kafka.KafkaHandler). Failed to set property: Topic
Name:="BUBB-MX_ALL_SOFT" (class: oracle.goldengate.handler.kafka.KafkaHandler).
oracle.goldengate.util.ConfigException: Failed to set property: TopicName:="BUBB-MX_ALL_SOFT" (class: oracle.goldengate.handler.kafka.KafkaHandler).
Created 07-07-2021 04:04 PM
Hi @TVR ,
Next time please provide more details on what you have tried, what versions of Kafka and Oracle you are using, and what you are trying to achieve. In the meantime, it looks like TopicName is not a supported parameter since some version of Oracle GoldenGate. The alternative parameter is topicMappingTemplate. Please see Oracle documentation here: https://docs.oracle.com/goldengate/bd123110/gg-bd/GADBD/using-kafka-handler.htm#GADBD458
Hope that helps,
Alex
Created 07-07-2021 04:12 PM
Hi,
Kafka Vesion:2.1
Oracle GoldenGate:12.3
Please let me know if you need any other inputs.
Thanks in advance
Created on 07-07-2021 04:17 PM - edited 07-07-2021 04:18 PM
You can find the architecture and real-time data flow in the link.We have implemented same data flow.
https://dzone.com/articles/creates-a-cdc-stream-from-oracle-database-to-kafka
But topic is worked fine before we migrated from linux to aix .
Br,
TVR
Created 07-07-2021 04:30 PM
@TVR , in the link you shared, Step 11/12 shows how to setup .props file. Note that the property gg.handler.kafkaconnect.topicMappingTemplate is used, instead of TopicName. Check your .props file and see what is set there.
Created 07-07-2021 05:28 PM
Hi,
Thanks for your reply.
Below is our props file.
eshop_kc.props
gg.handlerlist = kafkahandler
gg.handler.kafkahandler.type = kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=custom_kafka_producer.properties
gg.handler.kafkahandler.topicMappingTemplate=BUBB-MX_ALL_SOFT
gg.handler.kafkahandler.format =json
gg.handler.kafkahandler.format.insertOpKey = I
gg.handler.kafkahandler.format.updateOpKey = U
gg.handler.kafkahandler.format.deleteOpKey = D
gg.handler.kafkahandler.BlockingSend =false
gg.handler.kafkahandler.includeTokens=true
gg.handler.kafkahandler.mode =op
gg.schemareplaceregex=[$|#]
gg.schemareplacestring=CDATA[]
goldengate.userexit.timestamp=utc
goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE
gg.log=log4j
gg.log.level=DEBUG
gg.report.time=30sec
gg.classpath=dirprm/:/goldengate/kafka2/*:/goldengate/12.3.BD/ggjava/resources/lib/*
javawriter.bootoptions=-Xmx2048m -Xms1024m -Djava.class.path=/goldengate/12.3.BD/ggjava/ggjava.jar -Djava.security.auth.login.config=/goldengate/12.3.BD/dirprm/jaas.conf -Djava.security.krb5.conf=/goldengate/12.3.BD/dirprm/krb5.conf -Dcom.ibm.security.krb5.debug=true
gg.handler.kafkahandler.authType=kerberos
gg.handler.kafkahandler.kerberosKeytabFile=/goldengate/12.3.BD/dirprm/kafka.keytab
gg.handler.kafkahandler.kerberosPrincipal=kafka/prd-din-kaf-F9a-z1.corporate.google.com@MLK_PRD_YAHOO.COM
Created 07-08-2021 03:03 PM
Strange....
As a test can you replace your hard-coded toppic name with something like ${tableName} or just try a different hardcoded string and see if that gets you further along. Not saying that's a solution, but trying to eliminate causes.
Also, you mentioned you've implemented other flows already. Could it be that the topic name BUBB-MX_ALL_SOFT is already taken in your kafka cluster and thats why goldengate handler can't create the topic (though I would expect it to just write to the existing topic, instead of throwing an error).
I also found this on Oracle site that may have your answer. You'll need an Oracle account to look if there is a solution though. https://support.oracle.com/knowledge/Middleware/2512462_1.html
Could this also be an encoding or trailing character issue in the props file between Unix and AIX?
Overall this sounds like a GoldenGate error that may be better answered by Oracle community.
Regards,
Alex