55e4cc7262
Added some optimizations to reduce the messages in the queue: 1) on join network the node execute a tcp sync with all the nodes that it is aware part of the specific network. During this time before the node was redistributing all the entries. This meant that if the network had 10K entries the queue of the joining node will jump to 10K. The fix adds a flag on the network that would avoid to insert any entry in the queue till the sync happens. Note that right now the flag is set in a best effort way, there is no real check if at least one of the nodes succeed. 2) limit the number of messages to redistribute coming from a TCP sync. Introduced a threshold that limit the number of messages that are propagated, this will disable this optimization in case of heavy load. Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com> |
||
---|---|---|
.. | ||
broadcast.go | ||
cluster.go | ||
delegate.go | ||
event_delegate.go | ||
message.go | ||
networkdb.go | ||
networkdb.pb.go | ||
networkdb.proto | ||
networkdb_test.go | ||
networkdbdiagnostic.go | ||
nodemgmt.go | ||
watch.go |