You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by aweisberg <gi...@git.apache.org> on 2018/07/13 21:22:52 UTC
[GitHub] cassandra pull request #239: [CASSANDRA-14556] Optimize Streaming
Github user aweisberg commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/239#discussion_r202476142
--- Diff: src/java/org/apache/cassandra/db/DiskBoundaries.java ---
@@ -129,4 +129,19 @@ public int getBoundariesFromSSTableDirectory(Descriptor descriptor)
{
return directories.get(getDiskIndex(sstable));
}
+
+ public Directories.DataDirectory getCorrectDiskForKey(DecoratedKey key)
+ {
+ if (positions == null)
+ return null;
+
+ return directories.get(getDiskIndex(key));
+ }
+
+ private int getDiskIndex(DecoratedKey key)
+ {
+ int pos = Collections.binarySearch(positions, key);
--- End diff --
OK so this is insertion point, and then -1 because the of 0 based indexing? Can you unit test this just to make sure that it find the correct spot?
I'm just not following the -1 I guess because Collections.binarySearch says insertion point -1 is what is returned. What if the key happens to be out of range of the ranges this node owns? This would go out of bounds?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org