This is an automated email from the ASF dual-hosted git repository.

bbotella pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-analytics.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 5e9e5e71 CASSANALYTICS-178: CDC logs NPE for deleted column values 
(#242)
5e9e5e71 is described below

commit 5e9e5e7170e485741e2fde430e8fd9c8c604db77
Author: Bernardo Botella <[email protected]>
AuthorDate: Wed Sep 16 07:49:45 2026 +0200

    CASSANALYTICS-178: CDC logs NPE for deleted column values (#242)
    
    Patch by Bernardo Botella; Reviewed by Jyothsna konisa for CASSANALYTICS-178
---
 .../src/main/java/org/apache/cassandra/cdc/CdcLogMode.java     | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/CdcLogMode.java
 
b/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/CdcLogMode.java
index 91feb604..e89e2738 100644
--- 
a/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/CdcLogMode.java
+++ 
b/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/CdcLogMode.java
@@ -19,6 +19,7 @@
 
 package org.apache.cassandra.cdc;
 
+import java.nio.ByteBuffer;
 import java.util.List;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -155,10 +156,17 @@ public enum CdcLogMode implements CdcLogger
 
     private static String columnToString(Value fieldValue)
     {
+        ByteBuffer value = fieldValue.getValue();
+        if (value == null)
+        {
+            // null value means the column is deleted; not a deserialization 
failure
+            return String.format("[%s : null]", fieldValue.columnName);
+        }
+
         try
         {
             CqlField.CqlType type = 
typeLookup.apply(KeyspaceTypeKey.of(fieldValue.keyspace, 
fieldValue.columnType));
-            Object javaValue = 
type.deserializeToJavaType(fieldValue.getValue());
+            Object javaValue = type.deserializeToJavaType(value);
             return String.format("[%s : %s]", fieldValue.columnName, 
javaValue);
         }
         catch (Throwable t)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to