We have a mobile application that uses the Sync Gateway to keep documents up to date. That same application also has a web site that can write data. In order to keep everything synced properly, the website access the coucbase data via the Sync Gateway also. The first time we attempt to write to the sync gateway from the website, we receive the following errors in the log.
10:23:45.618608 HTTP+: #154: --> 201 (62.1 ms)
10:23:45.641556 HTTP: #155: PUT /<coubhbasebucket>/groupdata::15::2015::03::09?rev= (ADMIN)
10:23:45.785649 HTTP+: #155: --> 201 (144.1 ms)2015/03/09 10:23:49 go-couchbase: call to Do("groupdata::08::2015::03::09") in
github.com/couchbaselabs/go-couchbase.(*Bucket).casNext took 18.9097081s
10:23:49.848933 WARNING: Couldn't interpret error type *net.OpError, value WSARecv tcp
10.10.3.39:61617: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. -- base.ErrorAsHTTPStatus() at error.go:63
10:23:49.852932 HTTP: #143: --> 500 Internal error: WSARecv tcp ##.##.#.##:61617: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (18918.7 ms)
We have set up a ping to perform a GET against the sync gateway every 30 minutes in an attempt to keep the connection awake but this does not seem to have resolved the put issue. We do not receive timeouts any more on the GET's. Is there anything we can do to prevent the first PUT from failing? Something we can keep alive on the Couchbase server?