[ 
https://issues.apache.org/jira/browse/CASSANDRA-18949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17782378#comment-17782378
 ] 

Ekaterina Dimitrova commented on CASSANDRA-18949:
-------------------------------------------------

I tried to reproduce this one on a commit before the fix of CASSANDRA-18747 
unsuccessfully - both locally  and in CI - 
https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=18949-5.0

One observation is that this test does not create keyspace_04, that one is 
created by calling _prepareData,_ which is called by the other two test methods 
in the same class but not the one that was reported - 
testClearSnapshotWithOlderThanFlag and 
testClearSnapshotWithOlderThanTimestampFlag.
 
So at the end I managed to reproduce by changing the Schema#unload method and 
then running the whole test class (if I run the testClearSnapshot_RemoveByName 
separately, it passes):
{code:java}
private synchronized void unload(KeyspaceMetadata ksm)
{
  distributedKeyspaces = distributedKeyspaces.without(ksm.name);
  if(!ksm.name.equals("keyspace_04"))
    distributedAndLocalKeyspaces = 
distributedAndLocalKeyspaces.without(ksm.name);

  this.tableMetadataRefCache = tableMetadataRefCache.withRemovedRefs(ksm);

  SchemaDiagnostics.metadataRemoved(this, ksm);
}{code}
I suspect after the fix in CASSANDRA-18747 we can close this one. [~blerer] , 
do you agree with this analysis?

> Test failure: 
> org.apache.cassandra.tools.nodetool.ClearSnapshotTest.testClearSnapshot_RemoveByName-.jdk11.arch=x86_64.python2.7
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18949
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18949
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CI
>            Reporter: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 5.0-rc
>
>
> Seen here:
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/1747/testReport/org.apache.cassandra.tools.nodetool/ClearSnapshotTest/testClearSnapshot_RemoveByName__jdk11_arch_x86_64_python2_7/]
> h3.  
> {code:java}
> Error Message
> [bin/nodetool, -p, 36753, -h, 127.0.0.1, snapshot, -t, some-name] exited with 
> code 2 stderr: error: Unknown keyspace keyspace_04 -- StackTrace -- 
> java.lang.AssertionError: Unknown keyspace keyspace_04 at 
> org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:324) at 
> org.apache.cassandra.db.Keyspace.lambda$open$0(Keyspace.java:162) at 
> org.apache.cassandra.utils.concurrent.LoadingMap.blockingLoadIfAbsent(LoadingMap.java:105)
>  at 
> org.apache.cassandra.schema.Schema.maybeAddKeyspaceInstance(Schema.java:251) 
> at org.apache.cassandra.db.Keyspace.open(Keyspace.java:162) at 
> org.apache.cassandra.db.Keyspace.open(Keyspace.java:151) at 
> com.google.common.collect.Iterators$6.transform(Iterators.java:828) at 
> com.google.common.collect.TransformedIterator.next(TransformedIterator.java:52)
>  at 
> org.apache.cassandra.service.StorageService.takeSnapshot(StorageService.java:4356)
>  at 
> org.apache.cassandra.service.StorageService.takeSnapshot(StorageService.java:4221)
>  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 
> sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at 
> jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 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/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:260) at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
>  at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
>  at 
> java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
>  at 
> java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
>  at 
> java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
>  at 
> java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
>  at 
> java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
>  at java.base/jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown 
> Source) at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.base/java.lang.reflect.Method.invoke(Method.java:566) at 
> java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) 
> at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at 
> java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at 
> java.base/java.security.AccessController.doPrivileged(Native Method) at 
> java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
>  at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
>  at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
>  at java.base/java.security.AccessController.doPrivileged(Native Method) at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  at java.base/java.lang.Thread.run(Thread.java:829) stdout: Requested 
> creating snapshot(s) for [all keyspaces] with snapshot name [some-name] and 
> options {skipFlush=false}
> Stacktrace
> junit.framework.AssertionFailedError: [bin/nodetool, -p, 36753, -h, 
> 127.0.0.1, snapshot, -t, some-name] exited with code 2 stderr: error: Unknown 
> keyspace keyspace_04 -- StackTrace -- java.lang.AssertionError: Unknown 
> keyspace keyspace_04 at 
> org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:324) at 
> org.apache.cassandra.db.Keyspace.lambda$open$0(Keyspace.java:162) at 
> org.apache.cassandra.utils.concurrent.LoadingMap.blockingLoadIfAbsent(LoadingMap.java:105)
>  at 
> org.apache.cassandra.schema.Schema.maybeAddKeyspaceInstance(Schema.java:251) 
> at org.apache.cassandra.db.Keyspace.open(Keyspace.java:162) at 
> org.apache.cassandra.db.Keyspace.open(Keyspace.java:151) at 
> com.google.common.collect.Iterators$6.transform(Iterators.java:828) at 
> com.google.common.collect.TransformedIterator.next(TransformedIterator.java:52)
>  at 
> org.apache.cassandra.service.StorageService.takeSnapshot(StorageService.java:4356)
>  at 
> org.apache.cassandra.service.StorageService.takeSnapshot(StorageService.java:4221)
>  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 jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
>  at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
>  at 
> java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
>  at 
> java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
>  at 
> java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
>  at 
> java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
>  at 
> java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
>  at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
>  at java.base/jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown 
> Source) at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at 
> java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) 
> at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at 
> java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at 
> java.base/java.security.AccessController.doPrivileged(Native Method) at 
> java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
>  at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
>  at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
>  at java.base/java.security.AccessController.doPrivileged(Native Method) at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  at java.base/java.lang.Thread.run(Thread.java:829) stdout: Requested 
> creating snapshot(s) for [all keyspaces] with snapshot name [some-name] and 
> options {skipFlush=false} at 
> org.apache.cassandra.tools.ToolRunner$ToolResult.assertExitCode(ToolRunner.java:445)
>  at 
> org.apache.cassandra.tools.ToolRunner$ToolResult.assertOnExitCode(ToolRunner.java:439)
>  at 
> org.apache.cassandra.tools.ToolRunner$ToolResult.assertOnCleanExit(ToolRunner.java:492)
>  at 
> org.apache.cassandra.tools.ToolRunner$ToolResult.assertOnCleanExit(ToolRunner.java:487)
>  at 
> org.apache.cassandra.tools.nodetool.ClearSnapshotTest.testClearSnapshot_RemoveByName(ClearSnapshotTest.java:78)
>  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)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to