Commit Graph

687 Commits

Author SHA1 Message Date
Evan Tschannen 52efcfd136 fix: properly create the right number for txsTags when changing between different numbers of logs 2019-06-27 15:15:05 -07:00
Alex Miller df0baa0066
Merge pull request #1720 from mpilman/features/protocol-version
Make protocol version a type
2019-06-19 13:46:35 -07:00
mpilman 68ce9a5e75 ProtocolVersion type - second try 2019-06-18 17:55:27 -07:00
Alex Miller 0e5773106c Platform.cpp is a mess, and I was far too optimistic with that push. 2019-06-18 16:50:08 -07:00
Alex Miller ed118bac17 Fix copy-paste error. 2019-06-18 16:40:17 -07:00
Alex Miller 4fa5dc0502 Merge remote-tracking branch 'upstream/master' into cloexec 2019-06-18 16:35:18 -07:00
Alex Miller 5da8746803 Move fnctl calls into Platform function, and add traceevent on error. 2019-06-18 16:34:35 -07:00
mpilman 8576665a90 Revert "Revert "Make protocol version a type""
This reverts commit 455bf3b3ec.
2019-06-18 14:49:04 -07:00
Alex Miller 455bf3b3ec Revert "Make protocol version a type" 2019-06-18 10:59:17 -07:00
A.J. Beamon c3aa5819f2
Merge pull request #1417 from mpilman/features/client-buggify
Overall framework and first buggify entries
2019-06-18 09:10:11 -07:00
mpilman 4a14117549 Fixed typo 2019-06-17 09:30:28 -07:00
mpilman 52da31bfb3 Simplifications and addressed reviews 2019-06-16 11:07:10 -07:00
Markus Pilman 882fa39e80 fixed typo
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-06-16 09:59:15 -07:00
Markus Pilman 23fb403216 Fix typo
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-06-16 09:59:15 -07:00
mpilman dc9522bd86 Address code-review comments 2019-06-16 09:59:15 -07:00
mpilman 9fd8dac767 Added license header to new file 2019-06-16 09:59:15 -07:00
mpilman da53a92bec Make protocol version a type
This fixes #1214

The basic idea is that ProtocolVersion is now its own type. This
alone is an improvement as it makes many things more typesafe. For
each version, we can now add breaking features (for example Fearless).
After that, there's no need to test against actual (confusing) version
numbers. Instead a developer can simply test
`protocolVersion->hasFearless()` and this will return true iff the
protocolVersion is newer than the newest version that didn't support
fearless.
2019-06-16 09:59:15 -07:00
mpilman 7483cba26e Address review comments and added documentation 2019-06-16 09:52:40 -07:00
mpilman 6ea75713cb Overall framework and first buggify entries 2019-06-16 09:09:09 -07:00
Evan Tschannen 6ececa94ce
Merge pull request #1640 from vishesh/task/client-failmon
Clients will no longer get failure monitoring info from cluster controller
2019-06-13 17:31:17 -07:00
Trevor Clinkenbeard 1e8f7e5b82 Refactor NextFastAllocatedSize to be constexpr function 2019-06-11 15:55:23 -07:00
mpilman 4c62458172 Make valgrind work on Fedora 30 2019-06-11 10:27:08 -07:00
Vishesh Yadav a8e408e268 run clang-format on changes 2019-06-10 14:10:24 -07:00
Alex Miller 0b07dbd05c Remove a horrible hack aiming at Ubuntu 14.04's libstdc++_pic.
Because our supported build environments no longer include Ubuntu 14.04,
and this is causing problems with libc++-based builds.
2019-06-10 13:16:03 -07:00
Vishesh Yadav 6fa7081a21 net: Don't make FailureMonitoring requests from client
This patch removes the need for clients to continuously contact
cluster coordinator for failure monitoring information. Instead, it
uses the FlowTransport to monitor the statuses of peers and update
FailureMonitor accordingly.
2019-06-09 00:43:38 -07:00
Vishesh Yadav 6b4d30c3ae failmon: Identify client vs server when starting failure monitoring client 2019-06-09 00:43:12 -07:00
Alex Miller 526468becb Fix printable() being incorrect for bytes >127.
The use of `auto` hid that TraceableString<T>::begin(value) was a signed
char, and therefore `*iter` was -1, and -1/16 is 0.

