[
https://issues.apache.org/jira/browse/CASSANDRA-14271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16381797#comment-16381797
]
Kenneth Brotman commented on CASSANDRA-14271:
---------------------------------------------
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://github.com/apache/cassandra/blob/trunk/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://github.com/apache/cassandra/blob/trunk/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: the above was written by Kurt Greaves for Issue#14128
> 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]