Steve Atherton
bade9a3ec3
Added toString() methods for DeltaTree::DecodeCache.
2022-03-10 00:07:22 -08:00
Steve Atherton
6cb5f86994
Added a boundary sample to the boundary verifier, which clear operations in the Redwood unit test will randomly make use of. Added cold start limit in BTree unit test to prevent test running too long, and a few other parameter changes.
2022-03-09 23:17:55 -08:00
Steve Atherton
c76ba149b2
Removed unnecessary line as it does nothing, updated comment.
2022-03-09 20:28:14 -08:00
Steve Atherton
81d1e70435
Bug fix: Remap cleanup must delay freeing of unmapped destination pages until the oldest readable version passes the current latest readable version to prevent a very slow reader from reading a page after it has been recycled and reused. This is a very rare bug, seen in about 1 in 1 million runs of the Redwood unit test.
2022-03-09 19:08:00 -08:00
Steve Atherton
2ec15965ba
No logic changes, just debugging output changes and variable renames for clarity.
2022-03-09 18:45:03 -08:00
Steve Atherton
e96dc76aad
Bug fix: When a BTree node is updated and is to the left of a completely removed sibling subtree the placeholder record providing its upper decode boundary could be lost because expectedUpperBound was not being set.
2022-03-08 03:56:29 -08:00
Steve Atherton
d034d0c30f
Bug fix in boundary verifier which caused false failures after a process restart when a commit was in progress because the verification map would contain changes that were rolled back.
2022-03-08 03:33:22 -08:00
Steve Atherton
77f06eedfd
Use printable() on page boundary debug output.
2022-03-07 23:21:07 -08:00
Steve Atherton
8f844437da
Avoid unused variable warning when debug output is not on.
2022-03-07 23:12:32 -08:00
Steve Atherton
9f690d5bd5
Added StringRef::same() which checks data pointers and lengths for match. Fixed a false negative (but not a bug) in boundariesNormal() and used same() to avoid string comparisons.
2022-03-07 22:44:24 -08:00
Steve Atherton
35df00eba2
Re-enable simulation-only boundary verification.
2022-03-07 22:31:29 -08:00
Steve Atherton
55c98a4287
Large refactor of redwood debug output to improve context and readability.
2022-03-07 22:30:20 -08:00
Steve Atherton
11f25bc08f
Initialize decode boundary verifier to nullptr for restart tests, also disable check for now as the feature is not finished.
2022-03-04 17:20:31 -08:00
Steve Atherton
f03c0b8c3c
Added ISimulated::restarted for detecting a restarted simulation test.
2022-03-04 17:19:46 -08:00
Steve Atherton
9f1d4580e4
Added simulation-only verification of DeltaTree initialization boundaries between writes and reads over time.
2022-03-01 23:46:38 -08:00
Steve Atherton
ee5030d06c
Fixed memory "leak" where child node update tracker entries for freed internal pages were not removed so the map would just grow.
2022-02-28 00:16:10 -08:00
Steve Atherton
398374c7d7
Rename cacheSizeBytes to pageCacheBytes to match other tests.
2022-02-27 00:36:23 -08:00
Steve Atherton
73a81a86da
Added Redwood metrics printing during set unit test using new generic repeatEvery() actor.
2022-02-26 23:37:30 -08:00
Steve Atherton
3a666610ad
Tweaked Redwood unit test ops limits and added total record read count to prevent test instances that run too long.
2022-02-26 23:36:37 -08:00
Steve Atherton
6f16702042
Merge branch 'main' of https://github.com/apple/foundationdb into redwood-bug-fixes-and-memory-leak
2022-02-26 18:00:18 -08:00
sfc-gh-tclinkenbeard
90927cffe9
Set disableHostname=true in CycleTestRestart downgrade test
2022-02-26 17:56:56 -08:00
Steve Atherton
c122cf1ce0
Bug fix: Avoid having a local temporary Cursor destructed after the Reference<Page> containing its DecodeCache has been dropped by using the BTreeCursor's leaf cursor by reference.
2022-02-26 02:03:43 -08:00
Steve Atherton
a47f481bae
Bug fix, the extent cache used during recovery is not allowed to evict anything so it now uses a private Evictor with no size limit.
2022-02-25 19:21:11 -08:00
Renxuan Wang
233c918ffb
Replace printf() and fprintf() with fmt::print().
2022-02-25 19:06:57 -08:00
Renxuan Wang
f7eb66441d
Try eliminating warnings in macOS and Windows CI builds.
...
MacOS warnings are format warnings, e.g., `format specifies type 'long' but the argument has type 'Version' (aka 'long long')`.
Windows warnings are `ACTOR does not contain a wait() statement`.
2022-02-25 19:06:57 -08:00
Markus Pilman
079de5ba57
Enable rocksdb unit tests
2022-02-25 15:38:16 -08:00
Markus Pilman
a61dd41b45
Add an empty test to make sure noSim tests succeed
2022-02-25 15:38:16 -08:00
Andrew Noyes
276cf3a402
Fix minor bugs turned up by _GLIBCXX_DEBUG ( #6375 )
...
* Fix a benign bug turned up by _GLIBCXX_DEBUG
Just calling std::vector::operator[] with an out of bounds index at all
is technically undefined behavior.
* Fix compilation issue with _GLIBCXX_DEBUG
For some reason std::max with an initializer list isn't constexpr with
_GLIBCXX_DEBUG set
2022-02-25 13:50:41 -08:00
Andrew Noyes
b58739093e
Account for possibility that fopen might fail in mako ( #6442 )
...
Fix an issue in mako where the stats process would hang if the worker process
was unable to open a file. Previously, the worker process would segfault when
trying to dereference a null FILE* and never increment the stopcount variable
in shared memory. Now we check for a null FILE* and increment stopcount when
the worker process stops regardless of success or failure.
Also don't ignore the return value from mkdir
2022-02-25 13:18:59 -08:00
Andrew Noyes
7a9217a392
Add contrib/debug_determinism ( #6389 )
...
* Add contrib/debug_determinism
Add an instrumentation-based technique for debugging unseen mismatches. Also guard a few existing sources of nondeterminism that don't affect unseen with the DEBUG_DETERMINISM macro.
Also change the simulated run loop to not run as the only task inside the real run loop, since that was a source of nondeterminism.
Also fix nondeterminism from calling timer_int
* Add StorageMetadataType::currentTime
Basically a deterministic-in-simulation version of timer_int that we can
use instead of timer_int for StorageMetadataType::createdTime
2022-02-25 12:54:31 -08:00
Zhe Wu
57e931b489
Update 6.3.24 release notes
2022-02-25 12:12:17 -08:00
A.J. Beamon
d4e6123971
Merge pull request #6457 from Doxense/fix-6449-windows-build
...
Fix Windows build broken by #6449
2022-02-25 09:07:20 -08:00
Mohamed Oulmahdi
5b6098b5be
Fix Windows build broken by #6449
2022-02-25 16:25:45 +01:00
Steve Atherton
a32c3a2891
Redwood now uses one global page cache eviction order and size limit for all page sizes, for real or virtual processes, and DecodeCache memory is counted against the global page cache budget.
2022-02-25 03:20:53 -08:00
Renxuan Wang
06b1d06d38
Support hostname in coordinators commands.
2022-02-24 23:02:29 -08:00
Renxuan Wang
70d723f70c
Move the construction of ConnectionString in changeQuorumChecker() to coordinatorsCommitActor().
2022-02-24 23:02:29 -08:00
Renxuan Wang
3e761aef3b
Add resetConnectionString() function to ClusterConnectionString.
2022-02-24 23:02:29 -08:00
Renxuan Wang
3a3b44efe2
Fix macOS CI broken by #6449 .
...
foundationdb/fdbserver/CoroFlow.actor.cpp:262:8: error: no member named 'errorUnsuppressed' in 'BaseTraceEvent'
2022-02-24 20:26:13 -08:00
Zhe Wu
0bdae35a2c
Address comments and move updateFailedEndpointRefreshTime
2022-02-24 16:35:30 -08:00
Zhe Wu
9c99c59b0c
Fix get key location overloading proxies
2022-02-24 16:35:30 -08:00
A.J. Beamon
7275e312d8
Merge pull request #6449 from sfc-gh-ajbeamon/trace-enforce-suppression-order
...
Enforce that trace event suppression calls happen first when using trace event call chaining
2022-02-24 14:39:08 -08:00
A.J. Beamon
d3be393246
Add comments to BaseTraceEvent and TraceEvent. Also make BaseTraceEvent contstructor protected.
2022-02-24 13:29:44 -08:00
A.J. Beamon
e7d2abd764
Fix formatting issue
2022-02-24 12:28:13 -08:00
A.J. Beamon
250a88e682
Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement.
2022-02-24 12:25:52 -08:00
Aaron Molitor
4ff60db82b
Revert "Use full version of fdb to support incompatible release candidates"
...
This reverts commit f379cf4d05
.
2022-02-24 11:55:48 -06:00
Leonidas Tsampros
f379cf4d05
Use full version of fdb to support incompatible release candidates
2022-02-24 11:03:42 -06:00
Zhe Wang
541fc171f7
Merge pull request #6409 from kakaiu/log-thread-local-perfcontext-counter
...
Add RocksDB PerfContextMetrics
2022-02-24 08:43:24 -05:00
Markus Pilman
f1189e5947
Merge pull request #6384 from vikasgupta8/ppc64le_support
...
added support for ppc64le
2022-02-24 14:31:31 +01:00
Zhe Wang
f14e08a991
addRocksDBPerfContextMetrics
2022-02-23 22:29:07 -05:00
Ata E Husain Bohra
344a14b010
Update StreamCipher ctx/cipher management to respect determinism ( #6427 )
...
* Update StreamCipher ctx/cipher management to respect determinism
StreamCipher keeps record of CipherKeys created
(including globalCipherKey) to ensure the sensitive data gets
ZERO-OUT and not recorded as part of FDB process dump. However,
in current code it is maintained as an unordered_set indexed
by the object itself. Approach adds non determinism given
object pointer based indexing scheme.
Patch addresses the concern by updating the recording to use
a map indexed by UID.
2022-02-22 17:34:29 -08:00