Commit Graph

2063 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard aa07df6a91 Backport to 6.3 the ability to read xxhash3 checksum for sqlite pages 2020-11-24 00:28:49 -08:00
Andrew Noyes 823337a2e1 Reserve error code 1215 for dd_tracker_cancelled 2020-11-23 14:51:40 -08:00
Andrew Noyes 231a7a10d0
Merge pull request #4075 from sfc-gh-tclinkenbeard/sqlite-xxhash3-checksum
Sqlite xxhash3 checksum
2020-11-23 10:43:35 -08:00
sfc-gh-tclinkenbeard b46384e1b8 Initialize client and flow knobs 2020-11-22 09:56:18 -08:00
sfc-gh-tclinkenbeard 156a617ed8 Replace xxhash64 with xxhash3
The goal here is to improve performance
2020-11-21 18:25:35 -08:00
sfc-gh-tclinkenbeard b1e3478267 Simplified global knobs 2020-11-21 13:27:48 -08:00
Markus Pilman 615029a393
Merge pull request #4082 from sfc-gh-dyoungworth/dyoungworth/merge_6_3_master
merge 6 3 master
2020-11-19 20:53:51 -07:00
Markus Pilman 67944f6899
Merge pull request #4087 from sfc-gh-dyoungworth/dyoungworth/addDateTimeToTrace2
add date time to trace (release 6.2)
2020-11-19 17:44:44 -07:00
David Youngworth b1256b5dcd Address review comments, simplify DateTime 2020-11-18 16:55:47 -08:00
David Youngworth 5ade54f767 Fix windows build, DateTime to use UTC 2020-11-18 16:55:12 -08:00
David Youngworth 490fe61032 Fix bug in rolled Trace code 2020-11-18 16:55:06 -08:00
David Youngworth 50e515c29a Add DateTime to trace, initial commit 2020-11-18 16:54:49 -08:00
sfc-gh-tclinkenbeard bcda617b80 Benchmark hashing algorithms in flowbench 2020-11-17 23:14:55 -08:00
David Youngworth fc9b78737f Fix some merge bugs 2020-11-17 14:53:02 -08:00
Markus Pilman 659f58d28d
Merge pull request #4001 from sfc-gh-ljoswiak/features/simulation-tracing
Open random tracer in simulation
2020-11-17 14:27:18 -07:00
Lukas Joswiak 1506ed5a46 Don't write traces to log file in simulation 2020-11-17 11:26:10 -08:00
David Youngworth d64cf8b9e3 Merge branch 6.3 into master 2020-11-17 11:22:45 -08:00
Lukas Joswiak 71d0b1da85 Open random tracer in simulation 2020-11-17 09:51:19 -08:00
David Youngworth 489ba20641 Fix several merge issues 2020-11-16 14:46:36 -08:00
David Youngworth d0391db862 Merge branch 'release-6.2' into release-6.3 2020-11-16 10:15:23 -08:00
sfc-gh-tclinkenbeard ca8ea3b6ff Fix memory issues caused by cancelling data distribution tracker 2020-11-15 23:52:36 -08:00
sfc-gh-tclinkenbeard fff8e34b4d Move IKeyValueContainer from flow to fdbserver 2020-11-15 12:23:08 -08:00
sfc-gh-tclinkenbeard 575b36bf53 Move RadixTree from flow to fdbserver 2020-11-15 11:57:54 -08:00
sfc-gh-tclinkenbeard eab75d4ee1 Make enums automatically binary serializable 2020-11-14 19:22:04 -08:00
Markus Pilman d3598bfaa4 address review comments 2020-11-13 15:37:03 -07:00
Jingyu Zhou 9f2399f951
Merge pull request #4061 from xis19/reportHistogramPeriodically
Report histogram periodically
2020-11-13 14:14:25 -08:00
Xiaoge Su 3a6948c199 Report histogram periodically 2020-11-12 17:04:33 -08:00
Xiaoge Su 4a0fa57989 Add bytes_per_second unit in histograms 2020-11-12 15:38:51 -08:00
Markus Pilman 54df295186 remove dead code 2020-11-12 14:00:34 -07:00
Markus Pilman 0f205620bf
Merge branch 'master' into features/udp 2020-11-12 13:51:17 -07:00
Markus Pilman 1343f40117 don't allow empty coments 2020-11-11 14:07:54 -07:00
Jingyu Zhou 32a089dde1
Merge pull request #4030 from vishesh/task/issue-connection-logging-count
FlowTransport: Sample connect latencies
2020-11-10 20:00:58 -08:00
Vishesh Yadav 1976f2c371 FlowTransport: Sample connect latencies 2020-11-10 12:12:01 -08:00
Markus Pilman 16affd3575 Make test macros enforce unique comments 2020-11-10 11:13:34 -07:00
Xiaoge Su ebca63e3c7
Merge pull request #4026 from sears/histogram_fixes
Histogram fixes
2020-11-09 13:12:38 -08:00
Russell Sears 08e8a06933 PR comments; add missing addRef when re-using Histogram in HistogramRegistry; Instrument UnsentPacketQueue in FlowTransport 2020-11-08 08:37:16 -08:00
sfc-gh-tclinkenbeard 4669f837fa Add uses of makeReference 2020-11-07 22:10:18 -08:00
sfc-gh-tclinkenbeard a42a431b57 Add makeReference (similar to std::make_shared) 2020-11-07 22:09:53 -08:00
Vishesh Yadav 2c56d379b2
Merge pull request #3998 from dongxinEric/misc/attach-dcid-to-process-metrics-when-possible
Attach datacenter id to process, network, machine and memory metrics.
2020-11-06 10:54:23 -08:00
Russell Sears df18f20efd clang format 2020-11-05 10:27:41 -08:00
Russell Sears 26a66c632a Allow histograms to be fetched by name (so multiple instances can share the same histogram 2020-11-05 10:27:37 -08:00
Andrew Noyes 1c05b70942 Add INetwork::timer_monotonic 2020-11-05 17:07:49 +00:00
Andrew Noyes c50e997f60 Make status tests deterministic
This change seems to be incorrect since afaict INetwork::timer isn't
guaranteed to be monotonic. Maybe we can make that guarantee or add an
INetwork::timer_monotonic symbol?
2020-11-05 17:05:34 +00:00
sfc-gh-tclinkenbeard 392f18a2de Fix retrieveTraceLogIssues function name 2020-11-04 22:39:56 -08:00
Vishesh Yadav 49d5d2b0a2
Merge pull request #4003 from xis19/sev
Remove magic number 5 in severity eventsCount
2020-11-03 10:30:08 -08:00
Russell Sears 0ba4e8d64b Fix make build. 2020-11-02 14:35:17 -08:00
Russell Sears cb004b3b22 Address pull request comments 2020-11-02 12:18:00 -08:00
Richard Chen d1f38077f5 remove virtual 2020-11-02 19:41:20 +00:00
Russell Sears 32c87bbb33 Lightweight, power of two spaced histogram implementation + automatic reporting 2020-11-02 11:13:16 -08:00
Xiaoge Su ac4bebbfad Remove magic number 5 in severity eventsCount 2020-11-01 22:13:55 -08:00
Richard Chen 9c6c2704d0 Merge branch 'master' of https://github.com/apple/foundationdb into stable_interfaces 2020-10-30 23:59:32 +00:00
Xin Dong e73d189f88 Attach datacenter id to process, network, machine and memory metrics. 2020-10-30 11:20:40 -07:00
Steve Atherton 96cc700440
Merge pull request #3961 from sfc-gh-tclinkenbeard/azure-backup
Add support for writing backup files directly to Azure blob storage
2020-10-29 00:30:40 -07:00
Andrew Noyes e82339f40e
Merge pull request #3906 from sfc-gh-anoyes/anoyes/use-gcov
Add USE_GCOV cmake option
2020-10-27 08:27:46 -07:00
Richard Chen 9c5032ad9c Merge branch 'master' of https://github.com/apple/foundationdb into stable_interfaces 2020-10-26 23:10:30 +00:00
A.J. Beamon 8e512f3109
Merge pull request #3943 from sfc-gh-anoyes/anoyes/valgrind-precise
Increase valgrind precision if env var FDB_VALGRIND_PRECISE is set
2020-10-26 14:01:58 -07:00
Richard Chen bf7bf470d9 Merge branch 'master' of https://github.com/apple/foundationdb into stable_interfaces 2020-10-26 19:36:19 +00:00
Andrew Noyes b57d479d49 Fix clang11 warning
Apparently clang11 warns if you pass uninitialized memory to a function
accepting a const reference. Seems fair. This change doesn't actually
fix any bugs, but it silences the warning.
2020-10-26 11:31:40 -07:00
sfc-gh-tclinkenbeard 8191a38b88 Support rvalue reference overload for Optional::get 2020-10-24 21:05:42 -07:00
sfc-gh-tclinkenbeard 82b6daa16b First draft of Azure blob storage backup container 2020-10-24 16:47:51 -07:00
Richard Chen 055add9682 conflicts 2020-10-23 06:33:00 +00:00
Andrew Noyes 18ac901c40 Align memory for FastAllocator with valgrindPrecise 2020-10-23 02:11:50 +00:00
Andrew Noyes f91079dbe7 Use camelCase 2020-10-22 21:51:00 +00:00
Andrew Noyes dc5e09ba62 Fix normal build 2020-10-22 16:34:37 +00:00
Andrew Noyes ab4eb627c2 Replace with environment variable
We need to change the behavior of the allocator before main is called,
so a knob won't work.
2020-10-22 16:31:48 +00:00
Andrew Noyes 79163947a6 Add FLOW_KNOBS->VALGRIND_PRECISE 2020-10-22 16:31:48 +00:00
sfc-gh-tclinkenbeard c4fc36ed23 Remove unnecessary copies of errorCodeTable 2020-10-20 15:55:35 -07:00
Young Liu 8cc3e4d3c6 Merge release-6.3 into master 2020-10-19 22:51:56 -07:00
Jingyu Zhou 44c62b2d51
Merge pull request #3922 from jzhou77/release-6.3
Merge Release 6.2 to Release 6.3
2020-10-19 14:38:36 -07:00
A.J. Beamon 0a1478949a
Merge pull request #3892 from TheBenCollins/log-batch-priority-filter
Add a check against the current minimum priority for TraceBatch logging
2020-10-19 13:02:35 -07:00
Richard Chen 545ee4269d master conflicts 2020-10-19 01:03:54 +00:00
Richard Chen 1c533e7363 fix flowtransport conflicts 2020-10-19 01:00:03 +00:00
Jingyu Zhou 8f17a1a5d6 Merge branch 'release-6.2' into release-6.3 2020-10-16 15:25:39 -07:00
Meng Xu 4dff55c4ea Add comment for PriorityStarved metrics
Metrics include:
PriorityStarvedBelowX, PriorityMaxStarvedBelowX and PriorityBusyX
2020-10-16 13:45:03 -07:00
Andrew Noyes 62d3b1c674 Use add_link_options. Also add USE_MSAN
And define the macros stacktrace.amalgamation.cpp expects
2020-10-15 17:08:41 +00:00
Andrew Noyes 68de888fb4 Add USE_GCOV cmake option
Enabling this option adds --coverage to compilation flags and dumps
coverage data (*.gcda) files in flushAndExit. Otherwise coverage data
would not be dumped in flushAndExit. Applications that exit more
normally (e.g. returning from main) don't need special changes to dump
coverage data.

This is still experimental and we don't exactly have a plan for running
this in CI e.g., so this change just adds the option.

Tested with clang11
2020-10-15 17:08:41 +00:00
Trevor Clinkenbeard 24ea35e56f
Merge pull request #3748 from sfc-gh-ljoswiak/visibility-2
Add TLogVersion::V6
2020-10-14 17:35:32 -07:00
Lukas Joswiak e47e0108a7 Add new TLogVersion 2020-10-14 15:41:10 -07:00
Andrew Noyes a1e868a569
Merge pull request #3862 from sfc-gh-tclinkenbeard/use-override-more
Add uses of override keyword, remove unnecessary uses of virtual
2020-10-14 15:06:45 -07:00
Andrew Noyes 54d5f6562e Fix clang11 warning
Apparently clang11 warns if you pass uninitialized memory to a function
accepting a const reference. Seems fair. This change doesn't actually
fix any bugs, but it silences the warning.
2020-10-13 17:27:55 +00:00
Richard Chen 4eb20a1283 merge anoyes/stable-interface and add back in isCompatible 2020-10-12 20:39:37 +00:00
Richard Chen 2f5b0bef08 switch to test newer incompatible version. Fix PR comments. Modify schema 2020-10-12 18:29:16 +00:00
Richard Chen bbf5bdf6da fix stable interfaces test and corresponding changes in simulator 2020-10-12 18:25:12 +00:00
Meng Xu 89469921bb
Merge pull request #3891 from etschannen/feature-reset-proxy-connections
Reset a proxy's network connection with the master or resolvers if it is too far behind
2020-10-12 11:21:24 -07:00
Richard Chen 41843f07e6 add simulator support for different process versions and ProtocolVersion test 2020-10-12 18:19:31 +00:00
Richard Chen 76d0027fa2 merge anoyes/stable-interface and add back in isCompatible 2020-10-12 18:18:30 +00:00
Ben Collins 6166f7c99c Add a check against the current minimum priority for TraceBatch logging 2020-10-12 09:57:57 -04:00
Evan Tschannen 52828f9e03 Added bytesSent to the PingLatency logging; increasing the logging interval from 1 second to 3 seconds 2020-10-11 23:05:21 -07:00
sfc-gh-tclinkenbeard ccf2ca73f3 Fix Windows CMake build 2020-10-08 23:58:58 -07:00
Meng Xu 011754fd7e
Merge pull request #3834 from sfc-gh-tclinkenbeard/avoid-ddtracker-slow-task
Avoid slow task in ~DataDistributionTracker
2020-10-08 11:00:19 -07:00
sfc-gh-tclinkenbeard a9607bdcec Explicitly seal classes that inherit but aren't inherited from 2020-10-07 21:58:24 -07:00
sfc-gh-tclinkenbeard 8571dcfe28 Use override where applicable in fdbserver 2020-10-07 18:41:19 -07:00
sfc-gh-tclinkenbeard a3de8c333b Use override where applicable in fdbclient 2020-10-07 16:57:38 -07:00
sfc-gh-tclinkenbeard 4005abdeb3 Replace virtual with override in flow 2020-10-07 15:55:11 -07:00
Evan Tschannen cb52535f46
Merge pull request #3859 from etschannen/release-6.3
Merge Release 6.2 into Release 6.3
2020-10-07 15:34:32 -07:00
Evan Tschannen f03a355c4e Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	documentation/sphinx/source/downloads.rst
#	fdbrpc/FlowTransport.actor.cpp
#	fdbrpc/FlowTransport.h
#	flow/Arena.h
#	flow/Knobs.cpp
#	flow/Knobs.h
#	packaging/msi/FDBInstaller.wxs
2020-10-07 12:28:22 -07:00
Lukas Joswiak dea7000970 Merge remote-tracking branch 'upstream/master' into visibility-1 2020-10-06 18:38:15 -07:00
Evan Tschannen 29d4d87b56 added a knob for the number of samples 2020-10-06 17:38:09 -07:00
Evan Tschannen eead9785dd Merge branch 'release-6.2' of github.com:apple/foundationdb into release-6.2 2020-10-06 15:44:00 -07:00
Evan Tschannen 9efda1fec5 added logging for the ping latencies for all network connections 2020-10-06 13:58:05 -07:00
Evan Tschannen 2c5a2909cd fixed compiler error 2020-10-06 09:44:16 -07:00
Evan Tschannen 59d4e8b629 added a timeout to TLS handshakes 2020-10-05 15:24:03 -07:00
A.J. Beamon 76da0a7cbc Backport #3426 to release-6.2 2020-10-05 13:53:51 -07:00
Evan Tschannen 7ba06a4434 fix: min and max compute estimate logging on the proxy was always zero
added comments and fixed formatting
2020-10-05 12:35:10 -07:00
Evan Tschannen 5807b1ec3d changed the recent requests to be the per second amount; increased precision of cpu estimate 2020-10-04 19:31:40 -07:00
Evan Tschannen 614c8bc895 Get read versions requests must be load balanced on the number of requests because ratekeeper gives out an equal budget to each proxy 2020-10-04 16:20:24 -07:00
Markus Pilman 268ba0bddc Merge remote-tracking branch 'origin/release-6.3' into merge-6.3 2020-10-01 14:14:06 -06:00
sfc-gh-tclinkenbeard 91a8367acb Avoid slow task in ~DataDistributionTracker 2020-10-01 11:44:55 -07:00
A.J. Beamon d72d3d6593 Explicit instantiations of internal_error were not logging the usual details about the error. 2020-09-25 08:39:34 -07:00
Evan Tschannen 4042e9c52f missed a conflict 2020-09-24 17:20:02 -07:00
Evan Tschannen 2d788b309f Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	documentation/sphinx/source/api-error-codes.rst
#	flow/ThreadHelper.actor.h
#	flow/error_definitions.h
2020-09-24 17:16:58 -07:00
Evan Tschannen 9f549f755e updated the error code for blocked_from_network_thread because 2025 was already in use in release-6.3 2020-09-24 17:11:26 -07:00
Meng Xu 862336de8f Merge branch 'master' into mengxu/merge-to-master-PR 2020-09-24 17:06:00 -07:00
sfc-gh-tclinkenbeard 40f750ca55 Fix Windows CMake build 2020-09-20 11:33:18 -07:00
sfc-gh-tclinkenbeard 0ac08f6a9b Replace NULL with nullptr in flow 2020-09-20 11:31:49 -07:00
Young Liu 71309a79f9 Merge branch 'release-6.3' into range 2020-09-17 17:54:33 -07:00
Andrew Noyes d6e6e96e1f Weaken claims in documentation
In some cases with the multiversion client the deadlock won't be
detected
2020-09-17 20:51:08 +00:00
Andrew Noyes 01998a238f Add blockUntilReadyCheckOnMainThread 2020-09-17 20:26:28 +00:00
Jingyu Zhou ea27e4bd9c
Merge pull request #3772 from yliucode/rename
Rename master proxy as commit proxy
2020-09-16 20:06:50 -07:00
Andrew Noyes fb49257295 Revert trace change now that blocking on a ready future is ok 2020-09-16 21:53:14 +00:00
Andrew Noyes f6412c9f82 Only throw if the future is not ready 2020-09-16 21:34:13 +00:00
Andrew Noyes 734bdb72e1 Fix simulation trace impl occurence 2020-09-15 16:49:31 +00:00
Andrew Noyes 0beab42b78 Add blocked_from_network_thread error 2020-09-15 16:49:12 +00:00
Andrew Noyes 3c3943f64f Disallow calling blockUntilReady from main thread
Also fix a data race that apparently hasn't been ported to 6.2 yet
2020-09-14 16:01:45 +00:00
Young Liu 35bef73a1c Rename proxy to commit proxy 2020-09-10 17:44:15 -07:00
Andrew Noyes 81ac8211d1 Add comment 2020-09-10 08:32:52 -07:00
Xin Dong 0c25a953be Fix compiler error. This cast is safe as it's only used locally so the data layout doesn't matter at all. 2020-09-08 16:05:38 -07:00
Young Liu 3728ed03dd Resolve comments 2020-09-05 18:55:09 -07:00
Andrew Noyes 0e49542d59 Fix data race described in #3749 2020-09-05 13:58:22 -07:00
Young Liu 1ad5e17458 add support for comparing original and current impls 2020-09-05 11:14:59 -07:00
Lukas Joswiak efde86340a Add knob to disable span serialization 2020-09-04 17:37:34 -07:00
Young Liu 87693cae81 merge master branch and resolve conflicts 2020-09-02 13:44:33 -07:00
Evan Tschannen 12edadd059 Merge branch 'release-6.3'
# Conflicts:
#	CMakeLists.txt
#	fdbclient/Knobs.cpp
#	fdbclient/MasterProxyInterface.h
#	fdbrpc/simulator.h
#	fdbserver/MasterProxyServer.actor.cpp
#	tests/fast/CycleAndLock.txt
#	tests/fast/TxnStateStoreCycleTest.txt
#	tests/fast/VersionStamp.txt
#	tests/slow/ParallelRestoreOldBackupApiCorrectnessAtomicRestore.txt
#	tests/slow/ParallelRestoreOldBackupCorrectnessCycle.txt
#	versions.target
2020-08-31 19:33:34 -07:00
Evan Tschannen e7a1892947 fixed a compiler warning 2020-08-31 15:01:19 -07:00
Evan Tschannen 5c97461d18
Merge pull request #3653 from etschannen/feature-proxy-busy-loadbalance
Changed proxy load balancing to balance on CPU usage
2020-08-31 10:39:08 -07:00
Young Liu 8994719e46 Merge branch 'master' into grv-proxy 2020-08-31 10:21:32 -07:00
Evan Tschannen 2f5359fa13 fix: lastRunLoopBusyness did count the currently active time 2020-08-31 09:21:44 -07:00
Evan Tschannen 29eec30183 Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	build/Dockerfile
#	build/Dockerfile.devel
#	documentation/sphinx/source/downloads.rst
#	fdbserver/Knobs.cpp
#	fdbserver/LogSystem.h
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/TagPartitionedLogSystem.actor.cpp
#	fdbserver/WaitFailure.actor.cpp
#	fdbserver/fdbserver.vcxproj
#	fdbserver/fdbserver.vcxproj.filters
#	packaging/msi/FDBInstaller.wxs
2020-08-31 01:10:29 -07:00
Evan Tschannen c9ff450a36 do not reject a connection as redundant if our existing connection is more than 15 seconds old 2020-08-30 18:49:49 -07:00
Young Liu e87327b33b Merge master branch and keep master proxy reporting txn cost estimation to ratekeeper 2020-08-29 12:47:35 -07:00
Evan Tschannen f6f9aea09e fix: runLoopBusyness was always zero 2020-08-28 09:29:54 -07:00
Evan Tschannen 939f59d989
Merge pull request #3672 from sfc-gh-tclinkenbeard/make-iasyncfile-const-correct
Make IAsyncFile const-correct
2020-08-27 11:22:46 -07:00
Young Liu 63b3612ad5 Merge master branch and resolve conflicts 2020-08-24 16:42:31 -07:00
Xiaoxi Wang 4e4fa0fded merge with master 2020-08-24 21:04:53 +00:00
Trevor Clinkenbeard e7662eecda
Merge pull request #3669 from sfc-gh-xwang/tag-report
Report recommended tx tag to be throttled to status json
2020-08-24 12:06:25 -07:00
Evan Tschannen 947a625968
Update flow/Knobs.cpp
Co-authored-by: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-08-24 11:33:49 -07:00
XiaoxiWang 0d65e1e0e0 update ProtocolVersion 2020-08-23 21:03:26 +00:00
Xiaoxi Wang e375761581 Merge branch 'master' of https://github.com/apple/foundationdb 2020-08-20 20:29:14 +00:00
sfc-gh-tclinkenbeard 157700e5b6 Make IAsyncFile const-correct 2020-08-19 17:34:56 -07:00
sfc-gh-tclinkenbeard 7b210aee24 Use =delete to disable special member functions
This has the benefits of:
- Easier to understand compiler error messages
- Moves some errors from link-time to compile-time
- NonCopyable classes can still specify default move constructors
2020-08-18 11:07:00 -07:00
Evan Tschannen 9e2ee1ed4c fixed lastedZeroBusy; added a knob 2020-08-17 23:16:59 -07:00
Xiaoxi Wang 548ba06510 change map to deque; code style problem 2020-08-14 18:30:58 +00:00
Xiaoxi Wang 475d4cca72 solve some cr comments 2020-08-14 16:40:16 +00:00
Evan Tschannen c72068d6b5 clients load balance across proxies based on process busyness instead of number of requests 2020-08-12 17:17:21 -07:00
Young Liu 8953cc5f98 Merge master again 2020-08-12 16:59:07 -07:00
Evan Tschannen 2f52c5f79b Merge branch 'release-6.3'
# Conflicts:
#	fdbserver/RestoreLoader.actor.cpp
2020-08-11 22:45:43 -07:00
Young Liu 79ce16650d merge master branch 2020-08-11 19:22:10 -07:00
Markus Pilman 4782c7c4b1 Merge remote-tracking branch 'origin/master' into features/udp 2020-08-11 15:35:52 -06:00
Russell Sears 92fe6abbf9
Merge pull request #3506 from sfc-gh-mpilman/bugfixes/spin-lock-false-sharing
Make ThreadSpinLock large to prevent false sharing
2020-08-10 12:02:04 -07:00
Markus Pilman 6d84bcb568 Merge remote-tracking branch 'origin/master' into features/udp 2020-08-06 14:08:34 -06:00
Markus Pilman 8976694ba1 UDP implementation (untested) 2020-08-06 14:06:50 -06:00
Evan Tschannen 18e53caf6e
Merge pull request #3489 from sfc-gh-tclinkenbeard/dont-throw-deque-relocate
Add exception-safety to Deque::grow
2020-08-06 10:33:49 -07:00
Meng Xu 3a3e5d6732
Merge pull request #3590 from sfc-gh-tclinkenbeard/expand-fdbbench
Expand flowbench benchmarks
2020-08-05 22:34:10 -07:00
Evan Tschannen 05306e9c12
Merge pull request #3581 from sfc-gh-anoyes/anoyes/remove-bogus-operator
I don't think 1 - <iter> makes sense, so let's remove this
2020-08-05 10:35:20 -07:00
Meng Xu d55bb5e489
Merge pull request #3587 from sfc-gh-tclinkenbeard/update-mininvalidprotocolversion
Update minInvalidProtocolVersion to 7.2.0
2020-08-03 10:09:28 -07:00
Meng Xu 62a6e71626
Merge pull request #3591 from apple/release-6.3
Merge Release 6.3 to master
2020-08-02 12:45:02 -07:00
sfc-gh-tclinkenbeard 3346e751b4 Added bench_ref benchmarks to fdbbench 2020-08-01 21:51:06 -07:00
Chaoguang Lin d9e5d65aaf Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-08-01 00:31:26 -07:00
sfc-gh-tclinkenbeard e1ee953a8a Updated minInvalidProtocolVersion to 7.2.0 2020-07-31 20:15:27 -07:00
Evan Tschannen 5c7b4c7acf Merge branch 'master' of github.com:apple/foundationdb 2020-07-31 15:58:13 -07:00
Chaoguang Lin fa806c6cf9 Change \xff\xff to 0xff0xff in message 2020-07-31 15:46:38 -07:00
Chaoguang Lin f2662a9a74 Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-07-30 19:01:11 -07:00
Chaoguang Lin 10540a3c73 Change error name and fix a bug in ExclusionInProgressRangeImpl::getRange() 2020-07-30 18:58:09 -07:00
Jingyu Zhou 587b845934
Merge pull request #3579 from jzhou77/fix
Fix unit test failure
2020-07-30 16:35:31 -07:00
Jingyu Zhou cb582e58c9 Avoid iterator+2 or -2 passes over the boundary 2020-07-30 13:42:36 -07:00
Andrew Noyes 9ec91cd660 I don't think 1 - <iter> makes sense, so let's remove this 2020-07-30 20:02:44 +00:00
Jingyu Zhou 9a63882cd4 Fix unit test failure 2020-07-30 11:01:52 -07:00
Evan Tschannen 440d46bccc
Merge pull request #3523 from Daniel-B-Smith/global-data-races
Fix some unprotected accesses to global data
2020-07-29 11:44:11 -07:00
Young Liu 86148f1277 Merge branch 'master' into grv-proxy 2020-07-29 11:14:51 -07:00
Evan Tschannen a49cb41de7 Merge branch 'release-6.3'
# Conflicts:
#	CMakeLists.txt
#	cmake/ConfigureCompiler.cmake
#	fdbserver/Knobs.cpp
#	fdbserver/StorageCache.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/ThreadHelper.actor.h
#	flow/serialize.h
#	tests/CMakeLists.txt
2020-07-29 00:31:55 -07:00
Trevor Clinkenbeard 602b0f9dea
Merge branch 'master' into vectorref-emplace-back 2020-07-28 17:17:11 -07:00
Meng Xu 2b8aa296bb
Merge pull request #3482 from sfc-gh-tclinkenbeard/support-downgrades
Support and test downgrades
2020-07-28 17:00:54 -07:00
Chaoguang Lin 8a5fde1b85 change SPECIAL_KEY_SPACE_CHANGE_CONFIGURATION to SPECIAL_KEY_SPACE_ENABLE_WRITES 2020-07-28 12:03:00 -07:00
Andrew Noyes d2cf700bd4 Fix compiler warnings 2020-07-28 18:30:26 +00:00
Daniel Smith f4c54e5ee6 use std::atomic for simple counters 2020-07-28 17:51:21 +00:00
Andrew Noyes 4c17019f37 Fix memory error in SmallVectorRef 2020-07-27 21:11:50 +00:00
Evan Tschannen ee9b3d1a9d do not let a single failed handshake prevent reconnection for 10 seconds 2020-07-27 10:58:30 -07:00
Evan Tschannen e0db748fb3
Merge pull request #3403 from satherton/tls-background-handshake
TLS handshaking in background threads
2020-07-27 10:55:00 -07:00
Young Liu 791c4d811a Merge branch 'master' into grv-proxy 2020-07-25 21:38:55 -07:00
Evan Tschannen e1dedff7b3 Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/FileBackupAgent.actor.cpp
#	packaging/msi/FDBInstaller.wxs
#	versions.target
2020-07-24 12:10:44 -07:00
Chaoguang Lin ec9553b6c6 change \xff\xff/failure to \xff\xff/error_message 2020-07-24 11:38:56 -07:00
Markus Pilman 50a478b5d0
Merge pull request #3516 from sfc-gh-anoyes/anoyes/vector-tests
Add unit tests for SmallVectorRef and VectorRef
2020-07-24 10:16:33 -06:00
Lukas Joswiak 26661d0657 Fix trace time format, add end time 2020-07-23 14:33:51 -07:00
Markus Pilman 918fce74e9 added udp interface 2020-07-23 11:20:42 -06:00
Young Liu 525f10e30c Merge master branch 2020-07-22 16:08:49 -07:00
Andrew Noyes 75ecc3e2f4 Add difference between two iterators operator 2020-07-22 19:57:47 +00:00
Andrew Noyes d6d374818c Actually test copy 2020-07-22 19:57:47 +00:00
Andrew Noyes 4195d3ab3b Fix compilation, test copies 2020-07-22 19:57:47 +00:00
Andrew Noyes a25689e6e5 Add append tests, fix append 2020-07-22 19:57:47 +00:00
Andrew Noyes 82b70a0fa3 Fix test bug 2020-07-22 19:57:47 +00:00
Andrew Noyes 03a45e979d Add unit tests for VectorRef and SmallVectorRef 2020-07-22 19:57:47 +00:00
Russell Sears ab0d8b0626
Merge pull request #3509 from sfc-gh-anoyes/anoyes/remove-using-relops
Remove using namespace std::rel_ops
2020-07-22 11:58:25 -07:00
Jingyu Zhou 9a65b1fbd9
Merge pull request #3528 from Daniel-B-Smith/declval
s/fake/std::declval/
2020-07-21 14:34:37 -07:00
Meng Xu aa4c378cd7
Merge pull request #3539 from apple/release-6.3
Merge Release 6.3 into master
2020-07-21 14:05:13 -07:00
sfc-gh-tclinkenbeard c824026b2e Add static assertion to FileIdentifierForBase 2020-07-20 18:52:45 -07:00
sfc-gh-tclinkenbeard 300f9b1bfa Remove PairFileIdentifier 2020-07-20 18:52:44 -07:00
sfc-gh-tclinkenbeard abaae40453 Modified ComposedIdentifier to prevent file identifier conflicts at
compile-time
2020-07-20 18:52:44 -07:00
sfc-gh-tclinkenbeard 92ac2a99b9 Ignore file identifier mismatches during 7.0 -> 6.3 downgrade 2020-07-20 18:45:28 -07:00
Russell Sears 9416e9139e
Merge pull request #3466 from sears/numeric_asserts
Improved assert messages for numeric comparisons
2020-07-20 14:52:40 -07:00
Russell Sears aa6743e118 improved readability of numeric assertion failures 2020-07-20 14:13:52 -07:00
Meng Xu b2a3b4fd83 Merge branch 'master' into mengxu/merge-6.3-PR 2020-07-20 11:34:18 -07:00
Steve Atherton 38cade1146 Merged tag release-6.3.3 into tls-background-handshake. 2020-07-17 23:39:57 -07:00
Jingyu Zhou b0983f4a9a
Merge pull request #3530 from xumengpanda/mengxu/ssfailure-fix-PR
Fix wild pointer to destructed DD that causes DD crash rarely
2020-07-17 18:08:50 -07:00
Chaoguang Lin 6216dce22d Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-07-17 16:14:22 -07:00
Meng Xu df39a0eaa8
Merge pull request #3479 from sfc-gh-anoyes/anoyes/add-wall-wextra
Add -Wall and -Wextra for clang, and explicitly ignore some warnings for now
2020-07-17 15:07:41 -07:00
Meng Xu 1ba9b6b07f DD:Change SendRelocateToDDQx100 to SendRelocateToDDQueue 2020-07-17 14:10:17 -07:00
Meng Xu 42a7b91647 Turn clang-format off for error_definition.h 2020-07-17 11:11:30 -07:00
Daniel Smith c6b691d917 Revert "Revert "Fix some unprotected accesses to global data""
This reverts commit ac724589cc.
2020-07-17 18:02:23 +00:00
Daniel Smith ac724589cc Revert "Fix some unprotected accesses to global data"
This reverts commit 6d63aebbbc.
2020-07-17 18:02:13 +00:00
Steve Atherton d375ee7939 Rolled back the knob and logic for doing multiple write() calls in write loops before yielding, because they are not necessary. The testing that suggested otherwise was in error. 2020-07-16 22:54:14 -07:00
Meng Xu 098cdfb558 Replace actor_cancelled error with dd_cancelled 2020-07-16 20:26:07 -07:00
Meng Xu 638e612a97 Improve coding style and trace events 2020-07-16 10:25:42 -07:00
Meng Xu acbb389862 Debug and fix very rare crash in TeamTracker
teamTracker only works when all DDTeamCollections are valid.
However, teamTracker can be triggered by zeroTeamSignalling event
after a DDTeamCollection is destructed and the other DDTeamCollection has not been
destructed yet.

This causes teamTracker to uses a pointer to the destructed DDTeamCollection and thus
has mysterious failure.
2020-07-16 10:23:02 -07:00
Steve Atherton c4f3553826 TLS handshake limit changed to regular flow lock, added new knob for simultaneous handshakes limit and removed old knobs. Added knob to control how much data the FlowTransport connectionWriter() can write using multiple write() calls before yielding to other tasks, and updated p2p network test to use the same logic. Changed knob defaults for send limit on single writes and TLS handshake thread count. 2020-07-16 02:31:17 -07:00
Chaoguang Lin 90626862bb fix typo in definition of error 2117 2020-07-15 17:05:28 -07:00
Daniel Smith a88bbd6405 s/fake/declval/ 2020-07-15 23:33:01 +00:00
Daniel Smith 6e0633bf6f Mark as noexcept since throwing would lead to deadlocks 2020-07-15 23:24:38 +00:00
Daniel Smith 6d63aebbbc Fix some unprotected accesses to global data 2020-07-15 15:57:05 +00:00
Young Liu 5b06d69d25 Pass watches test 2020-07-15 00:37:41 -07:00
sfc-gh-tclinkenbeard d6a65d7ef3 Added new Deque::cleanup method for cleaning up newArr 2020-07-14 22:19:37 -07:00
Daniel Smith 481d1eb4bd
Use consistent integer size for net2backtraces_count
`net2backtraces_count` is defined to be an `int` in Net2.actor.cpp. Defining it to be an `int64_t` here causes us to read 4 bytes of extra memory.
2020-07-14 19:56:14 -04:00
Evan Tschannen 7affda3c8b Merge branch 'release-6.3'
# Conflicts:
#	CMakeLists.txt
2020-07-14 14:57:24 -07:00
Chaoguang Lin 3f4da830a2 Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-07-14 10:36:47 -07:00
Meng Xu 816dde0c2f
Merge pull request #3502 from jzhou77/master
Fix Unseed Mismatch Error
2020-07-13 23:15:28 -07:00
Jingyu Zhou 773e533a09 Make Arena's impl private 2020-07-13 21:39:36 -07:00
sfc-gh-tclinkenbeard d6b6626a2b Added more exception safety to Deque::grow 2020-07-13 18:29:12 -07:00
Meng Xu 8048fea51d
Merge pull request #3485 from sfc-gh-mpilman/cleanup/tracing-cleanup
Address review comments from tracing work
2020-07-13 14:27:20 -07:00
Markus Pilman 1d81a32bb7
Add alignment to ThreadSpinLock
Co-authored-by: Andrew Noyes <63815641+sfc-gh-anoyes@users.noreply.github.com>
2020-07-13 13:30:01 -06:00
Markus Pilman bf07964fea Make ThreadSpinLock large to prevent false sharing
This fixes #3161
2020-07-13 11:38:00 -06:00
Meng Xu 8ae0d9b73d Resolve merge conflict 2020-07-13 10:21:53 -07:00
Meng Xu ef8c1060a2 Merge branch 'master' into mengxu/tmp-merge-6.3 2020-07-13 10:15:56 -07:00
Jingyu Zhou dc2707cf1c Fix Unseed Mismatch Error 2020-07-12 18:51:42 -07:00
Andrew Noyes f470ba8316 Remove using namespace std::rel_ops
This causes the following to not compile anymore

\#include <utility>
\#include <vector>

using namespace std::rel_ops;

int main() {
    std::vector<int> xs;
    return xs.rbegin() != xs.rend();
}

See https://godbolt.org/z/s1977n
2020-07-10 22:58:15 +00:00
A.J. Beamon b09dddc07e Merge branch 'release-6.2' into merge-release-6.2-into-release-6.3
# Conflicts:
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbrpc/FlowTransport.actor.cpp
#	fdbrpc/fdbrpc.vcxproj
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogSystemPeekCursor.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/Status.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/flow.vcxproj
2020-07-10 15:06:34 -07:00
sfc-gh-tclinkenbeard da28face2c Avoid throwing while relocating Deque contents 2020-07-10 11:42:56 -07:00
Markus Pilman cc05447b9e Address review comments from tracing work
This mostly simplifies the SmallVectorRef class to use
VectorRef (instead of replicating code...)
2020-07-10 11:22:05 -06:00
Evan Tschannen 4562d20f81
Merge pull request #3480 from ajbeamon/server-side-latency-metrics
Capture and report latency statistics for server-side requests
2020-07-09 22:34:37 -07:00
A.J. Beamon 693595f4e5 Fix make build, fix GRV schema 2020-07-09 16:50:08 -07:00
A.J. Beamon 04d1217941 Track statistics about server-side request latency on each process, to include min, max, mean, and various percentiles. 2020-07-09 16:39:15 -07:00
sfc-gh-tclinkenbeard cf4f753836 Test ArenaReader in Downgrade workload 2020-07-09 16:26:27 -07:00
Markus Pilman a6e38f258d fixed a compiler warning 2020-07-09 17:20:55 -06:00
Markus Pilman cc60597739
Merge branch 'master' into bugfixes/visibility-perf-regression 2020-07-09 17:04:04 -06:00
Andrew Noyes 6caa3e470c Fix valgrind build 2020-07-09 22:05:48 +00:00
Andrew Noyes 6446b4c082 WIP 2020-07-09 22:02:43 +00:00
sfc-gh-tclinkenbeard e69f299a5c Added minInvalidProtocolVersion 2020-07-09 14:39:35 -07:00
sfc-gh-tclinkenbeard 373b5ffb4f Added forward compatibility and Downgrade workload 2020-07-09 14:28:35 -07:00
sfc-gh-tclinkenbeard d3d7ad6de5 Simplify _Reader constructors 2020-07-09 14:28:34 -07:00
sfc-gh-tclinkenbeard 080a67d76f Added BinaryReader::objectReader field 2020-07-09 14:28:34 -07:00
Markus Pilman 0d994514e1 fixed bug in SmallVectorRef 2020-07-09 14:30:24 -06:00
Markus Pilman 69864c9f96 Make Spans not allocate heap memory 2020-07-09 11:49:33 -06:00
Meng Xu 1b68665228 Merge branch 'master' into release-6.3 2020-07-08 18:52:05 -07:00
Chaoguang Lin 5f6093b59e Add an option to enable write in special key space, which is by default not allowed 2020-07-08 15:49:34 -07:00
A.J. Beamon c94f46440b
Merge pull request #3094 from sfc-gh-dyoungworth/dyoungworth/asyncFindFiles
Make platform::findFiles asynchronous
2020-07-08 11:47:09 -07:00
Russell Sears 92ab2c84b6 Improved assert messages for numeric comparisons 2020-07-08 11:36:50 -07:00
Russell Sears 5e8eeadd7e
Merge pull request #3446 from sfc-gh-tclinkenbeard/use-stl-for-optional-variant
Use STL for optional and variant
2020-07-08 10:40:17 -07:00
David Youngworth 053eb59a46
Update flow/Platform.actor.cpp
Co-authored-by: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-07-08 13:34:52 -04:00
David Youngworth e45cfb1220
Update flow/Platform.actor.cpp
Co-authored-by: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-07-08 13:34:43 -04:00
Markus Pilman 0fbe7101c3 Revert "Revert "Request tracing""
This reverts commit 327cc31e35.
2020-07-07 10:06:13 -06:00
sfc-gh-tclinkenbeard 67f17ccf5c Remove duplicate BinaryReader code 2020-07-06 23:14:34 -07:00
sfc-gh-tclinkenbeard 20c5b0f824 Addressed review comments 2020-07-06 19:24:28 -07:00
Chaoguang Lin a43afb9d97 Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space 2020-07-06 15:47:00 -07:00
Jingyu Zhou cd75cce8fe
Merge pull request #3441 from yliucode/fix-joshua-real
Re-enable asking read version from master
2020-07-06 13:35:35 -07:00
Chaoguang Lin 38e2310530 Enable range clear in special key space 2020-07-06 12:11:01 -07:00
Russell Sears 4ce51c4cce
Merge pull request #2768 from atn34/atn34/arena-cpp
Check for memory errors in arena-allocated memory
2020-07-06 09:43:28 -07:00
sfc-gh-tclinkenbeard 1b55d75896 Remove TRIVIALLY_DESTRUCTIBLE macro 2020-07-04 19:28:10 -07:00
sfc-gh-tclinkenbeard 9ab9bc09c7 Use std::optional for Optional 2020-07-04 19:28:09 -07:00
sfc-gh-tclinkenbeard 60b893d423 Switch from boost::variant to std::variant 2020-07-04 19:28:05 -07:00
sfc-gh-tclinkenbeard 0c39006b07 Fixed some dangling pointers 2020-07-04 12:50:40 -07:00
Russell Sears fcaaf11678
Merge pull request #3402 from sfc-gh-tclinkenbeard/improve-const-correctness
Added more const-correctness improvements
2020-07-02 16:43:06 -07:00
Young Liu 286988c914 Report commit version later in the commit path 2020-07-02 16:14:50 -07:00
Young Liu 31c70a873f Report commit version to master as soon as possible 2020-07-02 15:13:28 -07:00
Young Liu ed89d69916 Change order between reporting commit version and setting committedVersion 2020-07-02 15:13:28 -07:00
sfc-gh-tclinkenbeard 37ffa8f443 Addressed review comment 2020-07-02 13:13:30 -07:00
A.J. Beamon b7189f5168
Merge pull request #3426 from Clikengo/fix-3424
fix ClientVersionRef versionString should be passed by ref
2020-07-02 08:06:04 -07:00
Vincent Rouillé 1082ab2caa
fix ClientVersionRef versionString should be passed by ref 2020-06-29 21:23:56 +02:00
Steve Atherton 5151f1167c Added TLS option to limit the number of glibc malloc arenas if TLS background threads are created. TLS initialization now has three phases in order to avoid creating TLS threads or limit the malloc arena count unnecessarily. 2020-06-28 17:29:13 -07:00
Meng Xu 22f7f804b8 Merge branch 'release-6.3' into mengxu/merge-6.3-PR 2020-06-28 11:19:39 -07:00
Chaoguang Lin 18ff6efbf3 Add failure module for special key space 2020-06-27 12:22:32 -07:00
Steve Atherton 648c870fec Merge branch 'release-6.3' of https://github.com/apple/foundationdb into tls-background-handshake 2020-06-26 00:21:57 -07:00
Steve Atherton 0da4c91ad5 Performance improvements in socket use and buffering which results in TLS network connections using around 3.5x less CPU.
PacketBuffers are 16k minimum sizes, using FastAlloc.  All calling paths to PacketBuffer creation now pass a size hint if known.  P2PNetworkTest improved in many ways, errors go to TraceEvents instead of stdout, error counts are reported in stats, range min/max parameters are combined into "min:max" strings, new options to "stutter" connections by delaying randomly before socket read or write, message size to send is now configured separately for incoming vs outgoing sessions.
2020-06-25 20:44:43 -07:00
Steve Atherton af6b141736
Merge pull request #3407 from sfc-gh-tclinkenbeard/fix-vectorref-memory-leaks
Fix memory leaks in VectorRef
2020-06-25 00:54:33 -07:00
Jingyu Zhou 5cd3dad986
Merge pull request #3409 from sears/assert_strings
Print out the text (to stderr and as trace) of the failed condition o…
2020-06-24 14:58:12 -07:00
Russell Sears 422003df34 Print out the text (to stderr and as trace) of the failed condition on assert failure 2020-06-24 14:21:48 -07:00
sfc-gh-tclinkenbeard 8de70432a6 Fix memory leaks in VectorRef
VectorRef<T> relies on T being trivially destructible, but this was not
yet enforced. By statically asserting that T is trivially destructible,
we avoid leaking memory by not calling the destructor for non-trivially
destructible types
2020-06-24 10:54:19 -07:00
Evan Tschannen 01030672a0
Merge pull request #3307 from yliucode/read-version
Serve GetReadVersion through master
2020-06-23 15:10:39 -07:00
Steve Atherton 813dbfb297 TLS handshake threads are now created with TLS initialization instead of when the network is created since they may not be needed and it avoids calling startThread() with a custom stack size too early in process execution. StartThread() now logs a warning if the given stack size can't be used. Reorganized TLS handshake thread state near the other TLS related stuff. 2020-06-23 03:09:56 -07:00
Steve Atherton c3ce0034bf Background threads for TLS handshakes use a stack size based on a knob. Platform::startThread() now accepts a stack size. The generic thread pool implementation takes an optional stack size override which is used for each added thread. 2020-06-23 02:08:01 -07:00
Steve Atherton 5b19233989 Implemented count of used background TLS handshake threads differently using a generic utility class that updates the count on destruction. 2020-06-23 00:45:07 -07:00
Andrew Noyes 42159ccfe0 Add -Wpessimizing-move and -Wredundant-move for clang 2020-06-22 23:45:03 +00:00
Steve Atherton 3853860cf1 Changed default TLS handshake thread count. 2020-06-22 16:28:30 -07:00