[ https://issues.apache.org/jira/browse/CASSANDRA-4095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-4095: ---------------------------------------- Attachment: 4095_v2.txt The patch doesn't compile, it's calling a method that doesn't exist. Attaching v2 that I think adds the intended method. > Internal error processing get_slice (NullPointerException) > ---------------------------------------------------------- > > Key: CASSANDRA-4095 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4095 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.0.2 > Environment: Java(TM) SE Runtime Environment (build 1.6.0_30-b12) > Reporter: John Laban > Assignee: Jonathan Ellis > Priority: Minor > Fix For: 1.0.9, 1.1.0 > > Attachments: 4095.txt, 4095_v2.txt > > > I get this pretty regularly. It seems to happen transiently on multiple > nodes in my cluster, every so often, and goes away. > ERROR [Thrift:45] 2012-03-26 19:59:12,024 Cassandra.java (line 3041) Internal > error processing get_slice > java.lang.NullPointerException > at > org.apache.cassandra.db.SliceFromReadCommand.maybeGenerateRetryCommand(SliceFromReadCommand.java:76) > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:724) > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:564) > at > org.apache.cassandra.thrift.CassandraServer.readColumnFamily(CassandraServer.java:128) > at > org.apache.cassandra.thrift.CassandraServer.getSlice(CassandraServer.java:283) > at > org.apache.cassandra.thrift.CassandraServer.multigetSliceInternal(CassandraServer.java:365) > at > org.apache.cassandra.thrift.CassandraServer.get_slice(CassandraServer.java:326) > at > org.apache.cassandra.thrift.Cassandra$Processor$get_slice.process(Cassandra.java:3033) > at > org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > The line in question is (I think) the one below, so it looks like the column > family reference for a row can sometimes be null? > int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; > Here is my column family (on 1.0.8): > ColumnFamily: WorkQueue (Super) > Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type > Default column value validator: org.apache.cassandra.db.marshal.UTF8Type > Columns sorted by: > org.apache.cassandra.db.marshal.UTF8Type/org.apache.cassandra.db.marshal.UTF8Type > Row cache size / save period in seconds / keys to save : 0.0/0/all > Row Cache Provider: > org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider > Key cache size / save period in seconds: 0.0/0 > GC grace seconds: 0 > Compaction min/max thresholds: 4/32 > Read repair chance: 0.0 > Replicate on write: false > Bloom Filter FP chance: default > Built indexes: [] > Compaction Strategy: > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira