Commit Graph

811 Commits

Author SHA1 Message Date
Jingyu Zhou 3f3a728bb3
Merge pull request #2970 from xumengpanda/mengxu/fr-range-versions-PR
Fix:New backup and restore: Mutations before min range version may not be complete
2020-04-19 09:49:07 -07:00
Vishesh Yadav 43f19bd463 Don't skip filesystem check on when KAIO is disabled
WSL the known Linux system where KAIO is not supported, can run these checks.
2020-04-16 10:56:01 -07:00
Vishesh Yadav 1901f49b97 Net2FileSystem: Add guards to honor DISABLE_POSIX_KERNEL_AIO
- Adds some asserts in KAIO to ensure that when knob is set, we don't
end up using KAIO in any case.

- Fixes a bug where we initialize AsyncFileKAIO on Linux builds even
when KAIO is disabled. This can cause problems in systems such as
Windows Subsystem for Linux where KAIO is not supported.

FIXES #2382
2020-04-15 23:47:37 -07:00
Meng Xu d6c1baa784 FastRestore:Filter out log mutations whose version is smaller than range mutation version 2020-04-15 19:45:03 -07:00
Alex Miller 2e53c8c5e2
Merge pull request #2915 from tclinken/move-optimizations
Avoid unnecessary copies in PromiseStream
2020-04-13 21:15:16 -07:00
tclinken 3a01d24970 Pass const ref to a_callback_fire 2020-04-08 14:50:41 -07:00
tclinken 488c20e58e Fixed failing "/flow/flow/promisestream callbacks" unit test 2020-04-08 11:24:56 -07:00
tclinken ff3e3fcc13 Added /flow/PromiseStream/move unit test 2020-04-08 00:45:56 -07:00
tclinken 6ab4a57123 Allow RequestStream::send to use move semantics 2020-04-07 11:06:55 -07:00
Markus Pilman d4542dbb5a Delete old build system 2020-04-07 11:03:45 -07:00
Alvin Moore 78f0cddb14
Merge pull request #2684 from mpilman/features/boost70
Upgrade to boost 1.72
2020-04-03 09:30:59 -07:00
Meng Xu ccbbdc4ba4 Unit test:Verify splitMutation by comparing with intersectingRanges result 2020-03-31 12:13:02 -07:00
Markus Pilman 28cd38913d Merge branch 'master' of github.com:apple/foundationdb into features/boost70 2020-03-27 13:44:10 -07:00
Balachandar Namasivayam a476127f5f
Merge pull request #2802 from xumengpanda/mengxu/debug-master-PR
Fix correctness failure on master branch
2020-03-18 16:07:36 -07:00
Evan Tschannen e08f0201f1 merge release 6.2 into master 2020-03-17 12:51:47 -07:00
Evan Tschannen c197520fa7
Merge pull request #2810 from alexmiller-apple/fdbcli-tlsinfo
Add a `tlsinfo` command to fdbcli that prints the certificate chain.
2020-03-16 15:47:32 -07:00
Meng Xu 7f559bc712 Cleanup code and apply clang-format
Self code review
2020-03-16 15:08:32 -07:00
Evan Tschannen 243c268d9d Limit the amount of requests the proxy can queue up in memory 2020-03-13 10:17:49 -07:00
Alex Miller 0c558efcfe Add a `tlsinfo` command to fdbcli that prints the certificate chain.
This requires the certificate chain to load successfully, otherwise
fdbcli will error out at an earlier point due to Net2 not being able to
configure TLS.
2020-03-13 00:11:53 -07:00
Meng Xu 0ef09539a9 addressMap[normalizedAddress]->address may not equal to normalizedAddress 2020-03-12 13:01:25 -07:00
Meng Xu 1759d5c8c4 Apply clang-format 2020-03-12 10:18:53 -07:00
Meng Xu a9136f3f72 Add waitForUnreliableExtraStoreReboot to wait for extra store to reboot 2020-03-12 10:18:31 -07:00
Meng Xu bd345f85db ConsistencyCheck:Fix failue due to address inconsistency between process and worker
With TLS, a worker (or process) can have a TLS address and non-TLS address.
When a process is created in simulation, the primary address is TLS by default.
The non-TLS one is the TLS address port plus one.

In a connection between two workers, if their primary addresses do not enable
or disable TLS together, one worker will swap its primary address and secondary address
so that the TLS config of the two endpoints can match.

The swap can make the primary address no longer the TLS one that was created
when the process is created. And the swap only happens for worker instead of
process struct in simulation.

This swap can cause worker->address != process->address.
In checkForExtraDataStores actor, we use worker->address to check if a process
is killable and use the process->address to kill the process. The inconsistency
can cause simulation to kill a protected process that is not killable and leads
to simulation failure.
2020-03-10 21:07:16 -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 dbfc0cbcc0
Merge pull request #2781 from alexmiller-apple/certificate-refresh
Refresh certificates used for handshaking when they change on disk
2020-03-06 11:12:04 -08:00
A.J. Beamon effb6d2d49 Add ResolverMetrics trace event 2020-03-05 10:49:21 -08:00
Alex Miller 595dd77ed1 Merge remote-tracking branch 'upstream/release-6.2' into certificate-refresh 2020-03-04 20:25:42 -08:00
Alex Miller 9b5ef3416e Refactor TLSParams into TLSConfig + LoadedTLSConfig
The idea being that we keep around a TLSConfig that the configuration
that the user has provided, and then when we want to intialize an SSL
context, we ask the TLSConfig to load all certificates and return us a
LoadedTLSConfig that is a concrete set of certificate bytes in memory.

initTLS now just takes the in-memory bytes and applies them to the ssl
context.

This is a large refactor to lead up into certificate refeshing, where we
will periodically check for changes to the certificates, and then
re-load them and apply them to a new SSL context.
2020-03-04 20:14:47 -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 c11c24b79d removed the fdbrpc version of platform.h 2020-02-28 14:56:10 -08:00
Evan Tschannen 6054c05963 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/fdbserver.actor.cpp
#	versions.target
2020-02-28 12:11:05 -08:00
Evan Tschannen 2586bade68 re-added support for configuration TLS options with environment variables 2020-02-26 15:33:48 -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 d60268123b updated comment 2020-02-25 16:00:46 -08:00
Evan Tschannen 6e7d2ff7dd prevent the proxy from delaying too long based on an incorrect estimate of the compute time 2020-02-25 15:46:13 -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 6f1d3ccd35 Merge branch 'release-6.2' into feature-boost-ssl 2020-02-20 20:03:40 -08:00
Evan Tschannen 7056c73f20 fixed a number of problems with findBestPolicySetSimple 2020-02-20 20:00:54 -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 a50939417b fix: zoneid is all lower case 2020-02-20 17:26:44 -08:00
Evan Tschannen f7a37077cc handshake takes time in simulation 2020-02-20 15:26:56 -08:00
Evan Tschannen d7c841a28a
Merge pull request #2589 from etschannen/feature-proxy-delay
Improve version pipelining on the proxy
2020-02-20 15:23:30 -08:00
Evan Tschannen 8b768e66df
Merge pull request #2694 from dongxinEric/feature/2663/specialize-policy-for-zoneid-in-cc
Added a specialized algorithm for PolicyOne and PolicyAcross(,'zoneId…
2020-02-20 14:46:23 -08:00
Evan Tschannen def8ca6da3 simulation advances timer() separately from now() to better model the real world 2020-02-20 12:10:20 -08:00
Xin Dong 298d6cb3d7 Address review comments. 2020-02-20 09:34:01 -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 761da5a059 code cleanup 2020-02-19 17:59:45 -08:00