home shape

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 that autoResync will only work when the option requireFromPresent is also set to true 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 and idleMaxWaitTime 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 when adapativePolling is set to true. When adaptivePolling is disable, only idleMinWaitTime 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 for idleMinWaitTime and 2.5 seconds for idleMaxWaitTime, which correspond to the hard-coded values used in previous versions of ArangoDB.

  • added initialSyncMaxWaitTime configuration 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 [*] 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)

Ingo Friepoertner

Ingo is dealing with all the good ideas from the ArangoDB community, customers and industry experts to improve the value provided by the company’s native multi-model approach. In former positions he worked as a product owner and tech consultant, building custom software solutions for large companies in various industries. Ingo holds a diploma in business informatics from FHDW University of Applied Sciences.

Leave a Comment

Get the latest tutorials, blog posts and news: