Steve Atherton
|
9a279c24ae
|
Bug fix: Redwood shutdown would wait for pending IO success so if any of them failed the shutdown would never complete.
|
2022-05-02 19:26:44 -07:00 |
Steve Atherton
|
6af2b83bc6
|
Updated BTree write-only forensic fields for last known logical page ID and last known logical parent page ID.
Also simplified multipage update loops which were using an unnecessary temp variable left from a prior implementation involving remapping.
|
2022-04-08 01:17:50 -07:00 |
Steve Atherton
|
1941c9ac3b
|
Bug fix, empty root was written with the wrong capacity so inserts later could buffer overflow and be missing from the page.
|
2022-04-07 23:52:37 -07:00 |
Steve Atherton
|
702bd59ded
|
Clear unused memory regions for structures written to disk.
|
2022-04-07 23:02:33 -07:00 |
Steve Atherton
|
3ef18bc173
|
Rename Page and VersionHeader to PageHeader for consistency. Check for known encrypted types explicitly in isEncodingTypeEncrypted(). Make writePhysicalBlock() hold a Page reference which is simpler and more robust. Remove unused argument in switchTree().
|
2022-04-07 20:59:34 -07:00 |
Steve Atherton
|
f7ba78ca97
|
Fixed typo, remove throw argument to follow best practice, change wrong format warn to warnAlways.
|
2022-04-06 14:51:01 -07:00 |
Steve Atherton
|
a51b1c9d98
|
Remove checks for transaction_too_old because Redwood no longer generates this error.
|
2022-04-06 14:41:17 -07:00 |
Steve Atherton
|
8e9a7811bf
|
Redwood debug improvements to filter and direct output more easily.
|
2022-04-05 23:33:40 -07:00 |
Steve Atherton
|
5961b801cc
|
Keep decode caches in page cache based on page height minimum set by a knob with a default value of 2.
|
2022-04-05 15:11:07 -07:00 |
Steve Atherton
|
6546d04f2d
|
Removed BUGGIFY() usage on hot path since it involves a string copy, and made buggified behavior happen more often in simulation which should increase edge case coverage.
|
2022-04-05 15:05:02 -07:00 |
Steve Atherton
|
13d3391d30
|
In simulation, sometimes use redwood destructive sanity check in KeyValueStoreRedwood disposal for more test coverage.
|
2022-04-05 02:10:31 -07:00 |
Steve Atherton
|
6c8eca061a
|
In redwood unit test, only reopen the btree prior to the destructive sanity check half the time.
|
2022-04-04 19:29:32 -07:00 |
Steve Atherton
|
23a27d78db
|
Changed DeltaTree2::Cursor to hold a Reference<DecodeCache> instead of a pointer to enable more flexible DecodeCache lifetimes.
|
2022-04-04 03:38:50 -07:00 |
Steve Atherton
|
1033f64da2
|
Removed BTree header parse from cursor creation, which recently became necessary, by storing the extracted root link in the PagerSnapshot. Refactored ArenaPage::userData and userDataDestructor to a generic ArbitraryObject class which can own arbitrary heap allocated objects or references and has a cleaner interface. Added ArbitraryObject to IPagerSnapshot.
|
2022-04-04 02:45:08 -07:00 |
Steve Atherton
|
f0c01d74ac
|
Remove warnings that were just marking TODOs.
|
2022-04-03 23:50:19 -07:00 |
Steve Atherton
|
a5ff1e5f0e
|
Code simplification and minor overhead reduction around snapshot expiration and oldest effective version checking.
|
2022-04-03 23:49:31 -07:00 |
Steve Atherton
|
d7838982f9
|
Code simplification and minor overhead reduction - don't check multi-page BTree nodes for remapped pages because they no longer can contain any.
|
2022-04-03 23:48:54 -07:00 |
Steve Atherton
|
3b76b9d9cc
|
Apply clang-format.
|
2022-04-03 00:44:02 -07:00 |
Steve Atherton
|
47d1a7b373
|
Merge commit '38190ad7e787d759f88687e83af0ebabdbc600e8' into redwood-header-changes
# Conflicts:
# flow/error_definitions.h
|
2022-04-03 00:39:53 -07:00 |
Steve Atherton
|
39fb0a44d7
|
Merge commit 'f09bdc840c00d712487500b9e752d87cedb1964a' into redwood-header-changes
# Conflicts:
# fdbserver/VersionedBTree.actor.cpp
|
2022-04-03 00:37:01 -07:00 |
Steve Atherton
|
84f9e00258
|
Remove duplicative generic actor repeatEvery() since recurring() exists.
|
2022-03-30 18:10:29 -07:00 |
Steve Atherton
|
1e9c8b3684
|
Shutdown bug fix, extent cache should be cleared on shutdown as if recovery never completed it wouldn't have been cleared yet.
|
2022-03-28 18:14:05 -07:00 |
Steve Atherton
|
f09bdc840c
|
Fix undefined behavior where struct members are written to disk and restored later in a situation where they are unused but can contain random values that are not proper booleans, which ubsan complains about.
|
2022-03-26 19:38:59 -07:00 |
Steve Atherton
|
9f205217a4
|
Merge branch 'main' of https://github.com/apple/foundationdb into redwood-rare-bugs-6574
|
2022-03-21 21:57:57 -07:00 |
sfc-gh-tclinkenbeard
|
a71099471b
|
Update copyright header dates
|
2022-03-21 13:36:23 -07:00 |
Steve Atherton
|
032c80dec5
|
Merge pull request #6461 from sfc-gh-yiwu/redwood_remap
Redwood: config remap cleanup by size instead of versions
|
2022-03-18 16:23:15 -07:00 |
Steve Atherton
|
683ddb7c93
|
Changed SignalableActorCollection of write operations to a vector.
|
2022-03-18 15:09:10 -07:00 |
Yi Wu
|
5faed7c727
|
Redwood: update clearRmapQueue
|
2022-03-18 14:56:04 -07:00 |
Yi Wu
|
e13f1bfa0d
|
Redwood: update remap cleanup window buggify value
|
2022-03-18 14:56:04 -07:00 |
Yi Wu
|
66c82ff00d
|
Redwood: Fix clearRemapQueue after the remap cleanup window change
|
2022-03-18 14:56:04 -07:00 |
Yi Wu
|
0968566fd5
|
Redwood: use real page size to calculate remap cleanup window
|
2022-03-18 14:56:04 -07:00 |
Yi Wu
|
264b3811af
|
update the lag knob
|
2022-03-18 14:56:04 -07:00 |
Yi Wu
|
27df6df950
|
Redwood: config remap cleanup by size instead of versions
|
2022-03-18 14:56:04 -07:00 |
Steve Atherton
|
e0990fd712
|
Added generic detach() actor to allow large actor footprints to be freed once finished, used it to avoid storing writePhysicalPage actors in the page cache.
|
2022-03-17 19:58:20 -07:00 |
sfc-gh-tclinkenbeard
|
66d71e107d
|
Move actorcompiler.h include to the end of includes
|
2022-03-16 00:09:16 -07:00 |
Steve Atherton
|
59762fc784
|
Merge pull request #6423 from sfc-gh-satherton/redwood-bug-fixes-and-memory-leak
Redwood memory usage and small memory leak fixes
|
2022-03-15 16:52:28 -07:00 |
sfc-gh-tclinkenbeard
|
8dcac2f76d
|
Fix typos
|
2022-03-13 10:02:11 -03:00 |
Steve Atherton
|
e496f3efb7
|
Improved comments and readability of FIFOQueue::Cursor read methods.
|
2022-03-10 14:35:46 -08:00 |
Steve Atherton
|
8128f9f0b5
|
Merge branch 'main' of https://github.com/apple/foundationdb into redwood-rare-bugs
|
2022-03-10 11:28:09 -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 |