[ https://issues.apache.org/jira/browse/CASSANDRA-8838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14359941#comment-14359941 ]
Stefania commented on CASSANDRA-8838: ------------------------------------- Only one comment on the code: # we are not looking at the new flag when replacing why is that? Let's focus on the tests: # Do you think we should add a unit test for {{resetAvailableRanges()}} since this code path is the only code path that was added to {{SystemKeyspace}} and that is not covered by {{StreamStoreStateTest}}? # Not sure how easy it would be, we'd have to rework {{RangeStreamer}} a bit probably, but we could add a unit test to {{BootStrapperTest}} that checks that the {{RangeStreamer}} is not requesting available ranges (since this would be hard to check in dtest). Up to you if you want to do this or not. # The dtest {{bootstrap_test.py}} is currently failing (not related to your patch as it is failing on trunk as well). See the failures I got below. ## It would be good to fix these failures (not necessarily yourself but someone in QA). ## I would also be beneficial to add a couple more dtests to simulate a bootstrap failure and test the resume with and without {{cassandra.reset_bootstrap_progress}}. Not sure how easy it would be to simulate the failure, perhaps you'd have to add a cassandra.test flag. ## Perhaps we should have more tests for replacing a node (didn't see any in dtests) with and without a failed bootstrap. What do you think is this reasonable for testing or did you do more manual tests? If you tested manually with ccm and nodetool perhaps we should simply list the tests here and let QA add them to dtest or the new tool for functional tests that Ariel is working on. Dtest failure on trunk: {code} ====================================================================== FAIL: simple_bootstrap_test (bootstrap_test.TestBootstrap) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/stefania/git/cstar/cassandra-dtest/bootstrap_test.py", line 66, in simple_bootstrap_test reader.check() File "/home/stefania/git/cstar/cassandra-dtest/dtest.py", line 115, in check raise self.__error AssertionError: -------------------- >> begin captured logging << -------------------- dtest: DEBUG: cluster ccm directory: /tmp/dtest-510qhu dtest: DEBUG: connecting... dtest: DEBUG: reading... --------------------- >> end captured logging << --------------------- {code} Dtest failure on 8838-2: {code} ====================================================================== ERROR: simple_bootstrap_test (bootstrap_test.TestBootstrap) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/stefania/git/cstar/cassandra-dtest/bootstrap_test.py", line 74, in simple_bootstrap_test assert_almost_equal(size1, size2, error=0.3) File "/home/stefania/git/cstar/cassandra-dtest/assertions.py", line 56, in assert_almost_equal assert vmin > vmax * (1.0 - error) or vmin == vmax, "values not within %.2f%% of the max: %s" % (error * 100, args) TypeError: unsupported operand type(s) for *: 'Decimal' and 'float' -------------------- >> begin captured logging << -------------------- dtest: DEBUG: cluster ccm directory: /tmp/dtest-4sMR0c dtest: DEBUG: connecting... dtest: DEBUG: reading... dtest: DEBUG: initial_size: 482.41 dtest: DEBUG: size1: 305.65 dtest: DEBUG: size2: 287.5 --------------------- >> end captured logging << --------------------- {code} > Resumable bootstrap streaming > ----------------------------- > > Key: CASSANDRA-8838 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8838 > Project: Cassandra > Issue Type: Sub-task > Reporter: Yuki Morishita > Assignee: Yuki Morishita > Priority: Minor > Labels: dense-storage > Fix For: 3.0 > > > This allows the bootstrapping node not to be streamed already received data. > The bootstrapping node records received keyspace/ranges as one stream session > completes. When some sessions with other nodes fail, bootstrapping fails > also, though next time it re-bootstraps, already received keyspace/ranges are > skipped to be streamed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)