Bug 199584

Summary: Handbook, hast.conf manpage, and wiki inconsistency on default replication method
Product: Documentation Reporter: Walton Hoops <me>
Component: Books & ArticlesAssignee: freebsd-doc (Nobody) <doc>
Status: Closed FIXED    
Severity: Affects Only Me CC: brueffer, danger, pjd, trociny
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Walton Hoops 2015-04-21 16:37:13 UTC
The Handbook for HAST indicates that if no replication method is specified, fullsync is used. The man page for hast.conf specifies memsync as the default. Most confusing, the wiki states that only memsync is implemented, but fullsync is the default.

Relevant excerpts:

Handbook:
fullsync: This mode reports a write operation as completed when both the local write and the remote write complete. This is the safest and the slowest replication mode. This mode is the default.

hast.conf(5):
(final line under the memsync replication mode)
The memsync replication mode is the default.

Wiki:
Currently only the first replication mode described below is supported, but other replication modes are described as well to show the difference and to note desire for implementing them.

    memsync - Report write operation as completed when local write completes and when remote node acknowledges data arrival, but before actually storing the data. The data on remote node will be stored directly after sending answer. This mode is intended to reduce latency, but still provide very good reliability. The only situation where some small amount of data could be lost is when data is stored on primary and sent to secondary. Secondary then acknowledges data and primary reports success to an application. Before data is really stored on secondary node, it goes down for some period of time. Before secondary returns, primary node dies entirely. Secondary node comes back to life and becomes new primary. Unfortunately some small amount of data that was confirmed to be safe to the application was lost. The risk of such situation is very low. The memsync replication mode is currently not implemented.

    fullsync - Report write operation as completed when local write completes and when remote write completes. This is the safest and the slowest replication mode. The fullsync replication mode is the default.

    async - Report write operation as completed when local write completes. This is the fastest and the most dangerous replica- tion mode. This mode should be used when replicating to a distant node where latency is too high for other modes. The async replication mode is currently not implemented.
Comment 1 Daniel Gerzo freebsd_committer freebsd_triage 2015-04-22 07:19:30 UTC
trociny@, pjd@, could you guys comment on this please?
Comment 2 Christian Brueffer freebsd_committer freebsd_triage 2015-12-15 12:26:04 UTC
The handbook statement was outdated; it was corrected by bhd in r47064 4 months ago.  I have now updated the Wiki in the same manner.

memsync is the default on all supported releases.

Thanks for the notice!