Support Questions

Find answers, ask questions, and share your expertise

Unable to set property on handler 'kafkahandler'

avatar
Explorer

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).

6 REPLIES 6

avatar
Master Collaborator

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

avatar
Explorer

Hi,

 

Kafka Vesion:2.1

Oracle GoldenGate:12.3

 

Please let me know if you need any other inputs.

 

Thanks in advance

 

 

 

 

avatar
Explorer

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

avatar
Master Collaborator

@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. 

avatar
Explorer

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

avatar
Master Collaborator

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