Support Questions
Find answers, ask questions, and share your expertise

Unable to set property on handler 'kafkahandler'

New Contributor

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

Super 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

New Contributor

Hi,

 

Kafka Vesion:2.1

Oracle GoldenGate:12.3

 

Please let me know if you need any other inputs.

 

Thanks in advance

 

 

 

 

New Contributor

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

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

New Contributor

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

Super 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

Take a Tour of the Community
Don't have an account?
Your experience may be limited. Sign in to explore more.