ArangoDB 2.7.2: Replication Improvements
ArangoDB 2.7.2 comes with replication improvements and some bug fixes. You can download the latest version from our download page.
Replication improvements:
- added
autoResync
configuration 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 thatautoResync
will only work when the optionrequireFromPresent
is also set totrue
for 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.
- added
idleMinWaitTime
andidleMaxWaitTime
configuration 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
idleMaxWaitTime
value will only be used whenadapativePolling
is set totrue
. WhenadaptivePolling
is disable, onlyidleMinWaitTime
will 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 foridleMinWaitTime
and 2.5 seconds foridleMaxWaitTime
, which correspond to the hard-coded values used in previous versions of ArangoDB. - added
initialSyncMaxWaitTime
configuration parameter for initial and continuous replicationThis 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
[*]
operator - 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)
Get the latest tutorials, blog posts and news: