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

Jacek Lewandowski commented on CASSANDRA-18153:
-----------------------------------------------

I don't know exactly how to reproduce this, but assuming this is a possible 
scenario, I want to propose a mix of something brought by all of us. In 
particular:
- in all the places where we try to get host id, we try first from token 
metadata and then from system.local
- if we start a fresh instance (that is, there is no commit log files to 
replay), we conditionally create a host id in the system.local table and flush 
that table; we do that along with storing other local node metadata, before 
touching schema or the commit log

With that, we are guaranteed that host id is stored in sstable and not as a 
mutation in the commit log before we actually start to replay anything.


> Memtable being flushed without hostId in version "me" and newer during 
> CommitLogReplay
> --------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18153
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18153
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Adriano Bonacin
>            Assignee: Adriano Bonacin
>            Priority: Normal
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> On ticket CASSANDRA-16619 some files were changed to allow Cassandra to store 
> HostID in the new "me" SSTable version.
> But SSTables flushed during CommitLogReplay miss this HostID info.
>  
> In the next Cassandra startup, if these SSTables were still present, 
> system.log will show:
> {{WARN Origin of 3 sstables is unknown or doesn't match the local node; 
> commitLogIntervals for them were ignored}}
> {{WARN }}{{{}Origin of 3 sstables is unknown or doesn't match the local node; 
> commitLogIntervals for them were ignored{}}}{{{}{}}}{{ }}
>  
> And debug.log will show a list of SSTables, witch can include "md" and "me" 
> version (before upgradesstables):
>  
> {{Ignored commitLogIntervals from the following sstables: 
> [/var/lib/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/me-3-big-Data.db,
>  
> /var/lib/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/md-1-big-Data.db,
>  
> /var/lib/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/md-2-big-Data.db]}}
>  
> https://issues.apache.org/jira/browse/CASSANDRA-16619



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

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

Reply via email to