[ 
https://issues.apache.org/jira/browse/CASSANDRA-12858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15654109#comment-15654109
 ] 

Branimir Lambov commented on CASSANDRA-12858:
---------------------------------------------

This doesn't look like it's preventing the failure very well. A tight initial 
pair can result in the same problem even with 50% splits. Also, the equals test 
below can blow up due to truncation even if we make sure we avoid the lower end 
of the range.

The change you did makes the failure much less probable, but I think we should 
eliminate the chance altogether. How about doing the recursive calls only until 
the interval size becomes smaller than, say {{Math.scalb(1, -48)}} for Murmur 
and {{Math.scalb(1, -112)}} for Random?

> testall failure in 
> org.apache.cassandra.dht.Murmur3PartitionerTest.testSplitWrapping-compression
> ------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12858
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sean McCarthy
>            Assignee: Dikang Gu
>              Labels: test-failure, testall
>             Fix For: 3.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-3.X_testall/49/testReport/org.apache.cassandra.dht/Murmur3PartitionerTest/testSplitWrapping_compression/
> {code}
> Error Message
> For 8833996864316961974,8833996864316961979: range did not contain new 
> token:8833996864316961974
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: For 
> 8833996864316961974,8833996864316961979: range did not contain new 
> token:8833996864316961974
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:138)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:150)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:148)
>       at 
> org.apache.cassandra.dht.PartitionerTestCase.assertSplit(PartitionerTestCase.java:129)
>       at 
> org.apache.cassandra.dht.Murmur3PartitionerTest.testSplitWrapping(Murmur3PartitionerTest.java:50)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to