NotSerializableException of FutureTask

2011-04-20 Thread Desimpel, Ignace
Using own JMX java code and when using the NodeTool I get the following
exception when calling the forceFlush function.

But it seems that the flushing itself is started although the exception
occurred.

Any idea?

(running jdk 1.6, 64 bits)

 

Ignace

 

2011-04-20 16:23:45 INFO  ColumnFamilyStore - Enqueuing flush of
Memtable-ReverseIntegerValues@75939304(2274472 bytes, 48892 operations)

2011-04-20 16:23:45 INFO  Memtable - Writing
Memtable-ReverseIntegerValues@75939304(2274472 bytes, 48892 operations)

java.rmi.UnmarshalException: error unmarshalling return; nested
exception is: 

  java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: java.util.concurrent.FutureTask

  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:173)

  at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)

  at
javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown
Source)

  at
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.inv
oke(RMIConnector.java:993)

  at
javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocati
onHandler.java:288)

  at $Proxy7.forceFlush(Unknown Source)

  at
be.landc.services.search.server.db.indexsearch.store.cassandra.Cassandra
Store$CassNodeProbe.doRepairAll(CassandraStore.java:160)

  at
be.landc.services.search.server.db.indexsearch.store.cassandra.Cassandra
Store$CassNodeProbe.run(CassandraStore.java:141)

Caused by: java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: java.util.concurrent.FutureTask

  at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332)

  at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

  at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:155)

  ... 7 more

Caused by: java.io.NotSerializableException:
java.util.concurrent.FutureTask

  at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)

  at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)

  at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)

  at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:315)

  at sun.rmi.transport.Transport$1.run(Transport.java:159)

  at java.security.AccessController.doPrivileged(Native Method)

  at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

  at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

  at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.j
ava:790)

  at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:649)

  at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)

  at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)

  at java.lang.Thread.run(Thread.java:662)

2011-04-20 16:23:45 INFO  SearchServer - == Starting flush for column
family : SearchSpace / ForwardLongValues

2011-04-20 16:23:45 INFO  ColumnFamilyStore - Enqueuing flush of
Memtable-ForwardLongValues@710396564(26780468 bytes, 623958 operations)



Re: NotSerializableException of FutureTask

2011-04-20 Thread Jonathan Ellis
You must be using an old Cassandra and/or nodetool; current nodetool calls
forceBlockingFlush which does not try to return a Future over JMX.

On Wed, Apr 20, 2011 at 9:38 AM, Desimpel, Ignace
ignace.desim...@nuance.com wrote:
 Using own JMX java code and when using the NodeTool I get the following
 exception when calling the forceFlush function.

 But it seems that the flushing itself is started although the exception
 occurred.

 Any idea?

 (running jdk 1.6, 64 bits)



 Ignace



 2011-04-20 16:23:45 INFO  ColumnFamilyStore - Enqueuing flush of
 Memtable-ReverseIntegerValues@75939304(2274472 bytes, 48892 operations)

 2011-04-20 16:23:45 INFO  Memtable - Writing
 Memtable-ReverseIntegerValues@75939304(2274472 bytes, 48892 operations)

 java.rmi.UnmarshalException: error unmarshalling return; nested exception
 is:

   java.io.WriteAbortedException: writing aborted;
 java.io.NotSerializableException: java.util.concurrent.FutureTask

   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:173)

   at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)

   at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown
 Source)

   at
 javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)

   at
 javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)

   at $Proxy7.forceFlush(Unknown Source)

   at
 be.landc.services.search.server.db.indexsearch.store.cassandra.CassandraStore$CassNodeProbe.doRepairAll(CassandraStore.java:160)

   at
 be.landc.services.search.server.db.indexsearch.store.cassandra.CassandraStore$CassNodeProbe.run(CassandraStore.java:141)

 Caused by: java.io.WriteAbortedException: writing aborted;
 java.io.NotSerializableException: java.util.concurrent.FutureTask

   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332)

   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

   at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:155)

   ... 7 more

 Caused by: java.io.NotSerializableException: java.util.concurrent.FutureTask

   at
 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)

   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)

   at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)

   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:315)

   at sun.rmi.transport.Transport$1.run(Transport.java:159)

   at java.security.AccessController.doPrivileged(Native Method)

   at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

   at
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

   at
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

   at
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

   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)

 2011-04-20 16:23:45 INFO  SearchServer - == Starting flush for column
 family : SearchSpace / ForwardLongValues

 2011-04-20 16:23:45 INFO  ColumnFamilyStore - Enqueuing flush of
 Memtable-ForwardLongValues@710396564(26780468 bytes, 623958 operations)



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com