[
https://issues.apache.org/jira/browse/CASSANDRA-20335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Miklosovic reassigned CASSANDRA-20335:
---------------------------------------------
Assignee: Stefan Miklosovic
> Non-java types are leaking from snapshots
> -----------------------------------------
>
> Key: CASSANDRA-20335
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20335
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Francisco Guerrero
> Assignee: Stefan Miklosovic
> Priority: Normal
>
> https://issues.apache.org/jira/browse/CASSANDRA-18111 brought a major uplift
> of the snapshot code. A new exception type was introduced for signaling
> issues related to snapshots (\{{SnapshotException}}). This type however is
> leaking through JMX. Cassandra only exposes java types through the RMI
> interface. I encountered the issue in Sidecar when trying to create an
> already existing snapshot. Here’s the stack trace:
> {code:java}
> java.lang.RuntimeException: java.rmi.UnmarshalException: Error unmarshaling
> return; nested exception is:
> java.lang.ClassNotFoundException:
> org.apache.cassandra.service.snapshot.SnapshotException (no security manager:
> RMI class loader disabled)
> at
> org.apache.cassandra.sidecar.adapters.base.CassandraStorageOperations.takeSnapshotInternal(CassandraStorageOperations.java:149)
> at
> org.apache.cassandra.sidecar.adapters.cassandra41.Cassandra41StorageOperations.takeSnapshot(Cassandra41StorageOperations.java:69)
> at
> org.apache.cassandra.sidecar.routes.snapshots.CreateSnapshotHandler.lambda$handleInternal$0(CreateSnapshotHandler.java:96)
> at
> org.apache.cassandra.sidecar.concurrent.TaskExecutorPool.lambda$runBlocking$4(TaskExecutorPool.java:197)
> at
> io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192)
> at
> io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
> at io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221)
> at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested
> exception is:
> java.lang.ClassNotFoundException:
> org.apache.cassandra.service.snapshot.SnapshotException (no security manager:
> RMI class loader disabled)
> at
> java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:273)
> at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
> at jdk.remoteref/jdk.jmx.remote.internal.rmi.PRef.invoke(Unknown
> Source)
> at
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown
> Source)
> at
> java.management.rmi/javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:1021)
> at
> java.management/javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:298)
> at com.sun.proxy.$Proxy29.takeSnapshot(Unknown Source)
> at
> org.apache.cassandra.sidecar.adapters.base.CassandraStorageOperations.takeSnapshotInternal(CassandraStorageOperations.java:129)
> ... 11 common frames omitted
> Caused by: java.lang.ClassNotFoundException:
> org.apache.cassandra.service.snapshot.SnapshotException (no security manager:
> RMI class loader disabled)
> at
> java.rmi/sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:396)
> at
> java.rmi/sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:186)
> at
> java.rmi/java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
> at
> java.rmi/java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
> at
> java.rmi/sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:213)
> at
> java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2003)
> at
> java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1870)
> at
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2201)
> at
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
> at
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2496)
> at
> java.base/java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:625)
> at java.base/java.lang.Throwable.readObject(Throwable.java:896)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
> java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1046)
> at
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2357)
> at
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2228)
> at
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
> at
> java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2496)
> at
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2390)
> at
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2228)
> at
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
> at
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:489)
> at
> java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:447)
> at
> java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:270)
> ... 18 common frames omitted {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]