You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ivan Sobolev (JIRA)" <ji...@apache.org> on 2012/10/09 13:48:02 UTC

[jira] [Created] (CASSANDRA-4780) Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class

Ivan Sobolev created CASSANDRA-4780:
---------------------------------------

             Summary: Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class
                 Key: CASSANDRA-4780
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4780
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.1.5
            Reporter: Ivan Sobolev
            Priority: Minor


While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-4780) Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class

Posted by "Ivan Sobolev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Sobolev updated CASSANDRA-4780:
------------------------------------

    Description: 
While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

The missing bit:
{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



  was:
While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

The missing bit:
{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



    
> Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4780
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4780
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.5
>            Reporter: Ivan Sobolev
>            Priority: Minor
>
> While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
> {code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
> nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}
> Googling suggested to try out different classpath mysteries[1]
> Doing that from the nodetool was a bit more informative though:
> {code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
>         at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>         at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>         at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
>         at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
>         at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
>         at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
>         at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
>         at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
>         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)
> Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
>         at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
> {code}
> The missing bit:
> {code}
> update column family xxx with key_validation_class=UTF8Type;{code}
> Goals of the ticket:
> * Ensure that message from exception will properly pop up to the JMX client
> * Guys googling the same problem will have a direction
> ___________________________________________________________
> [1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-4780) Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class

Posted by "Ivan Sobolev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Sobolev updated CASSANDRA-4780:
------------------------------------

    Description: 
While trying to call getNaturalEndpoints(String,String,String) via jmx(jconsole), got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

The missing bit:
{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



  was:
While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

The missing bit:
{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



    
> Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4780
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4780
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.5
>            Reporter: Ivan Sobolev
>            Priority: Minor
>
> While trying to call getNaturalEndpoints(String,String,String) via jmx(jconsole), got the following:
> {code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
> nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}
> Googling suggested to try out different classpath mysteries[1]
> Doing that from the nodetool was a bit more informative though:
> {code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
>         at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>         at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>         at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
>         at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
>         at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
>         at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
>         at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
>         at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
>         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)
> Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
>         at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
> {code}
> The missing bit:
> {code}
> update column family xxx with key_validation_class=UTF8Type;{code}
> Goals of the ticket:
> * Ensure that message from exception will properly pop up to the JMX client
> * Guys googling the same problem will have a direction
> ___________________________________________________________
> [1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (CASSANDRA-4780) Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams resolved CASSANDRA-4780.
-----------------------------------------

    Resolution: Not A Problem

The RMI error isn't really something we can fix, and the second (actual) error should have been the clue that you needed to convert your key to hex, since by default it would be BytesType.  You'd get the same error trying to insert/get in any thrift client that didn't handle the marshaling for you.
                
> Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4780
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4780
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.5
>            Reporter: Ivan Sobolev
>            Priority: Minor
>
> While trying to call getNaturalEndpoints(String,String,String) via jmx(jconsole), got the following:
> {code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; 
> nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}
> Googling suggested to try out different classpath mysteries[1]
> Doing that from the nodetool was a bit more informative though:
> {code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
>         at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>         at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>         at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
>         at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
>         at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
>         at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
>         at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
>         at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
>         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)
> Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
>         at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
> {code}
> The missing bit:
> {code}
> update column family xxx with key_validation_class=UTF8Type;{code}
> Goals of the ticket:
> * Ensure that message from exception will properly pop up to the JMX client
> * Guys googling the same problem will have a direction
> ___________________________________________________________
> [1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-4780) Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class

Posted by "Ivan Sobolev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Sobolev updated CASSANDRA-4780:
------------------------------------

    Description: 
While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

The missing bit:
{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



  was:
While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
{code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}

Googling suggested to try out different classpath mysteries[1]

Doing that from the nodetool was a bit more informative though:
{code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
        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)
Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
        at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
        at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
{code}

{code}
update column family xxx with key_validation_class=UTF8Type;{code}

Goals of the ticket:
* Ensure that message from exception will properly pop up to the JMX client
* Guys googling the same problem will have a direction

___________________________________________________________
[1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled



    
> Not informative error reporting when calling getNaturalEndpoints for a CF without key_validation_class
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4780
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4780
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.5
>            Reporter: Ivan Sobolev
>            Priority: Minor
>
> While trying to call getNaturalEndpoints(String,String,String) via jmx, got the following:
> {code}Problem invoking getNaturalEndpoints: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: org.apache.cassandra.db.marshal.MarshalException (no security manager: RMI class loader disabled){code}
> Googling suggested to try out different classpath mysteries[1]
> Doing that from the nodetool was a bit more informative though:
> {code}Exception in thread "main" org.apache.cassandra.db.marshal.MarshalException: cannot parse '28589689-0bf0-9ebf-e405-d8f1d798cd7d' as hex bytes
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:74)
>         at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:2131)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>         at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>         at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
>         at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
>         at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
>         at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
>         at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
>         at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
>         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)
> Caused by: java.lang.NumberFormatException: Non-hex characters in 28589689-0bf0-9ebf-e405-d8f1d798cd7d
>         at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
>         at org.apache.cassandra.db.marshal.BytesType.fromString(BytesType.java:70)
> {code}
> The missing bit:
> {code}
> update column family xxx with key_validation_class=UTF8Type;{code}
> Goals of the ticket:
> * Ensure that message from exception will properly pop up to the JMX client
> * Guys googling the same problem will have a direction
> ___________________________________________________________
> [1] forum.springsource.org/showthread.php?25937-RMI-class-loader-disabled

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira