IBM Support

JR65094: KAFKA SUBSCRIPTION USING KCOP FAILS WITH NPE AFTER UPGRADING TO RELEASE 11.4.0.4-5644

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Kafka release 11.4.0.4-5644 with added functionality of Schema
    Manipulation
    Language(SML) expects KCOP.properties file. If there is no
    KCOP.properties file,
    subscription fail with Null Pointer Exception.
    Different KCOP?s report different line numbers for NPE, based on
    creation of generic
    record.
    
    KcopJsonFormatIntegrated
    
    2022-08-18 10:04:58.218 HCSC Kafka Target Formatter:0{106}
    com.datamirror.ts.eventlog.EventLogger  logActualEvent()
    Event logged: ID=9815
    MSG=An error is thrown by the Kafka user exit KCOP. Please check
    the KCOP. Error:
    java.lang.NullPointerException<86>com.datamirror.ts.target.publi
    cation.userexit.UserEx
    itException java.lang.NullPointerException|    at
    com.datamirror.ts.classloader.kafka.IntegratedKcopProxy.createPr
    oducerRecords(Integrat
    edKcopProxy.java:113)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $NonRestOperationHandl
    er.handleOperation(AvroJsonTargetFormatterNode.java:1227)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .setKafkaImage(AvroJso
    nTargetFormatterNode.java:756)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .formatTargetOperation
    Kafka(AvroJsonTargetFormatterNode.java:711)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .execute(AvroJsonTarge
    tFormatterNode.java:369)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $AvroJsonTargetFormatt
    erPipelineJob.execute(AvroJsonTargetFormatterNode.java:161)|
    at
    com.datamirror.ts.engine.component.PipelineThread.runThread(Pipe
    lineThread.java:217)|
    at com.datamirror.ts.util.TsThread.run(TsThread.java:130)|Caused
    by:
    java.lang.NullPointerException |    at
    com.datamirror.ts.target.publication.userexit.sample.kafka.KcopJ
    sonFormatIntegrated.cr
    eateProducerRecords(KcopJsonFormatIntegrated.java:169)|    at
    com.datamirror.ts.classloader.kafka.KcopProxyInternal.createProd
    ucerRecords(KcopProxyI
    nternal.java:119)|    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)|
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)|
    at java.lang.reflect.Method.invoke(Method.java:508)|    at
    com.datamirror.ts.classloader.kafka.IntegratedKcopProxy.createPr
    oducerRecords(Integrat
    edKcopProxy.java:91)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $NonRestOperationHandl
    er.handleOperation(AvroJsonTargetFormatterNode.java:1227)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .setKafkaImage(AvroJso
    nTargetFormatterNode.java:756)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .formatTargetOperation
    Kafka(AvroJsonTargetFormatterNode.java:711)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .execute(AvroJsonTarge
    tFormatterNode.java:369)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $AvroJsonTargetFormatt
    erPipelineJob.execute(AvroJsonTargetFormatterNode.java:161)|
    at
    com.datamirror.ts.engine.component.PipelineThread.runThread(Pipe
    lineThread.java:217)|
    at com.datamirror.ts.util.TsThread.run(TsThread.java:130)
    
    KcopJsonSingleRowAuditFormatIntegrated
    
    2022-08-18 11:06:18.729 HCSC Kafka Target Formatter:0{281}
    com.datamirror.ts.eventlog.EventLogger  logActualEvent()
    Event logged: ID=9815
    MSG=An error is thrown by the Kafka user exit KCOP. Please check
    the KCOP. Error:
    java.lang.NullPointerException<86>com.datamirror.ts.target.publi
    cation.userexit.UserEx
    itException java.lang.NullPointerException|    at
    com.datamirror.ts.classloader.kafka.IntegratedKcopProxy.createPr
    oducerRecords(Integrat
    edKcopProxy.java:113)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $NonRestOperationHandl
    er.handleOperation(AvroJsonTargetFormatterNode.java:1227)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .setKafkaImage(AvroJso
    nTargetFormatterNode.java:756)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .formatTargetOperation
    Kafka(AvroJsonTargetFormatterNode.java:711)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .execute(AvroJsonTarge
    tFormatterNode.java:369)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $AvroJsonTargetFormatt
    erPipelineJob.execute(AvroJsonTargetFormatterNode.java:161)|
    at
    com.datamirror.ts.engine.component.PipelineThread.runThread(Pipe
    lineThread.java:217)|
    at com.datamirror.ts.util.TsThread.run(TsThread.java:130)|Caused
    by:
    java.lang.NullPointerException |    at
    com.datamirror.ts.target.publication.userexit.sample.kafka.KcopJ
    sonSingleRowAuditForma
    tIntegrated.createProducerRecords(KcopJsonSingleRowAuditFormatIn
    tegrated.java:262)|
    at
    com.datamirror.ts.classloader.kafka.KcopProxyInternal.createProd
    ucerRecords(KcopProxyI
    nternal.java:119)|    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)|
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)|
    at java.lang.reflect.Method.invoke(Method.java:508)|    at
    com.datamirror.ts.classloader.kafka.IntegratedKcopProxy.createPr
    oducerRecords(Integrat
    edKcopProxy.java:91)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $NonRestOperationHandl
    er.handleOperation(AvroJsonTargetFormatterNode.java:1227)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .setKafkaImage(AvroJso
    nTargetFormatterNode.java:756)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .formatTargetOperation
    Kafka(AvroJsonTargetFormatterNode.java:711)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    .execute(AvroJsonTarge
    tFormatterNode.java:369)|    at
    com.datamirror.ts.target.apply.kafka.AvroJsonTargetFormatterNode
    $AvroJsonTargetFormatt
    erPipelineJob.execute(AvroJsonTargetFormatterNode.java:161)|
    at
    com.datamirror.ts.engine.component.PipelineThread.runThread(Pipe
    lineThread.java:217)|
    at com.datamirror.ts.util.TsThread.run(TsThread.java:130)
    

Local fix

  • Create a blank KCOP.properties file and add it as parameter file
     to KCOP
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * This issue might affect you if you are using IDR             *
    * 11.4.0.4-5644 or older for Kafka                             *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Mirroring ends on error                                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to IDR 11.4.0.4-5652 or newer for Kafka              *
    ****************************************************************
    

Problem conclusion

  • Upgrading to IDR 11.4.0.4-5652 or newer for Kafka resolves the
    issue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR65094

  • Reported component name

    IDR KAFKA

  • Reported component ID

    5725E30KA

  • Reported release

    B40

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-08-18

  • Closed date

    2022-09-22

  • Last modified date

    2022-09-22

  • 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 KAFKA

  • 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"}],"Version":"B40","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
22 September 2022