[ https://issues.apache.org/jira/browse/CASSANDRA-14309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407654#comment-17407654 ]
Stefan Miklosovic commented on CASSANDRA-14309: ----------------------------------------------- I have incorporated the above-mentioned logic into the same branch. PR: https://github.com/instaclustr/cassandra/tree/CASSANDRA-14309 build: [https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/1086] There is one not-so-obvious modification of the code I did upon Mick's review. The problem was that the map of the earliest hints for hosts in HintBuffer was growing without any boundary because this buffer (buffers) is/are reused but we have never removed anything from there. I am removing these entries after HintStore is closed upon flushing. I would advice a reader to dig deeper in the logic of hints to understand the problem presented and its solution I provide. > Make hint window persistent across restarts > ------------------------------------------- > > Key: CASSANDRA-14309 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14309 > Project: Cassandra > Issue Type: Improvement > Components: Consistency/Hints > Reporter: Kurt Greaves > Assignee: Stefan Miklosovic > Priority: Low > Fix For: 4.1 > > Time Spent: 1.5h > Remaining Estimate: 0h > > The current hint system stores a window of hints as defined by > {{max_hint_window_in_ms}}, however this window is not persistent across > restarts. > Examples (cluster with RF=3 and 3 nodes, A, B, and C): > # A goes down > # X ms of hints are stored for A on B and C > # A is restarted > # A goes down again without hints replaying from B and C > # B and C will store up to another {{max_hint_window_in_ms}} of hints for A > > # A goes down > # X ms of hints are stored for A on B and C > # B is restarted > # B will store up to another {{max_hint_window_in_ms}} of hints for A > > Note that in both these scenarios they can continue forever. If A or B keeps > getting restarted hints will continue to pile up. > > Idea of this ticket is to stop this behaviour from happening and only ever > store up to {{max_hint_window_in_ms}} of hints for a particular node. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org