tree 9a7c6e25c530b0dc68fb40c51a9184121ed54689
parent a2d05e91090bdd0b54284df0a40397e729e665e2
author Saša Živkov <sasa.zivkov@sap.com> 1711813363 +0100
committer Saša Živkov <sasa.zivkov@sap.com> 1715609880 +0200

Add indexSync feature a new way to keep indexes in sync

Message exchange between Gerrit servers, as the main approach to keeping
indexes in sync, works well  as long as all messages get passed.
However, if for some reason (Gerrit restart/crash, networking issue
etc.) some queued messages get lost the indexes will diverge and go out
of sync and the message exchange mechanism alone will not bring the
indexes back to sync. This plugin provides also the autoReindex feature
as a mean to resynchronize such diverged indexes but this is an
expensive, slow and brute force approach: traverses all changes in all
repositories. It can take hours until stale/missing index entries are
updated.

The new "indexSync" feature is based on the assumption that each change
has an up-to-date index entry in at least one of the indexes, at any
point in time: namely in the index on the Gerrit site where it was
created or last updated. Each Gerrit site runs a periodic indexSync task
which:
* queries the other Gerrit servers in the same HA cluster for changes
  younger than given age ("younger" is defined by the last-updated time)
* schedules asynchronous index-if-stale for each of the changes received
  in the response.

The indexSync task can be used complimentary with message forwarding for
self-healing of the stale change index entries. This approach will
bring indexes in sync as long as the above assumption holds.

The initial indexSync task is run once on Gerrit start and the age
parameter in this case is typically larger, to accommodate max foreseen
downtime.

Periodic indexSync task runs then use smaller age parameter.

The age and other parameters are specified in the [indexSync] section.
Example:

  [indexSync]
    initialSyncAge = 1hour
    syncAge = 2minutes
    period = 2seconds

The initial sync will query for all changes of age 1 hour or less and
reindex them.
The periodic indexSync task is scheduled to run every 2 seconds and will
query for changes of age 2 minutes or less and reindex them.

Local reindexing will not generate indexing events.

Also add a note about the risks of exposing this plugin's endpoints to
the users.

Change-Id: I55564aebc421b20fcfb5ee3983fa12fc7cd9754b
