You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2015/07/31 15:10:04 UTC

[jira] [Created] (CASSANDRA-9947) nodetool verify is broken

Jonathan Ellis created CASSANDRA-9947:
-----------------------------------------

             Summary: nodetool verify is broken
                 Key: CASSANDRA-9947
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9947
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Jonathan Ellis
            Priority: Critical
             Fix For: 2.2.x


Raised these issues on CASSANDRA-5791, but didn't revert/re-open, so they were ignored:

We mark sstables that fail verification as unrepaired, but that's not going to do what you think.  What it means is that the local node will use that sstable in the next repair, but other nodes will not. So all we'll end up doing is streaming whatever data we can read from it, to the other replicas.  If we could magically mark whatever sstables correspond on the remote nodes, to the data in the local sstable, that would work, but we can't.

IMO what we should do is:

*    scrub, because it's quite likely we'll fail reading from the sstable otherwise and
*    full repair across the data range covered by the sstable

Additionally,

* I'm not sure that keeping "extended verify" code around is worth it. Since the point is to work around not having a checksum, we could just scrub instead. This is slightly more heavyweight but it would be a one-time cost (scrub would build a new checksum) and we wouldn't have to worry about keeping two versions of almost-the-same-code in sync.



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