Commit Graph

5 Commits (03f291d78cf95e702af09a1a7805339b6d890322)

Author SHA1 Message Date
Jason Wilder 9cb243083f Fix race in tcp.Mux
The handler connection channel was closed while writing to it.  We now wait for all
connections to be demux before closing the channels.
2015-09-04 15:10:17 -06:00
Jason Wilder 4ed694ab7b Handle demux connections in separate goroutine
The mux listener was handling connections and demux serially.  This could cause
issues if one handler was slow or blocked.  For example, if a node had many
hinted handed writes queued for a down node, when the down node was started, it
would start handling the write requests (possibly before it had synchronized with
the cluster).  This would cause the connectiosn to block and also prevent the cluster
synchronization from occuring because they both use the same mux listener.

Fixes #3960
2015-09-04 14:52:08 -06:00
Ben Johnson deff06f850 add copier service
This commit adds the copier service which allows one server to
copy shards from another server. This will be used for moving
shards in the cluster.
2015-09-03 13:07:35 -06:00
runner.mei 015adc949c Make InfluxDB win32 friendly, fix unit test is failed on the windows 2015-06-10 07:29:08 +08:00
Ben Johnson 9b08fadaa9 Add tcp.Mux.
This commit adds tcp.Mux which multiplexes connections over TCP using
the first byte as the header byte. Users can listen to the muxer
using mux.Listen(hdr) and obtain a net.Listener.
2015-06-05 10:30:35 -06:00