From 34984e47645e1854952b18288bdb1c7435e49642 Mon Sep 17 00:00:00 2001 From: Mike Morris Date: Thu, 25 Jul 2019 16:01:33 -0400 Subject: [PATCH] docs: add TCP half-close broken pipe to common errors (#6203) --- website/source/docs/common-errors.html.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/website/source/docs/common-errors.html.md b/website/source/docs/common-errors.html.md index 5c925b4f39..2907c30f71 100644 --- a/website/source/docs/common-errors.html.md +++ b/website/source/docs/common-errors.html.md @@ -79,6 +79,14 @@ On a busy cluster, the operating system may not provide enough file descriptors Or, if you are starting Consul from `systemd`, you could add `LimitNOFILE=65536` to the unit file for Consul. You can see our example unit file [here][systemd]. +## Snapshot close error + +Our RPC protocol requires support for a TCP half-close in order to signal the other side that they are done reading the stream, since we don't know the size in advance. This saves us from having to buffer just to calculate the size. + +If a host does not properly implement half-close you may see an error message `[ERR] consul: Failed to close snapshot: write tcp ->: write: broken pipe` when saving snapshots. This should not affect saving and restoring snapshots. + +This has been a [known issue](https://github.com/docker/libnetwork/issues/1204) in Docker, but may manifest in other environments as well. + ## ACL Not Found ```