Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Authors: Mario Ivanac

Status: Draft  Draft | Discussion | Active | Dropped | Superseded

...

In linked PR you can find distributed test for reproduction of problem.

Anti-Goals

Solution

When replicating to other servers, current logic would first create connections toward all servers, and then replicate data over those connections. Creation of connections will last, until all connections are created, or destination server/s is/are declared dead.

New proposal is, when replicating data, first try to create connections to all destinations in one attempt. For all created connections we will replicate data. After this step is completed, we will try to create remaining connections to all unreachable destinations, until connections are established, or destination is declared dead. If connections are established we will replicate data.

Linked PR: https://github.com/apache/geode/pull/7381


Other solution explored that have been discarded is:

Add logic, for storing of last N (configurable value) key - sequence Id pairs, instead of only last sequence Id.

User will configure size of last stored "key - sequence Id" Map.

Default value is 0, feature disabled

Value greater than 0, feature activated (calculate according to formula =  3 x member-timeout / read-timeout)

PR with proposed solution: https://github.com/apache/geode/pull/7214


Changes and Additions to Public Interfaces

...