Thus, a 0xFF byte was printed as \x0f.  Forcing it to an unsigned type
makes it correctly become \xff.
2019-06-05 14:41:31 -07:00
A.J. Beamon c027792d0f Make the default seed of the generator returned by deterministicRandom() random. This means that the random number sequence won't be deterministic unless you set a seed. 2019-06-05 11:48:29 -07:00
Parallels 773f52d0a1 Merge remote-tracking branch 'upstream/master' into cloexec 2019-06-03 15:43:32 -07:00
sramamoorthy a8c9432ced windows build fix : del sys/wait.h in Platform.cpp 2019-05-31 14:59:53 -07:00
sramamoorthy b17ad85497 exec op not supported when log_anti_quorum > 0 2019-05-28 22:07:46 -07:00
sramamoorthy bb474dc323 if recovery < fully_recovered then fail the exec
Will do more cleanup, pushing it for a test run in CI
2019-05-28 22:07:46 -07:00
sramamoorthy 925499954b New status cluster_not_fully_recovered 2019-05-28 22:07:46 -07:00
sramamoorthy d68a229772 makefile changes to accommodate boost/process.hpp 2019-05-28 22:07:46 -07:00
sramamoorthy b6e037ffbc Replace fork with boost::process::child 2019-05-28 22:07:46 -07:00
sramamoorthy 898bed66c1 Allow only whitelisted binary path for exec op 2019-05-28 22:07:46 -07:00
sramamoorthy aa79480d69 changes to make fdbfork asynchronous 2019-05-28 22:07:46 -07:00
sramamoorthy 4bc4c615da exec op to all tlog, restore change in test &other
- exec operation to go to all the TLogs
- minor bug fix in tlog
- restore implementation for the simulator
- restore snap UID to be stored in restartInfo.ini
- test cases added
- indentation and trace file fixes
2019-05-28 22:07:46 -07:00
sramamoorthy 72dd067173 Trace message changes and fix few FIXMEs 2019-05-28 22:07:46 -07:00
sramamoorthy 69edefe68b Snapshot based backup and resotre implementation 2019-05-28 22:07:46 -07:00
A.J. Beamon ec80ff1e8d Remove unneeded redefinition of random functions. 2019-05-24 11:55:25 -07:00
A.J. Beamon fc204c846a Make IRandom reference counted. Simplify the logic around deterministicRandom() to require less state and branching. 2019-05-23 18:51:59 -07:00
A.J. Beamon 764ca2971c Merge branch 'master' into thread-safe-random-number-generation 2019-05-23 18:49:49 -07:00
A.J. Beamon 296adada93 Use c++11 thread_local instead of redefining it to platform specific variants. 2019-05-23 18:35:45 -07:00
A.J. Beamon f417e60264 Merge branch 'merge-release-6.1-into-master' into thread-safe-random-number-generation
# Conflicts:
#	fdbserver/QuietDatabase.actor.cpp
2019-05-23 09:52:00 -07:00
A.J. Beamon d29c7e4c9b Merge branch 'release-6.1' into merge-release-6.1-into-master
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/QuietDatabase.actor.cpp
#	versions.target
2019-05-23 09:28:45 -07:00
A.J. Beamon e5381e0612 Fix some new usages of g_random 2019-05-23 09:23:27 -07:00
A.J. Beamon 603721e125 Merge branch 'master' into thread-safe-random-number-generation
# Conflicts:
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/AsyncFileCached.actor.h
#	fdbrpc/genericactors.actor.cpp
#	fdbrpc/sim2.actor.cpp
#	fdbserver/DiskQueue.actor.cpp
#	fdbserver/workloads/BulkSetup.actor.h
#	flow/ActorCollection.actor.cpp
#	flow/Net2.actor.cpp
#	flow/Trace.cpp
#	flow/flow.cpp
2019-05-23 08:35:47 -07:00
A.J. Beamon d3c1f9afbd Suppress 'TraceEventFieldNotFound' event. Don't suppress simultaneous FDBLibTLSVerifyFailure events (this requires including flow.h and removing the copied version of Reference/ReferenceCounted in FDBLibTLS). 2019-05-20 15:12:28 -07:00
Jingyu Zhou d660ffb654
Merge pull request #1605 from mpilman/remove-traceevent-benchmark
remove memory-hungry benchmark
2019-05-17 17:04:45 -07:00