Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

Reaper fails repairing 2.1 cluster #65

Open
varjoranta opened this issue Feb 18, 2015 · 11 comments
Open

Reaper fails repairing 2.1 cluster #65

varjoranta opened this issue Feb 18, 2015 · 11 comments

Comments

@varjoranta
Copy link
Contributor

JMX signature doesn't match.
https://pastebin.mozilla.org/8822185

@xoraes
Copy link

xoraes commented Jun 21, 2015

Been a while 2.1 has been out. Anyway this can be fixed?

@varjoranta
Copy link
Contributor Author

Actually we have no current plans on fixing this just at the moment. This is mainly due to the fact that Cassandra 2.0.x is still the version that is mainly used in production. I'm sure this will start getting more focus on this after Summer.

@djsly
Copy link
Contributor

djsly commented Jul 28, 2015

I have updated the code to use 2.1.8 cassandra API,

The changes are quite straight forward,

         return ssProxy.forceRepairRangeAsync(beginToken.toString(), endToken.toString(), keyspace,
-                                             repairParallelism.ordinal(), null, null,
+                                             repairParallelism.ordinal(), null, null, FULL_REPAIR,
                                              columnFamilies

     }
     boolean snapshotRepair = repairParallelism.equals(RepairParallelism.SEQUENTIAL);
     return ssProxy.forceRepairRangeAsync(beginToken.toString(), endToken.toString(), keyspace,
-                                         snapshotRepair, false,
+                                         snapshotRepair, false, FULL_REPAIR,
                                          columnFamilies.toArray(new String[columnFamilies.size()]));
   }

Finally, I haven't investigated more BUT the SimpleCondition Class in Cassandra changed a lot between 2.0 and 2.1 (see apache/cassandra@5420b7a)

Which causes timing issues in the SegmentRunner class (Jmx responses are blocked until the await() returns)

Therefore I copied to 2.0 SimpleCondition from cassandra and added to the reaper project as a quick hack.

+import com.spotify.reaper.utils.SimpleCondition;

 import org.apache.cassandra.repair.RepairParallelism;
 import org.apache.cassandra.service.ActiveRepairService;
-import org.apache.cassandra.utils.SimpleCondition;

Thats all there is really, I will look into making the code change to support CLI and web ui update eventually.

mjager added a commit to mjager/cassandra-reaper that referenced this issue Aug 6, 2015
@djsly
Copy link
Contributor

djsly commented Sep 3, 2015

Here's a PR #121 for this feature.

It would be great if we could keep multiple branches, master = Cassandra 2.2, branches cassandra-2.1, branches cassandra-2.0, since the Cassandra API doesn't seem to be backward compatible all the time.

@pdehlke
Copy link

pdehlke commented Oct 20, 2015

Upvoting @djsly. The fix for this seems pretty straightforward, and having 2.0, 2.1, 2.2 branches (in the same fashion as Neflix/Priam, for example) would seem to be much better for the community than what looks like an impending forest of forks...

zznate added a commit to zznate/cassandra-reaper that referenced this issue Nov 6, 2015
zznate added a commit to zznate/cassandra-reaper that referenced this issue Nov 6, 2015
@zznate
Copy link

zznate commented Nov 6, 2015

@varjoranta Just sent a PR back to @djsly's Nuance fork for merge conflicts.

Please let me know if there are any other ways I can help get 2.1, 2.2, etc support in place as we've got the okay from a client to put some resources on this.

zznate added a commit to zznate/cassandra-reaper that referenced this issue Nov 6, 2015
@varjoranta
Copy link
Contributor Author

Thanks for being active on this!
I have left Spotify a month back, so I have to synch with the guys over there, but I am planning to get the 2.1 support in Reaper soon (within few weeks). I am planning to use Reaper with C* 2.1, so I need this as well.

@zznate
Copy link

zznate commented Nov 9, 2015

I'm gonna be "that guy" and ping @Yarin78 as well :)

Seriously folks, I'm happy to get involved with this wherever to keep things moving. @djsly - did you get a chance to look at that PR against your fork?

@zznate
Copy link

zznate commented Nov 9, 2015

(and thanks @varjoranta for the update! good luck with the new endeavor).

@djsly
Copy link
Contributor

djsly commented Nov 12, 2015

@zznate Sorry for the late response, just had a chance to look at this now. I will look at your PR.

@hgfischer
Copy link

💯

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants