Commit Graph

203 Commits

Author SHA1 Message Date
Evan Tschannen f1dca05cf3
Merge pull request #3194 from etschannen/feature-small-endpoint
Optimized failure monitor performance
2020-05-20 14:48:13 -07:00
Evan Tschannen 6a006c4c1f use the first RequestStream as the base endpoint 2020-05-20 13:52:22 -07:00
Evan Tschannen 459186dad0 revert previous change to bit shift 2020-05-20 12:32:50 -07:00
Evan Tschannen dfc152ebb3 shift the bits farther 2020-05-20 11:34:24 -07:00
Evan Tschannen c09a28b0db speed up comparison of endpoints 2020-05-19 20:41:56 -07:00
Evan Tschannen bf9f24beb5 fixed mismatch of Endpoint UIDs 2020-05-19 17:16:41 -07:00
Evan Tschannen 9313e490aa change the first part of the UID to make comparisons cheaper 2020-05-19 16:48:20 -07:00
Vishesh Yadav afe6bf19e2 Fix typos and whitespace 2020-05-11 12:53:19 -07:00
Vishesh Yadav 9dc65547ad Avoid setting failure status of local addresses in main thread 2020-05-11 11:24:19 -07:00
Evan Tschannen f0f52fb2be Merge branch 'master' into feature-small-endpoint
# Conflicts:
#	fdbclient/StorageServerInterface.h
2020-05-08 16:37:35 -07:00
Evan Tschannen 51d3aaf4ae fixed a few rare correctness bugs 2020-05-06 23:24:58 -07:00
tclinken bc19f70455 Move delayedHealthUpdateF declaration 2020-05-01 18:14:51 -07:00
Evan Tschannen c126422296 fix: firstFree was not reset after using all available space 2020-05-01 17:46:20 -07:00
Evan Tschannen fd0ee72293 Merge branch 'master' into feature-small-endpoint 2020-04-29 18:43:10 -07:00
Evan Tschannen 76fb345dd1 Merge branch 'master' into feature-tree-broadcast
# Conflicts:
#	fdbrpc/FailureMonitor.actor.cpp
2020-04-29 09:51:22 -07:00
Evan Tschannen 2b2e0b9f75
Merge pull request #2932 from vishesh/task/issue-1017-slow-machine-poisoning
FailureMonitoring: Mark unstable connections as failed [1/X]
2020-04-28 13:57:49 -07:00
Evan Tschannen b7f5f3be48 merge in master 2020-04-28 13:11:47 -07:00
Evan Tschannen c87aa33941 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	bindings/go/src/fdb/generated.go
#	documentation/sphinx/source/api-common.rst.inc
#	documentation/sphinx/source/api-ruby.rst
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/FailureMonitorClient.actor.cpp
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/vexillographer/fdb.options
#	fdbrpc/FlowTransport.actor.cpp
#	fdbserver/OldTLogServer_6_0.actor.cpp
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	versions.target
2020-04-23 13:47:53 -07:00
Vishesh Yadav c30010f5b8 FlowTransport: Increase delay for connecting to failed connections 2020-04-23 09:44:30 -07:00
Evan Tschannen a835123680 exit fdbserver after a ReceiverError, because a packet which should be delivered will never be received 2020-04-22 23:38:46 -07:00
Evan Tschannen 810bba2067 cleanup calls to FlowTransport::isClient() 2020-04-22 23:36:40 -07:00
Vishesh Yadav 3a5315d10c FlowTransport: Don't immediately mark connections failed
In connectionKeeper(), when a connection is failed for
FAILURE_DETECTION_DELAY, then only mark connection as failed.

