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

Kenneth Brotman edited comment on CASSANDRA-14271 at 3/1/18 10:29 AM:
----------------------------------------------------------------------

h2. Hints

Hints in Cassandra provide a mechanism for ensuring consistency amongst 
replicas across configurable periods of downtime, and when replicas fail to 
acknowledge a write.

Each hint represents a single mutation which is a write made by a client. Hints 
are stored as flat-files on disk, and are labelled as 
{{<hostID>-<timestamp>-<version>.hints}}. A single file contains the stored 
hints for exactly one node in the cluster, based off its {{hostID}} as reported 
in {{nodetool status}}. A host can have multiple hint files, as there is a size 
limit on a single hintfile of 128MB, these are differentiated by the 
{{timestamp}} which is the point at which the hint file is created. 
{{<version>}} is the hint format version of the file. A crc file is created 
alongside each hint file, which covers all hints in the file.

By default a coordinator will store the first 3 hours of hints for a node, and 
this is configurable by the yaml property 
[max_hint_window_in_ms|https://issues.apache.org/kgreav/cassandra/blob/f30a7dab7f2871fd4b88352f4b17129c02425484/doc/latest/configuration/cassandra_config_file.html#max-hint-window-in-ms].
 After a node has been down for longer than the configured window, no more 
hints are stored and a repair will be necessary after the node is recovered. 
Replayment of hints is attempted every 10 seconds, and continues until the 
hints are successful. If a hint fails to be replayed the position in the hint 
file will be reset and it will automatically be retried at the next hint replay 
attempt.

Note that a node that has been down will serve inconsistent data until all 
hints destined for that node are replayed, and if the node has been down longer 
than the configured hint window data on that node will be inconsistent until a 
repair has occured for the affected data.

A hint is stored for all replicas on the coordinator node in the following 
cases:
 # When a subset of replicas are down, but enough are still alive to satisfy a 
consistency level >= {{ONE}}.
 # When all replicas are down but the consistency level for the query was 
{{ANY}}.
 # When a replica that was sent the mutation doesn't acknowledge it 
successfully applied. I.e, the query times out.

A hint does not count towards the Consistency Level for any level other than 
[ANY|https://issues.apache.org/kgreav/cassandra/blob/f30a7dab7f2871fd4b88352f4b17129c02425484/doc/latest/architecture/dynamo.html?highlight=consistency%20level#tunable-consistency].
 An INSERT at ANY will be successful as long as _at least_ one hint is written.

 

Note: This text was written by Kurt Greaves for Issue# 14128.


was (Author: kenbrotman):
 

 
h1. 
 
h1. [|#hints]Hints

Hints in Cassandra provide a mechanism for ensuring consistency amongst 
replicas across configurable periods of downtime, and when replicas fail to 
acknowledge a write.

Each hint represents a single mutation which is a write made by a client. Hints 
are stored as flat-files on disk, and are labelled as 
{{<hostID>-<timestamp>-<version>.hints}}. A single file contains the stored 
hints for exactly one node in the cluster, based off its {{hostID}} as reported 
in {{nodetool status}}. A host can have multiple hint files, as there is a size 
limit on a single hintfile of 128MB, these are differentiated by the 
{{timestamp}} which is the point at which the hint file is created. 
{{<version>}} is the hint format version of the file. A crc file is created 
alongside each hint file, which covers all hints in the file.

By default a coordinator will store the first 3 hours of hints for a node, and 
this is configurable by the yaml property 
[max_hint_window_in_ms|https://issues.apache.org/kgreav/cassandra/blob/f30a7dab7f2871fd4b88352f4b17129c02425484/doc/latest/configuration/cassandra_config_file.html#max-hint-window-in-ms].
 After a node has been down for longer than the configured window, no more 
hints are stored and a repair will be necessary after the node is recovered. 
Replayment of hints is attempted every 10 seconds, and continues until the 
hints are successful. If a hint fails to be replayed the position in the hint 
file will be reset and it will automatically be retried at the next hint replay 
attempt.

Note that a node that has been down will serve inconsistent data until all 
hints destined for that node are replayed, and if the node has been down longer 
than the configured hint window data on that node will be inconsistent until a 
repair has occured for the affected data.

A hint is stored for all replicas on the coordinator node in the following 
cases:
 # When a subset of replicas are down, but enough are still alive to satisfy a 
consistency level >= {{ONE}}.
 # When all replicas are down but the consistency level for the query was 
{{ANY}}.
 # When a replica that was sent the mutation doesn't acknowledge it 
successfully applied. I.e, the query times out.

A hint does not count towards the Consistency Level for any level other than 
[ANY|https://issues.apache.org/kgreav/cassandra/blob/f30a7dab7f2871fd4b88352f4b17129c02425484/doc/latest/architecture/dynamo.html?highlight=consistency%20level#tunable-consistency].
 An INSERT at ANY will be successful as long as _at least_ one hint is written.

 

> The Hints web page in the web site is empty
> -------------------------------------------
>
>                 Key: CASSANDRA-14271
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14271
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Documentation and Website
>            Reporter: Kenneth Brotman
>            Priority: Major
>
> [http://cassandra.apache.org/doc/latest/operating/hints.html]
> is empty.  Please contribute content.  Myself or someone else will take it 
> from there.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to