cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jackson Chung (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2401) getColumnFamily() return null, which is not checked in scan() method, causing Timeout Exception in query
Date Wed, 04 May 2011 22:09:03 GMT


Jackson Chung commented on CASSANDRA-2401:

I have an existing data that was resulting similar NPE  before the patch. After applying the
patch, the following observed:

DEBUG [ReadStage:82] 2011-05-04 21:23:27,114 (line 1514) fetched data
row ColumnFamily(inode -deleted at 1304363600008- [70617468:false:49@1304363600219,])
DEBUG [ReadStage:82] 2011-05-04 21:23:27,114 (line 1532) row ColumnFamily(inode
-deleted at 1304363600008- [70617468:false:49@1304363600219,]) satisfies all clauses
DEBUG [ReadStage:82] 2011-05-04 21:23:27,115 (line 1514) fetched data
row ColumnFamily(inode [70617468:false:10@1304353355296,])
ERROR [ReadStage:82] 2011-05-04 21:23:27,115 (line 112) Fatal
exception in thread Thread[ReadStage:82,5,main]
java.lang.AssertionError: No data found for NamesQueryFilter(columns=java.nio.HeapByteBuffer[pos=12
lim=16 cap=17]) in DecoratedKey(29842926756667498147838693957802723793, 3134346637326336393966396130336561376538623330316566383561616131):QueryPath(columnFamilyName='inode',
superColumnName='null', columnName='null') (original filter NamesQueryFilter(columns=java.nio.HeapByteBuffer[pos=12
lim=16 cap=17])) from expression 73656e74696e656cEQ78
    at org.apache.cassandra.db.ColumnFamilyStore.scan(
    at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
    at java.util.concurrent.ThreadPoolExecutor$

was the fix intend to avoid future problem, as such existing problem would need a workaround

> getColumnFamily() return null, which is not checked in scan()
method, causing Timeout Exception in query
> -------------------------------------------------------------------------------------------------------------------------------
>                 Key: CASSANDRA-2401
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.0
>         Environment: Hector 0.7.0-28, Cassandra 0.7.4, Windows 7, Eclipse
>            Reporter: Tey Kar Shiang
>            Assignee: Jonathan Ellis
>             Fix For: 0.7.6
>         Attachments: 2401.txt
>, line near 1680, "ColumnFamily data = getColumnFamily(new QueryFilter(dk,
path, firstFilter))", the data is returned null, causing NULL exception in "satisfies(data,
clause, primary)" which is not captured. The callback got timeout and return a Timeout exception
to Hector.
> The data is empty, as I traced, I have the the columns Count as 0 in removeDeletedCF(),
which return the null there. (I am new and trying to understand the logics around still).
Instead of crash to NULL, could we bypass the data?
> About my test:
> A stress-test program to add, modify and delete data to keyspace. I have 30 threads simulate
concurrent users to perform the actions above, and do a query to all rows periodically. I
have Column Family with rows (as File) and columns as index (e.g. userID, fileType).
> No issue on the first day of test, and stopped for 3 days. I restart the test on 4th
day, 1 of the users failed to query the files (timeout exception received). Most of the users
are still okay with the query.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message