Setting the deadline

Adjust maximum time between validations of the same data.

Each table with NodeSync enabled has a deadline_target_sec property. This is the target for the maximum time between 2 validations of the same data. As long as the deadline is met, all parts of the ring (for the table) are validated at least that often.

The deadline (deadline_target_sec) relates to grace period (gc_grace_seconds). The deadline should always be less than or equal to the grace period. As long as the deadline is met, no data is resurrected due to tombstone purging.

The deadline defaults to which ever is longer, the grace period or four days. Typically an acceptable default, unless the table has a grace period of zero. For testing, the deadline value can be less than the grace period. Verify for a few weeks if a lower gc_grace value is realistic without taking risk before changing it.

NodeSync prioritize segments in order to try to meet the deadline. The next segment to validate at any given time is the one the closest to missing its deadline. For example, if table 1 has half the deadline of table 2, table 1 validates approximately twice as often as table 2.

Use OpsCenter to get a graphical representation of the NodeSync validation status. See Viewing NodeSync Status.

The syntax to change the per-table nodesync property:
ALTER TABLE table_name 
WITH nodesync = { 'enabled': 'true',
                  'deadline_target_sec': value };