diff options
| author | Ronnie Sahlberg <sahlberg@ronnie> | 2007-10-19 08:58:30 +1000 |
|---|---|---|
| committer | Ronnie Sahlberg <sahlberg@ronnie> | 2007-10-19 08:58:30 +1000 |
| commit | d1ba047b7f8748ffa22bdbea29e4515e8be97d8b (patch) | |
| tree | 1f5ea21d2b3f3b6a38f21eb5a42aa42c71a33979 /ctdb/include | |
| parent | 755511d28df7d0f16abfc37e9c5a607e075fc7fe (diff) | |
add a new transport method so that when a node is marked as dead, we
shut down and restart the transport
othervise, if we use the tcp transport the tcp connection might try to
retransmit the queued data during the time the node is unavailable.
this together with the exponential backoff for tcp means that the tcp
connection quickly reaches the maximum backoff rto which is often 60 or
120 seconds. this would mean that it could take up to 60/120 seconds
before the tcp layer detects that the connection is dead and it has to
be reestablished.
(This used to be ctdb commit 0256db470879ce556b0f00070f7ebeaf37e529ab)
Diffstat (limited to 'ctdb/include')
| -rw-r--r-- | ctdb/include/ctdb_private.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h index 3298106d62..4eeb17ec8d 100644 --- a/ctdb/include/ctdb_private.h +++ b/ctdb/include/ctdb_private.h @@ -207,6 +207,7 @@ struct ctdb_methods { int (*queue_pkt)(struct ctdb_node *, uint8_t *data, uint32_t length); void *(*allocate_pkt)(TALLOC_CTX *mem_ctx, size_t ); void (*shutdown)(struct ctdb_context *); /* shutdown transport */ + void (*restart)(struct ctdb_node *); /* stop and restart the connection */ }; /* |
