ArangoDB 2.7.2 comes with replication improvements and some bug fixes. You can download the latest version from our download page.
autoResyncconfiguration parameter for continuous replication.
When set to
true, a replication slave will automatically trigger a full data re-synchronization with the master when the master cannot provide the log data the slave had asked for. Note that
autoResyncwill only work when the option
requireFromPresentis also set to
truefor the continuous replication, or when the continuous syncer is started and detects that no start tick is present.
Automatic re-synchronization may transfer a lot of data from the master to the slave and may be expensive. It is therefore turned off by default. When turned off, the slave will never perform an automatic re-synchronization with the master.
idleMaxWaitTimeconfiguration parameters for continuous replication.
These parameters can be used to control the minimum and maximum wait time the slave will (intentionally) idle and not poll for master log changes in case the master had sent the full logs already. The
idleMaxWaitTimevalue will only be used when
adapativePollingis set to
adaptivePollingis disable, only
idleMinWaitTimewill be used as a constant time span in which the slave will not poll the master for further changes. The default values are 0.5 seconds for
idleMinWaitTimeand 2.5 seconds for
idleMaxWaitTime, which correspond to the hard-coded values used in previous versions of ArangoDB.
initialSyncMaxWaitTimeconfiguration parameter for initial and continuous replication
This option controls the maximum wait time (in seconds) that the initial synchronization will wait for a response from the master when fetching initial collection data. If no response is received within this time period, the initial synchronization will give up and fail. This option is also relevant for continuous replication in case autoResync is set to true, as then the continuous replication may trigger a full data re-synchronization in case the master cannot the log data the slave had asked for.
HTTP requests sent from the slave to the master during initial synchronization will now be retried if they fail with connection problems.
the initial synchronization now logs its progress so it can be queried using the regular replication status check APIs.
This release also fixes several issues:
fixed non-deterministic query results in some cluster queries
- added missing lock instruction for primary index in compactor size calculation
- fixed issue #1589 (AQL filter doc “IN” json misbehave)
- fixed issue #1583 (dropped filter condition in optimizer rule w/ index)
- fixed undefined behavior when accessing the top level of a document with the
- fixed potentially invalid pointer access in shaper when the currently accessed document got re-located by the WAL collector at the very same time
- Foxx: optional configuration options no longer log validation errors when assigned empty values (#1495)
- Foxx: constructors provided to Repository and Model sub-classes via extend are now correctly called (#1592)