Commit Graph

932 Commits

Author SHA1 Message Date
Evan Tschannen fd8a58b035 re-added support for the TLS_DISABLED flag 2020-02-19 18:37:47 -08:00
Evan Tschannen 761da5a059 code cleanup 2020-02-19 17:59:45 -08:00
Alex Miller 88d36af9c7 Fix --tls_password and add better error logging
This refactors all tls settings into a TLSParams object so that we can
set the password before loading any certificates.

It turns out that the FDBLibTLS code did really nice things with error
logging, but I just didn't understand openssl enough before to realize
what pieces I should be copying.
2020-02-19 00:57:05 -08:00
Evan Tschannen 693e469003 Changed the handshake lock to a BoundedFlowLock, which will enforce that old handshakes complete before starting to initiate new handshakes 2020-02-14 16:49:52 -08:00
Evan Tschannen 321dded7dd rely on preverified to verify the certificate 2020-02-14 16:45:04 -08:00
Alex Miller 723a70b357 Call X509_verify_cert once and implement time checking by hand 2020-02-13 21:31:36 -08:00
Alex Miller d716c50000 Find OpenSSL or LibreSSL in CMake 2020-02-13 21:31:36 -08:00
Alex Miller 8298fb3cb5 Remove spammy traceevent from testing 2020-02-13 21:31:36 -08:00
Evan Tschannen dcbce3593e fixed TLS in simulation 2020-02-10 14:00:21 -08:00
Alex Miller 2a2bf945ef Also remove FDBLibTLS from CMake 2020-02-06 21:55:13 -08:00
Alex Miller e390dbd36c Add a non-FDBLibTLS verify peers framework to new TLS impl 2020-02-06 21:06:52 -08:00
Evan Tschannen 38d8d0d675 fixed simulation 2020-02-06 19:29:31 -08:00
Evan Tschannen 69de430057 separate handshaking from connection to improve pipelining 2020-02-06 16:45:54 -08:00
Evan Tschannen 53d0867a17 limit the number of connections a process can attempt to establish in parallel 2020-02-04 18:15:10 -08:00
Evan Tschannen c9738ab133 do not destroy an ssl connection until async_handshake has returned 2020-02-04 17:54:03 -08:00
Evan Tschannen 84853dd1fd switched SSL implementation to use boost ssl 2020-02-04 14:56:40 -08:00
Evan Tschannen afd3ec13ff added knobs 2020-01-21 18:58:34 -08:00
Evan Tschannen 7a4b459f07 wait for a tls handshake to complete before returning a connection
wait for multiple tls errors before throttling
2020-01-21 16:45:15 -08:00
Evan Tschannen e65760eb46
Merge pull request #2536 from etschannen/feature-commit-latency
Improved commit latency in large clusters
2020-01-13 19:12:02 -08:00
Evan Tschannen 0e916fdbed throttle client TLS errors longer than server errors so that when both happen simultaneously the server throttling will be disabled when the client makes its next attempt 2020-01-12 22:12:18 -08:00
Evan Tschannen 1f7eb1f738 throttle outgoing tls connections before establishing a network connection
store serverTLSConnectionThrottler map inside of g_network, so that it works properly with simulation
2020-01-12 16:44:30 -08:00
Evan Tschannen ef5dfb87dc
Merge pull request #2529 from bnamasivayam/tls-throtlling
Establishing TLS connection through the handshake process is expensiv…
2020-01-12 14:56:21 -08:00
Balachandar Namasivayam 741aa523e6 Establishing TLS connection through the handshake process is expensive and the fdbserver process can get easily saturated with doing repeated TLS handshakes with only a few hundreds of clients have bad certificate. Hence throttle the number of handshakes done on the server per client ip if it has a bad certificate. 2020-01-10 16:19:41 -08:00
Evan Tschannen 2e20c12200
Merge pull request #2475 from ajbeamon/priority-busy-fixes
Fix PriorityBusy calculation and add PriorityMaxBusy
2020-01-10 12:47:17 -08:00
Evan Tschannen 176a1b6319
Merge pull request #2515 from ajbeamon/remove-timer-in-slowtask-profiler
Fix slow task profiler crash
2020-01-10 12:41:57 -08:00
Evan Tschannen a5f544818c
Merge pull request #2420 from ajbeamon/trace-clock-source-fix
Revert change to make g_trace_clock thread_local, ...
2020-01-10 12:36:38 -08:00
A.J. Beamon de5a591b15 Attempt a minor pointless change to fix the build 2020-01-06 15:17:13 -08:00
A.J. Beamon 6cf38790d6 Reorganize declaration of variable and add release note. 2020-01-06 12:27:56 -08:00
A.J. Beamon 4a52864023 Remove call of timer() from the slow task profiling signal handler, as it can lead to crashes if called at the wrong time. 2020-01-06 12:19:45 -08:00
Evan Tschannen 16b5af067c changed trace event name 2020-01-03 16:03:29 -08:00
Evan Tschannen deb032745a fix: do not set logged until then end of the function 2020-01-03 12:45:23 -08:00
Evan Tschannen 1867d30017 added asserts to protect against future actions on a trace event that has been logged 2020-01-03 12:31:06 -08:00
Evan Tschannen 7152469cc3 log the base trace event before the endpoint messages 2020-01-03 12:15:38 -08:00
Evan Tschannen 6e473c3a83 Merge branch 'release-6.2' into feature-addpeer-fix 2020-01-02 17:37:23 -08:00
Evan Tschannen 032797ca5c
Merge pull request #2430 from etschannen/release-6.2
Reduce recovery times caused by saturating the cluster controller
2020-01-02 17:35:59 -08:00
A.J. Beamon 3dd3ac3cfd Merge branch 'release-6.2' into trace-clock-source-fix
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
2020-01-02 15:14:12 -08:00
A.J. Beamon ca01593067 Cap busyness to 1.0 at logging time to cover all cases where it could be measured above. 2020-01-02 15:10:42 -08:00
Evan Tschannen 9e137d3b49 fix: addPeerReference only marks a connection as healthy if it is the first peerReference
added additional logging to long LoadBalance calls, and when the failure monitor state changes for an address
2019-12-19 18:26:29 -08:00
A.J. Beamon 3b28c7f103 Throw the correct error in deleteFile 2019-12-19 14:13:09 -08:00
Evan Tschannen d8c3c2fda4 Improved prioritization of commit path on the proxies 2019-12-18 16:56:35 -08:00
A.J. Beamon a093021855 Fix priority time calculation. Track max priority busy rather than seconds squared. 2019-12-17 09:14:54 -08:00
Alvin Moore 5080b8293a Added Windows required library for function GetProcessMemoryInfo 2019-12-16 08:09:10 -08:00
Evan Tschannen 3c30215662 Merge branch 'release-6.2' of github.com:apple/foundationdb into release-6.2 2019-12-09 13:18:07 -08:00
A.J. Beamon 20eacdb434 Add missing include 2019-12-06 15:18:17 -08:00
A.J. Beamon 9866d1ce27 Revert change to make g_trace_clock thread_local, instead checking we are on the correct thread when getting the time. 2019-12-06 10:15:49 -08:00
Andrew Noyes 78b202f3a4 Apply A.J.'s suggestion to randomInt as well 2019-12-05 11:01:41 -08:00
Andrew Noyes cf5cdc4e93
Update flow/DeterministicRandom.cpp
Include equality now that we've adjusted the value by 1.

Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-12-05 11:01:03 -08:00
Andrew Noyes b09f0b334b Take A.J.'s suggestion, which fixes A.J.s counterexample 2019-12-05 10:27:35 -08:00
Andrew Noyes 96e71bb109 Fix old Make build 2019-12-04 17:06:49 -08:00
Andrew Noyes 89a093e035 Accept UBSAN's suggestion
/home/anoyes/workspace/foundationdb/flow/DeterministicRandom.cpp:72:29: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'; cast to an unsigned type to negate this value to itself
2019-12-04 16:45:45 -08:00