Replication to Cassandra: Non-PKEY update interpreted as "primary key change" ERROR [main] (CassandraTableManager.java:687)

(Doc ID 2349450.1)

Last updated on FEBRUARY 12, 2018

Applies to:

Oracle GoldenGate - Version 12.2.0.1.0 and later
Information in this document applies to any platform.

Symptoms

Goldengate replication from Oracle to Cassandra DB while updating a non primary key column in oracle table, was failing in Cassandra DB with below error.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR [main] (CassandraTableManager.java:687) - The update operation for table [TEST.XXXXXXXX] at position [00000000180000002188] changes a primary key in the corresponding Cassandra table.
ERROR [main] (CassandraTableManager.java:690) - Primary keys are immutable for Cassandra rows.
ERROR [main] (CassandraTableManager.java:691) - Primary key updates must be treated as a delete-insert operation in Cassandra and requires the complete before and after image data (no-compre
ssed) in the source trail file.
 WARN [main] (DsEventManager.java:259) - Error sending event to handler: status=ABEND, event=Add operation, handler=cassandra
TRACE [main] (DsEventManager.java:280) - Event distributed to 1 handlers, status=ABEND
TRACE [main] (AbstractDataSource.java:853) - AbstractDataSource: getCurrentTx: activeTxns size is: 1
TRACE [main] (AbstractDataSource.java:780) - prune operation buffer: txSize was=1, new=0, buffer=0
ERROR [main] (UserExitDataSource.java:1495) - Unable to process operation, Status='ABEND': tx=00000000180000002188 / op=00000000180000002188 :
DEBUG [main] (UserExitDataSource.java:1497) - => Transaction: DsTransaction [ops=1, buffered=0, state=WHOLE, start=2017-08-29 17:42:59.000668, end=null]
DEBUG [main] (UserExitDataSource.java:1498) - => Operation: UPDATE_FIELDCOMP on TEST.UHV_SUBSCRIBER [W] [columns: 109] [pos: 00000000180000002188 (seqno=18, rba=2188)] [time: 2017-08-29 17:42:59.000668]
Exception in thread "main" oracle.goldengate.util.GGException: Unable to process operation, Status='ABEND': tx=00000000180000002188 / op=00000000180000002188 : see the Java application log
file for details.
  at oracle.goldengate.datasource.UserExitDataSource.addOperationToTransactionAn

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms