Configuring index recovery
To enable index recovery, you must configure some of the underlying entities.
Configurations used for index recovery
The configuration properties that must be set in <?>
atlas.index.recovery.enable
: To enable or disable index recovery. Based on this property you must configure JanusGraph write-ahead logs property root.tx.log-tx.Example: atlas.ndex.recovery.enable=true
atlas.graph.index.status.check.frequency
: To configure as to how frequently SOLR health check must be done. It takes input as time in milliseconds. By default SOLR health checkup takes effect every 30 secondsExample:
atlas.graph.index.status.check.frequency
=5000.- atlas.graph.index.recovery.start.time: To start index recovery by custom
recovery time as provided by the user. This property consumes the input as a
timestamp in milliseconds.
Example:
atlas.graph.index.recovery.start.time
=1630478608000. - write.ahead.log.ttl.in.hours: To configure the life of write-ahead
transaction log. This property consumes the input as a number of
hours.
Example:
write.ahead.log.ttl.in.hours
=36.
Index recovery time
Index recovery time persists in a single graph vertex.
Index recovery vertex has the following properties:
Property-1: Key as “__idxRecovery_name”
and with constant value as”__solrIndexRecoveryInfo”
.Property-2: Key as “__idxrecovery_startTime”
and holds the current recovery time.Property-3: Key as “__idxrecovery_prevTime”
andit holds the previous recovery time.
Whenever Solr becomes unhealthy the upcoming recovery time is logged in
Atlas application log as “Upcoming index recovery should start
from:<timestamp>”
When Solr becomes <term>Active</term>
again it
gets logged in Atlas application log as “Index recovery starts from :
<timestamp>”
, and then current recovery time is assigned to
previous recovery time and reset to null.