By default set a 500 millisecond timeout for each /poll request.
If the /poll request timeouts OR returns something other than 200 OK, grow the failure count of the system by 1. Issue a new /poll request immediately after.
Do not consider a reply other than 200 OK as a "successful return" when inspecting wether all remote services have returned successfully and wether the first state flush can be executed.
If the failure count grows to larger than 2, consider the node to be disabled (allow 2 failures). If node gets disabled, it counts as "returned successfully" when inspecting the above.
Reset the failure count of a node each time it returns 200 OK (even if the 200 OK result was empty).
Both of these variables (timeout milliseconds and grace count) should be configurable on the system level at the beginning.
By default set a 500 millisecond timeout for each /poll request.
If the /poll request timeouts OR returns something other than 200 OK, grow the failure count of the system by 1. Issue a new /poll request immediately after.
Do not consider a reply other than 200 OK as a "successful return" when inspecting wether all remote services have returned successfully and wether the first state flush can be executed.
If the failure count grows to larger than 2, consider the node to be disabled (allow 2 failures). If node gets disabled, it counts as "returned successfully" when inspecting the above.
Reset the failure count of a node each time it returns 200 OK (even if the 200 OK result was empty).
Both of these variables (timeout milliseconds and grace count) should be configurable on the system level at the beginning.