mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 09:30:45 +00:00
To implement nodetool's "--start-token"/"--end-token" feature, we need to be able to repair only *part* of the ranges held by this node. Our REST API already had a "ranges" option where the tool can list the specific ranges to repair, but using this interface in the JMX implementation is inconvenient, because it requires the *Java* code to be able to intersect the given start/end token range with the actual ranges held by the repaired node. A more reasonable approach, which this patch uses, is to add new "startToken"/"endToken" options to the repair's REST API. What these options do is is to find the node's token ranges as usual, and only then *intersect* them with the user-specified token range. The JMX implementation becomes much simpler (in a separate patch for scylla-jmx) and the real work is done in the C++ code, where it belongs, not in Java code. With the additional scylla-jmx patch to use the new REST API options provided here, this fixes #917. Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <1455807739-25581-1-git-send-email-nyh@scylladb.com>