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

Stefan Miklosovic commented on CASSANDRA-21111:
-----------------------------------------------

Worth to say that we have two implementations of SSTable Id generator, sequence 
based and uuid-based. The latter has to produce globally unique SSTables IDs. 
But that does not mean that {{id}} has to be static, no? A writer which is 
supposed to write SSTables with UUID-based IDs can have a local {{id}} and it 
generates unique ID anyway - regardless of a table it is generated for. For 
sequence-based IDs, they start from "1" for each table, no? So they have to be 
local for that table too. 

It seems to me that {{id}} was made static simply because {{getNextId}} is. And 
{{genNextId}}, as a static method, can not use non-static variables in it. That 
method is only ever used in {{createWriter}} which is not static (above 
{{createDescriptor}} which is static). We might just make them both non-static 
and convert {{id}} to not be static either.

> Cassandra sstable generation ID's are a signed int which might overflow
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-21111
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21111
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Stefan Miklosovic
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need to triage this but this seems to be legit:
> We have hit an issue with a cluster that where sstable generation ID’s for a 
> peer has incremented so high that it has overflowed, which has introduced a 
> 2nd dash into the file name. For example:
> nb--2146021117-big-data.db
> This caused an issue with our solution which is aimed to consolidate 
> partition statistics in the data set. The current version of the solution 
> does not recognise the possibility of sstable generation ID’s being a 
> negative value - which causes it to fail.
> Workaround:
> Rename all sstables in the table to “reset” the generation ID.



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

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

Reply via email to