1.4.1 doesn't repair Cassandra 1.2.19/2.0 anymore
See original GitHub issueHi again,
I’ve just bumped reaper to version 1.4.1 and just discovered that it doesn’t repair my cluster on Cassandra 1.2.19 anymore (yeah I know, pretty old version…).
Here are the logs:
WARN [2019-03-18 15:09:54,207] [staging-cluster:00000000-0000-0076-0000-000000000000:00000000-0000-16ed-0000-000000000000] i.c.s.SegmentRunner - Failed to connect to a coordinator node for segment 00000000-0000-16ed-0000-00000000
0000
java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy56.getCompactionParameters(Unknown Source)
at io.cassandrareaper.jmx.JmxProxyImpl.getTablesForKeyspace(JmxProxyImpl.java:406)
at io.cassandrareaper.service.RepairUnitService.getTablesToRepair(RepairUnitService.java:94)
at io.cassandrareaper.service.SegmentRunner.runRepair(SegmentRunner.java:269)
at io.cassandrareaper.service.SegmentRunner.run(SegmentRunner.java:143)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)
at com.codahale.metrics.InstrumentedScheduledExecutorService$InstrumentedRunnable.run(InstrumentedScheduledExecutorService.java:241)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.management.AttributeNotFoundException: No such attribute: CompactionParameters
at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:81)
at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:657)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$2.run(Transport.java:202)
at sun.rmi.transport.Transport$2.run(Transport.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:198)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
At a very quick glance it’s coming from https://github.com/thelastpickle/cassandra-reaper/blob/1.4/src/server/src/main/java/io/cassandrareaper/jmx/JmxProxyImpl.java#L404-L407 . Seems that commit dfa792f5a9f65d0a21173701d0c87579f1a1a42f (to fix #577) introduced this regression.
I’ll try to find some time to dig into it more & hopefully submit a PR. I’m anyway wondering, do you have any plan to officially support 1.2 versions or should I consider to keep a working version and not upgrade reaper without upgrading my clusters first?
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (5 by maintainers)
Top Results From Across the Web
Repair | Apache Cassandra Documentation
The repair command only repairs token ranges on the node being repaired, it doesn't repair the whole cluster. By default, repair will operate...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Yes. Duplicating the three lines, just changing the
CASSANDRA_VERSION
value, will add the extra test runs in travis.Fixed via https://github.com/thelastpickle/cassandra-reaper/pull/631