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

Stefania commented on CASSANDRA-9649:
-------------------------------------

I've run the tests one more time. Here is my analysis, all tests are either 
flacky and have failed at least once in the past on the unpatched branches, or 
quite simply fail all the time. For some we definitely have JIRAs but I have 
not mentioned them here as I don't have the numbers at hand.

* 2.0 testall:
** no failures

* 2.0 dtest:
** jmxmetrics_test.TestJMXMetrics.begin_test: failed on unpatched 2.0, build #80
** counter_tests.TestCounters.upgrade_test: failed on unpatched 2.0, build #78
** 
compaction_test.TestCompaction_with_DateTieredCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.0, build #80
** 
compaction_test.TestCompaction_with_SizeTieredCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.0, build #80
** thrift_hsha_test.ThriftHSHATest.test_closing_connections: failed on 
unpatched 2.0, build #76
** repair_test.TestRepair.dc_repair_test: failed on unpatched 2.0, build #69
** paging_test.TestPagingWithDeletions.test_single_partition_deletions: failed 
on unpatched 2.0, build #72
** paging_test.TestPagingWithDeletions.test_single_row_deletions: failed on 
unpatched 2.0, build #62

* 2.1 testall:
** 
org.apache.cassandra.concurrent.LongSharedExecutorPoolTest.testPromptnessOfExecution:
 failed on unpatched 2.1, build #106

* 2.1 dtest:
** jmxmetrics_test.TestJMXMetrics.begin_test: failed on unpatched 2.1, build 
#154
** repair_test.TestRepair.dc_repair_test: failed on unpatched 2.1, build #154
** 
compaction_test.TestCompaction_with_DateTieredCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.1, build #154
** 
compaction_test.TestCompaction_with_SizeTieredCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.1, build #154
** thrift_hsha_test.ThriftHSHATest.test_closing_connections: failed on 
unpatched 2.1, build #102
** upgrade_supercolumns_test.TestSCUpgrade.upgrade_with_counters_test: failed 
on unpatched 2.1, build #122
** cql_tests.MiscellaneousCQLTester.prepared_statement_invalidation_test: 
failed on unpatched 2.1, build #149

* 2.2 testall:
** org.apache.cassandra.db.lifecycle.ViewTest.testSSTablesInBounds: failed on 
unpatched 2.2, build #88
** org.apache.cassandra.db.lifecycle.ViewTest.testSSTablesInBounds-compression: 
failed on unpatched 2.2, build #88

* 2.2 dtest:
** consistency_test.TestConsistency.short_read_test: failed on unpatched 2.2, 
build #72
** jmx_test.TestJMX.cfhistograms_test: failed on unpatched 2.2, build #115
** upgrade_internal_auth_test.TestAuthUpgrade.upgrade_to_30_test: failed on 
unpatched 2.2, build #120
** 
compaction_test.TestCompaction_with_DateTieredCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.2, build #120
** 
compaction_test.TestCompaction_with_LeveledCompactionStrategy.sstable_deletion_test:
 failed on unpatched 2.2, build #120

> Paxos ballot in StorageProxy could clash
> ----------------------------------------
>
>                 Key: CASSANDRA-9649
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9649
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Stefania
>            Assignee: Stefania
>            Priority: Minor
>
> This code in {{StorageProxy.beginAndRepairPaxos()}} takes a timestamp in 
> microseconds but divides it by 1000 before adding one. So if the summary is 
> null, ballotMillis would be the same for up to 1000 possible state timestamp 
> values:
> {code}
>     long currentTime = (state.getTimestamp() / 1000) + 1;
>     long ballotMillis = summary == null
>                                  ? currentTime
>                                  : Math.max(currentTime, 1 +    
> UUIDGen.unixTimestamp(summary.mostRecentInProgressCommit.ballot));
>     UUID ballot = UUIDGen.getTimeUUID(ballotMillis);
> {code}
> {{state.getTimestamp()}} returns the time in micro seconds and it ensures to 
> add one microsecond to any previously used timestamp if the client sends the 
> same or an older timestamp. 
> Initially I used this code in {{ModificationStatement.casInternal()}}, 
> introduced by CASSANDRA-9160 to support cas unit tests, but occasionally 
> these tests were failing. It was only when I ensured uniqueness of the ballot 
> that the tests started to pass reliably.
> I wonder if we could ever have the same issue in StorageProxy?
> cc [~jbellis] and [~slebresne] for CASSANDRA-7801



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

Reply via email to