cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nk11 (JIRA)" <j...@apache.org>
Subject [jira] Created: (CASSANDRA-168) thread problem?
Date Wed, 13 May 2009 12:50:45 GMT
thread problem?
---------------

                 Key: CASSANDRA-168
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-168
             Project: Cassandra
          Issue Type: Bug
            Reporter: nk11


With the original code CASSANDRA-153 works fine, even for large values of max.
I change a little bit the test. 

		int max = 10000;
		Random rnd = new Random();
		for (int a = 0; a < max; a++) {
			System.out.println(a);
			client.insert("Table1", "k1:" + rnd.nextInt(), "Super1:x:x", new byte[] { (byte) 1 }, 0,
false);
		}

		client.get_key_range("Table1", "k1:0", "k1:1000", 1000);

Now the log says just:

ERROR [pool-1-thread-1] 2009-05-13 15:41:01,908 Cassandra.java (line 1187) Internal error
processing get_key_range
java.lang.RuntimeException: error reading keyrange RangeCommand(table='Table1', startWith='k1:0',
stopAt='k1:1000', maxResults=1000)
	at org.apache.cassandra.service.StorageProxy.getKeyRange(StorageProxy.java:682)
	at org.apache.cassandra.service.CassandraServer.get_key_range(CassandraServer.java:527)
	at org.apache.cassandra.service.Cassandra$Processor$get_key_range.process(Cassandra.java:1183)
	at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:805)
	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.TimeoutException: Operation timed out.
	at org.apache.cassandra.net.AsyncResult.get(AsyncResult.java:95)
	at org.apache.cassandra.service.StorageProxy.getKeyRange(StorageProxy.java:677)
	... 7 more

But also some of:

DEBUG [ROW-MUTATION-STAGE:1] 2009-05-13 15:40:56,970 RowMutationVerbHandler.java (line 70)
Applying RowMutation(key='k1:-1907502342', modifications=[ColumnFamily(Super1 [SuperColumn(x
[x:false:1@0])])])
ERROR [ROW-READ-STAGE:1] 2009-05-13 15:40:56,955 DebuggableThreadPoolExecutor.java (line 125)
Error in ThreadPoolExecutor
java.lang.RuntimeException: java.util.ConcurrentModificationException
	at org.apache.cassandra.service.RangeVerbHandler.doVerb(RangeVerbHandler.java:27)
	at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:46)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
	at java.util.HashMap$KeyIterator.next(Unknown Source)
	at java.util.AbstractQueue.addAll(Unknown Source)
	at org.apache.cassandra.db.Memtable.sortedKeyIterator(Memtable.java:424)
	at org.apache.cassandra.db.Table.getKeyRangeUnsafe(Table.java:912)
	at org.apache.cassandra.db.Table.getKeyRange(Table.java:883)
	at org.apache.cassandra.service.RangeVerbHandler.doVerb(RangeVerbHandler.java:23)
	... 4 more

If a put a Thread.sleep() after the inserts or run only the get_key_range call all is ok.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message