[ 
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)

Reply via email to