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

Paul Chandler updated CASSANDRA-19495:
--------------------------------------
    Description: 
I have a scenario where a node goes down, hints are recorded on the second node 
and replayed, as expected. If the first node goes down for a second time and 
time span between the first time it stopped and the second time it stopped is 
more than the max_hint_window then the hint is not recorded, no hint file is 
created, and the mutation never arrives at the node after it comes up again.

I have debugged this and it appears to due to the way hint window is persisted 
after https://issues.apache.org/jira/browse/CASSANDRA-14309

The code here: 
[https://github.com/apache/cassandra/blame/cassandra-4.1/src/java/org/apache/cassandra/service/StorageProxy.java#L2402]
 uses the time stored in the HintsBuffer.earliestHintByHost map.  This map is 
based on the UUID of the host, but this does not seem to be cleared when the 
node is back up, and I think this is what is causing the problem.

 

This is in cassandra 4.1.5

  was:
I have a scenario where a node goes down, hints are recorded on the second node 
and replayed, as expected. If the first node goes down for a second time and 
time span between the first time it stopped and the second time it stopped is 
more than the max_hint_window then the hint is not recorded, no hint file is 
created, and the mutation never arrives at the node after it comes up again.

I have debugged this and it appears to due to the way hint window is persisted 
after https://issues.apache.org/jira/browse/CASSANDRA-14309

The code here: 
[https://github.com/apache/cassandra/blame/cassandra-4.1/src/java/org/apache/cassandra/service/StorageProxy.java#L2402]
 uses the time stored in the HintsBuffer.earliestHintByHost map.  This map is 
based on the UUID of the host, but this does not seem to be cleared when the 
node is back up, and I think this is what is causing the problem.


> Hints not stored after node goes down for the second time
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-19495
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19495
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Hints
>            Reporter: Paul Chandler
>            Priority: Normal
>
> I have a scenario where a node goes down, hints are recorded on the second 
> node and replayed, as expected. If the first node goes down for a second time 
> and time span between the first time it stopped and the second time it 
> stopped is more than the max_hint_window then the hint is not recorded, no 
> hint file is created, and the mutation never arrives at the node after it 
> comes up again.
> I have debugged this and it appears to due to the way hint window is 
> persisted after https://issues.apache.org/jira/browse/CASSANDRA-14309
> The code here: 
> [https://github.com/apache/cassandra/blame/cassandra-4.1/src/java/org/apache/cassandra/service/StorageProxy.java#L2402]
>  uses the time stored in the HintsBuffer.earliestHintByHost map.  This map is 
> based on the UUID of the host, but this does not seem to be cleared when the 
> node is back up, and I think this is what is causing the problem.
>  
> This is in cassandra 4.1.5



--
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