This is much closer to the original centralized behaviour, and also
adds more confidence on whether the connection is actually failed.
2020-04-22 19:46:04 -07:00
Vishesh Yadav 500a265d20 FlowTransport: Refactor and clear FailureStatus on destroy 2020-04-21 14:11:19 -07:00
Vishesh Yadav 992002cf34 FlowTransport: don't start connectionKeeper for local peer
getOrOpenPeer() is used for local addresses sometimes, which ends up
starting connectionKeeper() which is unnecessary.
2020-04-16 14:04:32 -07:00
Vishesh Yadav da7d0093ee Cleanup unused code 2020-04-15 19:48:25 -07:00
Vishesh Yadav 023372a226 FailMon: Mark peer failed after retrying 2020-04-15 19:47:24 -07:00
Vishesh Yadav f959af8228 Refactor per review comments 2020-04-14 11:30:40 -07:00
Evan Tschannen dbf6afc78e more space efficient endpoint map 2020-04-12 23:51:20 -07:00
Evan Tschannen ff5543b579 working implementation 2020-04-12 22:18:51 -07:00
Evan Tschannen 0c2e8b9462 only serialize a single endpoint for an interface 2020-04-12 16:04:48 -07:00
Evan Tschannen 07cc0a8d74 code cleanup 2020-04-10 17:02:11 -07:00
Vishesh Yadav fed5c543d4 Remove leftover TODO code around centralized healthmonitor 2020-04-08 22:56:07 -07:00
Vishesh Yadav 36d89db4e7 FlowTransport: Don't always close unused open connection 2020-04-06 23:05:29 -07:00
Vishesh Yadav 4214c45218 FlowTransport: Temporarily keep idle connections open for server processes 2020-04-06 21:27:54 -07:00
Evan Tschannen 2a1bd97120 fix compilation errors 2020-04-06 20:58:43 -07:00
Evan Tschannen 477d66b46d implemented a tree broadcast for txn state message for proxies, and serverDBInfo for workers 2020-04-05 23:09:36 -07:00
Vishesh Yadav fdc1048f75 Add knob to turn off marking unstable connections 2020-04-03 15:53:00 -07:00
Vishesh Yadav 613b8bb169 More TraceEvents and remove 'delayed' used for debugging 2020-04-03 15:53:00 -07:00
Vishesh Yadav 1d35f2ff5a Mark a connection as failed for X seconds if closes too often 2020-04-03 15:53:00 -07:00
Vishesh Yadav d90e168e24 Add HealthMonitoring skeleton code 2020-04-03 15:53:00 -07:00
Evan Tschannen 303df197cf Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	documentation/sphinx/source/release-notes.rst
#	fdbbackup/backup.actor.cpp
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/NativeAPI.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogRouter.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/fdbserver.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/flow.vcxproj
#	flow/flow.vcxproj.filters
#	versions.target
2020-03-06 18:22:46 -08:00
Evan Tschannen 976c2fc7a8
Update fdbrpc/FlowTransport.actor.cpp
Co-Authored-By: Alex Miller <35046903+alexmiller-apple@users.noreply.github.com>
2020-03-04 16:13:59 -08:00
Evan Tschannen 820957025f accept connections in batches of 20 to improve performance 2020-03-04 14:24:57 -08:00
Evan Tschannen 924d335aa7 Merge branch 'release-6.2'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	flow/Knobs.cpp
#	flow/Knobs.h
2020-02-25 18:25:19 -08:00
Evan Tschannen 65fbe0d0bc revert AcceptSocket priority change because of bad performance results 2020-02-21 19:22:14 -08:00
Evan Tschannen 96258b9809 Merge branch 'release-6.2'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/FlowTransport.actor.cpp
#	fdbserver/ClusterController.actor.cpp
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/DataDistribution.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/KeyValueStoreMemory.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/QuietDatabase.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/StorageMetrics.actor.h
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/KVStoreTest.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/genericactors.actor.cpp
#	flow/serialize.h
2020-02-21 19:09:16 -08:00
Evan Tschannen dc3826e2fd fix: tls throttling would re-insert the failure into the map 2020-02-20 18:17:39 -08:00
Evan Tschannen f04e311a1e Merge commit 'b46d6e25e24993ab5a5f04091fd3235050b7cd09' into feature-boost-ssl
# Conflicts:
#	fdbserver/SimulatedCluster.actor.cpp
#	flow/Net2.actor.cpp
2020-02-20 17:36:38 -08:00
Evan Tschannen 3c4d551647 improve prioritization of connection monitor and listen given that listen is no longer expensive (because handshake is done separately) 2020-02-19 18:50:21 -08:00
Evan Tschannen 46d5f5e325 do not trigger the resetPing if we cannot actually remove the peer, because it will cause us to reset the timeout, so repeated calls to removePeer can keep a dead peer from being removed 2020-02-19 15:17:50 -08:00