[ 
https://issues.apache.org/jira/browse/CASSANDRA-16683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Capwell updated CASSANDRA-16683:
--------------------------------------
    Summary: StandaloneVerifier does not fail when unable to verify SSTables, 
it only fails if Corruption is thrown  (was: 
offline_tools_test.py::TestOfflineTools::test_sstableverify does not validate 
that verify fails so has not been doing its check since 3.0)

> StandaloneVerifier does not fail when unable to verify SSTables, it only 
> fails if Corruption is thrown
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-16683
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16683
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/dtest/python, Tool/sstable
>            Reporter: David Capwell
>            Assignee: David Capwell
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x, 4.0-rc
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> offline_tools_test.py::TestOfflineTools::test_sstableverify has the following 
> check
> {code}
>        try:
>            (out, error, rc) = node1.run_sstableverify("keyspace1", 
> "standard1", options=['-v'])
>        except ToolError as e:
>            # Process sstableverify output to normalize paths in string to 
> Python casing as above
>            error = re.sub("(?<=Corrupted: ).*", lambda match: 
> os.path.normcase(match.group(0)), str(e))
>            assert re.search("Corrupted: " + sstable1, error)
>            assert e.exit_status == 1, str(e.exit_status)
> {code}
> This checks if the corrupt log is present IFF ToolError is thrown, but does 
> not validate that the error is actually thrown.  I tried calling the same 
> logic before the try to validate and see that it does not fail.  If we fix 
> the test to check for error we also see that the log that is returned to the 
> user does not match 2.2’s behavior but instead returns different logic as 
> digest validation throws IOException, which we do not convert to a 
> CorruptSSTableException (which is the message the test checks for).
> This also shows another big issue, that when the digest fails verify passes



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to