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