[
https://issues.apache.org/jira/browse/CASSANDRA-6180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Liu updated CASSANDRA-6180:
--------------------------------
Attachment: 6180-v2-1.2-branch.txt
> NPE in CqlRecordWriter: Related to AbstractCassandraStorage handling null
> values
> --------------------------------------------------------------------------------
>
> Key: CASSANDRA-6180
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6180
> Project: Cassandra
> Issue Type: Bug
> Components: Hadoop
> Environment: Pig, CqlStorage
> Reporter: Henning Kropp
> Assignee: Alex Liu
> Attachments: 6180-v2-1.2-branch.txt, null_test.pig, patch.txt,
> test_null.cql, test_null_data
>
>
> I encountered an issue with the {{CqlStorage}} and it's handling of null
> values. The {{CqlRecordWriter}} throws an NPE when a value is null. I found a
> related ticket CASSANDRA-5885 and applied the there stated fix to the
> {{AbstractCassandraStorage}}.
> Instead of converting {{null}} values to {{ByteBuffer.wrap(new byte[0])}}
> {{AbstractCassandraStorage}} returns {{(ByteBuffer)null}}
> This issue can be reproduced with the attached files: {{test_null.cql}},
> {{test_null_data}}, {{null_test.pig}}
> A fix can be found in the attached patch.
> {code}
> java.io.IOException: java.lang.NullPointerException
> at
> org.apache.cassandra.hadoop.cql3.CqlRecordWriter$RangeClient.run(CqlRecordWriter.java:248)
> Caused by: java.lang.NullPointerException
> at
> org.apache.thrift.protocol.TBinaryProtocol.writeBinary(TBinaryProtocol.java:194)
> at
> org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_args.write(Cassandra.java:41253)
> at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
> at
> org.apache.cassandra.thrift.Cassandra$Client.send_execute_prepared_cql3_query(Cassandra.java:1683)
> at
> org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1673)
> at
> org.apache.cassandra.hadoop.cql3.CqlRecordWriter$RangeClient.run(CqlRecordWriter.java:232)
> {code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)