You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Thomas Steinmaurer (Jira)" <ji...@apache.org> on 2022/12/15 06:13:00 UTC

[jira] [Comment Edited] (CASSANDRA-9881) Rows with negative-sized keys can't be skipped by sstablescrub

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

Thomas Steinmaurer edited comment on CASSANDRA-9881 at 12/15/22 6:12 AM:
-------------------------------------------------------------------------

Interesting, I'm also getting this with 3.11.14 while trying to scrub a single Cassandra table, where it seems that a single physical SSTable on disk is broken. Seems to be in an infinite loop with the same log line as shown above. No progress according to "nodetool compactionstats" etc ...
{noformat}
WARN  [CompactionExecutor:3252] 2022-12-14 19:29:32,206 UTC OutputHandler.java:57 - Error reading partition (unreadable key) (stacktrace follows):
java.io.IOError: java.io.IOException: Unable to read partition key from data file
        at org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:222)
        at org.apache.cassandra.db.compaction.CompactionManager.scrubOne(CompactionManager.java:1052)
        at org.apache.cassandra.db.compaction.CompactionManager.access$200(CompactionManager.java:86)
        at org.apache.cassandra.db.compaction.CompactionManager$3.execute(CompactionManager.java:399)
        at org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:319)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:84)
        at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.IOException: Unable to read partition key from data file
{noformat}


was (Author: tsteinmaurer):
Interesting, I'm also getting this with 3.11.14 while trying to scrub a single Cassandra table, where it seems that a single physical SSTable on disk is broken. Seems to be in an infinite loop with the same log line as shown above. No progress according to "nodetool compactionstats" etc ...

> Rows with negative-sized keys can't be skipped by sstablescrub
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-9881
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9881
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Brandon Williams
>            Priority: Low
>             Fix For: 2.1.x
>
>
> It is possible to have corruption in such a way that scrub (on or offline) can't skip the row, so you end up in a loop where this just keeps repeating:
> {noformat}
> WARNING: Row starting at position 2087453 is unreadable; skipping to next 
> Reading row at 2087453 
> row (unreadable key) is -1 bytes
> {noformat}
> The workaround is to just delete the problem sstable since you were going to have to repair anyway, but it would still be nice to salvage the rest of the sstable.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org