NodeSync automatically and continuously synchronizes replicas of designated keyspaces and tables of a cluster as a background process. The NodeSync Service is initially enabled by default, but the keyspaces and tables that are actively monitored by the OpsCenter NodeSync Service must be enabled. Enable keyspaces and tables with a click of a button in the Settings area of NodeSync.
NodeSync metrics for alerts and dashboard graphs
NodeSync metrics are available to indicate progress on repaired data and objects (rows and range tombstones), validated data and objects, and processed pages details. Set up alerts and dashboard graphs based on NodeSync metrics pertinent to your production environment.
NodeSync Best Practice Rule
The NodeSync Best Practice Service rule checks that NodeSync is running on each node. The NodeSync Not Running rule in the Best Practice Service fails if the NodeSync Service is not running, unless the rule has been turned off.
For more details, see the Best Practice Service.
Tuning throughput for NodeSync
NodeSync is not self-tuning.
If the syncs are not completing within the
gc_grace period for a table, throughput must be adjusted by an operator or administrator using the
Adjusting the throughput rate for NodeSync can conveniently be set in a Lifecycle Manager Config Profile and the configuration update pushed out by running a configuration job.
See Configuring the NodeSync rate using LCM.
For information about manually configuring NodeSync, refer to the nodetool nodesyncservice.
To determine the optimal rate, use the nodetool nodesyncservice ratesimulator. For complete details, refer to Configuring NodeSync Rates.
NodeSync Service versus Repair Service
Unlike incremental repairs in the Repair Service, the NodeSync Service does not build a Merkle tree for comparisons and stream differences for compaction. Rather, the NodeSync incrementally scans a token range, compares data a page at a time, and sends data over the standard write path.
Tables that do not have NodeSync turned on (or that do) can use the classic Repair Service. The Repair Service does not start any subrange or incremental repairs on tables that have NodeSync enabled and running until the NodeSync operation completes.
A manual nodetool repair or a repair operation from the OpsCenter node administration menu fails to run if a NodeSync-enabled table is targeted.
The legacy Repair Service can work in conjunction with the NodeSync Service. If preferable for an environment, tables can be repaired (synchronized) using either the legacy Repair Service or the NodeSync service. If a legacy repair (also known as classic incremental or subrange repairs) is in progress for a table that has NodeSync enabled, NodeSync waits for the classic repair to finish before proceeding. If a classic repair is launched against a keyspace with NodeSync enabled on some but not all tables, a warning is logged and classic repair jobs are started for the non-NodeSync tables.
For operational simplicity and better performance, DataStax recommends running NodeSync Service exclusively rather than the legacy Repair Service.