Junhyun Shim
e2a3fedfc7
Merge branch 'main' into features/authz
2022-07-27 00:08:57 +02:00
Junhyun Shim
0874e553cd
Place generateRandomData() under {I|Deterministic}Random
2022-07-20 13:21:11 +02:00
Markus Pilman
1de37afd52
Make TEST macros C++ only ( #7558 )
...
* proof of concept
* use code-probe instead of test
* code probe working on gcc
* code probe implemented
* renamed TestProbe to CodeProbe
* fixed refactoring typo
* support filtered output
* print probes at end of simulation
* fix missed probes print
* fix deduplication
* Fix refactoring issues
* revert bad refactor
* make sure file paths are relative
* fix more wrong refactor changes
2022-07-19 13:15:51 -07:00
Fuheng Zhao
3aeb2f17cd
Redwood remove duplicate header files
2022-07-11 12:44:44 -07:00
Markus Pilman
ffaf15c12a
moved wellknownendpoints and fixed some includes
2022-06-23 17:03:53 -06:00
Markus Pilman
d35445a868
enforce include modularization in cmake
2022-06-23 14:37:35 -06:00
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