-
Notifications
You must be signed in to change notification settings - Fork 393
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial tidy Remove legacy code from handoff_sender. The handoff_receiver must keep unused references, as during an upgrade an updated node could be a receiver to a non-updated node sending. For non-batch not such an issue, as all supported versions for upgrade already supported batch. However, receiver must still indicate it supports batch due to above problem. All handoff receiver/sender code tidied down to 80-column width * Change AckSync to every batch by default Do away with timer based sync, and ack-sync based on threshold only. Also log ongoing transfer progress every ack-log threshold. Log at point of error reason for error - avoid generic {shutdown, timeout} error with no clue as to actual point of code origin. * Standardise send_sync into function Fix issue that configure message does not respond sync, and so another sync is now required. * Receiver needs vnode module not master * Make first log indicate batch_count of 0 Confusing that the first log on the sending of a batch will indicate a batch_count of 100 not 0 * Batch threshold can be either count or size Clarify log text, as batch_size no longer fixed * Reinstate keepalive of receiver Need to distinguish between failed fold and slow fold - and so the keepalive of the receiver has value. Now implemented by checking a keepalive_next time every visit item, rather than continuously entering and exiting selective receive * Further comments * Update after review * Metadata exchange on join Make a metadata exchange part of the join process. This prevents the situation where a bucket type is active in a cluster, then a node joins (as part of cluster expansion, say), but the bucket properties are not known to joining node during handoff of objects of that type. Now, the join cannot be staged without a metadata exchange, so that all joining nodes know of cluster metadata (e.g. bucket types) before the join is committed and handoffs start. * Attempt exchange on Join It is only an attempt - failure (i.e. timeout) would be no different to the current state with a potential race, so we don't block joins. Joins will normally be safer because of this.
- Loading branch information
1 parent
5da9f75
commit ad546ed
Showing
5 changed files
with
568 additions
and
415 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.