IBM Support

JR58838: CDC FOR KAFKA DOES NOT INVOKE KAFKA PARTITIONER CLASS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CDC for Kafka does not invoke Kafka partitioner class when list
    of bootstrapped brokers is provided in kafkaproducer.properties.
    

Local fix

  • NA
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * NONE                                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Using Kafka producer to write into partitions with property  *
    * "partitioner.class=partitioner.class=RoundRobinPartitioner"  *
    * in kafkaproducer.properties file throws following error:     *
    *                                                              *
    * 141 2017-11-21 13:57:55.866 LS_AG_RA                         *
    * KafkaTargetBinaryWriter_BinaryWriter_0{97}                   *
    * com.datamirror.ts.util.TsExceptionHandler                    *
    * processUnhandledException() An uncaught exception has        *
    * occurred: ?org.apache.kafka.common.KafkaException Failed to  *
    * construct kafka producer| at                                 *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:335)| at                                       *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:188)| at                                       *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryProduc *
    * er.<init>(KafkaTargetBinaryProducer.java:44)| at             *
    * com.datamirror.ts.util.kafka.KafkaJavaApiUtils.createKafkaTa *
    * rgetBinaryProducer(KafkaJavaApiUtils.java:63)| at            *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryWriter *
    * Job.execute(KafkaTargetBinaryWriterJob.java:133)| at         *
    * com.datamirror.ts.engine.component.PipelineThread.runThread( *
    * PipelineThread.java:217)| at                                 *
    * com.datamirror.ts.util.TsThread.run(TsThread.java:130)|      *
    * Caused by: org.apache.kafka.common.KafkaException Could not  *
    * instantiate class kafka.producer.ByteArrayPartitioner Does   *
    * it have a public no-argument constructor?| at                *
    * org.apache.kafka.common.utils.Utils.newInstance(Utils.java:3 *
    * 18)| at                                                      *
    * org.apache.kafka.common.config.AbstractConfig.getConfiguredI *
    * nstance(AbstractConfig.java:201)| at                         *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:225)| at                                       *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:188)| at                                       *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryProduc *
    * er.<init>(KafkaTargetBinaryProducer.java:44)| at             *
    * com.datamirror.ts.util.kafka.KafkaJavaApiUtils.createKafkaTa *
    * rgetBinaryProducer(KafkaJavaApiUtils.java:63)| at            *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryWriter *
    * Job.execute(KafkaTargetBinaryWriterJob.java:133)| at         *
    * com.datamirror.ts.engine.component.PipelineThread.runThread( *
    * PipelineThread.java:217)| at                                 *
    * com.datamirror.ts.util.TsThread.run(TsThread.java:130)|Cause *
    * d by: java.lang.InstantiationException                       *
    * kafka.producer.ByteArrayPartitioner| at                      *
    * java.lang.J9VMInternals.newInstanceImpl(Native Method)| at   *
    * java.lang.Class.newInstance(Class.java:1899)| at             *
    * org.apache.kafka.common.utils.Utils.newInstance(Utils.java:3 *
    * 14)| at                                                      *
    * org.apache.kafka.common.config.AbstractConfig.getConfiguredI *
    * nstance(AbstractConfig.java:201)| at                         *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:225)| at                                       *
    * org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka *
    * Producer.java:188)| at                                       *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryProduc *
    * er.<init>(KafkaTargetBinaryProducer.java:44)| at             *
    * com.datamirror.ts.util.kafka.KafkaJavaApiUtils.createKafkaTa *
    * rgetBinaryProducer(KafkaJavaApiUtils.java:63)| at            *
    * com.datamirror.ts.target.apply.kafka.KafkaTargetBinaryWriter *
    * Job.execute(KafkaTargetBinaryWriterJob.java:133)| at         *
    * com.datamirror.ts.engine.component.PipelineThread.runThread( *
    * PipelineThread.java:217)| at                                 *
    * com.datamirror.ts.util.TsThread.run(TsThread.java:130)       *
    *                                                              *
    * Cause:                                                       *
    * Kafka Paritioner not enabled when using Broker List          *
    * (Boostrap servers) instead of Zookeeper.                     *
    *                                                              *
    * Workaround:                                                  *
    * Implement a partitioner in the KCOP.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to IIDR 11.4.0.0-5050 for all LUW engines or later   *
    ****************************************************************
    

Problem conclusion

  • Upgrading to IIDR 11.4.0.0-5050 for all LUW engines or later
    will fix the issue
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR58838

  • Reported component name

    IDR KAFJA

  • Reported component ID

    5725E30KA

  • Reported release

    B40

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-12-08

  • Closed date

    2019-02-07

  • Last modified date

    2019-02-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IDR KAFJA

  • Fixed component ID

    5725E30KA

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSTRGZ","label":"InfoSphere Data Replication"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
29 April 2020