Commit Graph

83 Commits

Author SHA1 Message Date
Steve Atherton c16b73bb2f Bug fix, BTreeCursor pager event reason was not being initialized. Changed metric column order. 2021-07-21 01:28:25 -07:00
Steve Atherton 01af706228 Refactor metric logging to be shorter and changed text format to be more condensed. 2021-07-20 21:23:50 -07:00
Steve Atherton 39eb71f54a Corrections in BTreeCursor event reasons, fixed by BTreeCursor now storing reason as a member because it's much simpler. Some other clang-format changes and a couple of renames. 2021-07-18 03:02:10 -07:00
Steve Atherton 09a8561606 Merge branch 'master' of github.com:apple/foundationdb into redwood-io-priority
# Conflicts:
#	fdbserver/IPager.h
#	fdbserver/VersionedBTree.actor.cpp
2021-07-18 01:49:36 -07:00
Steve Atherton 89140b0281 Fixed PagerEventReason for BTree writePages(). Renamed enums to start with capital letters to match one of the two styles used throughput the code base (CamelCase or ALLCAPS). 2021-07-17 03:44:00 -07:00
Fuheng Zhao d87e695fba format files 2021-07-16 14:02:59 -07:00
Fuheng Zhao 29d61b708f fix issues 2021-07-16 13:53:30 -07:00
Fuheng Zhao 1c7e3f08c2 format the files 2021-07-14 17:26:24 -07:00
Fuheng Zhao 126c87923f switch unitmapper to static arry 2021-07-14 16:31:13 -07:00
Fuheng Zhao 737f053a7c modify the reference 2021-07-13 10:10:23 -07:00
sfc-gh-fzhao 62ad629b44
fix comment typo
Co-authored-by: Steve Atherton <steve.atherton@snowflake.com>
2021-07-13 09:08:02 -07:00
Fuheng Zhao 79a2950b2f move static potential combination outside the struct 2021-07-12 21:18:06 -07:00
Fuheng Zhao 7dbe10617b format the code with devFormat 2021-07-12 16:07:18 -07:00
Fuheng Zhao 43e3e24bb7 resolve naming conflict 2021-07-11 14:11:30 -07:00
Fuheng Zhao 0104edb651 todo: raneg prefetch to leaf level, and format file 2021-07-11 14:09:48 -07:00
sfc-gh-fzhao 7935567f34
Update fdbserver/IPager.h
Co-authored-by: Steve Atherton <steve.atherton@snowflake.com>
2021-07-11 12:59:55 -07:00
Steve Atherton fe575b995a Added IO Priority to Redwood. 2021-07-09 05:05:08 -07:00
Fuheng Zhao fa5a408eb4 change trace message 2021-07-06 22:31:37 -07:00
Fuheng Zhao 069d52a3cf update trace information and fix minor errors 2021-07-06 22:31:37 -07:00
Fuheng Zhao 8ba2991263 check in idx 2021-07-06 22:31:37 -07:00
Fuheng Zhao 34cd0d04d7 update redwoodmetrics structure; need to fix bug 2021-07-06 22:31:37 -07:00
Fuheng Zhao 9d1aeb3e1e initial draft on RedWoodMetrics changes 2021-07-06 22:31:37 -07:00
Steve Atherton 23d27663c0 Merge commit '98e463d642d1e674983842c8b2925981ff849729' into redwood-deltatree2-master
# Conflicts:
#	fdbserver/IPager.h
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/VersionedBTree.actor.cpp
2021-06-09 01:31:16 -07:00
Steve Atherton 98e463d642
Merge pull request #4781 from sfc-gh-ngoyal/redwood_queue_improvements
Redwood queue format refactored to support faster cold start recovery of pager update log.
2021-06-09 00:11:57 -07:00
Steve Atherton adcf126bfa Removed commit read FlowLock because it costs too much overhead, will need another way to throttle. Removed readPage() fromCache argument as it is no longer useful. 2021-06-08 16:58:35 -07:00
Andrew Noyes a655ae3e48 Try not marking buffer undefined 2021-06-02 16:25:25 -07:00
negoyal c2c523d96f Address review comments. 2021-05-25 22:52:10 -07:00
negoyal b37fb2ed5e Merge branch 'master' into redwood_queue_improvements 2021-05-20 21:25:18 -07:00
Steve Atherton f30793fd85 Implement getValuePrefix() using getValue() rather than the other way around to avoid the common getValue()'s actor state increasing from 128 to 256 bytes since it is a very hot code path. 2021-05-17 19:37:03 -07:00
Steve Atherton e40538729e
Update fdbserver/IPager.h
Co-authored-by: Andrew Noyes <andrew.noyes@snowflake.com>
2021-05-17 14:46:06 -07:00
Steve Atherton 390b026f08
Merge branch 'master' into arena-page 2021-05-16 05:06:50 -07:00
Steve Atherton cfeff9aa4b Clarity improvement, loop was reusing variable name from enclosing scope. 2021-05-16 01:41:40 -07:00
Steve Atherton 2298567c2b Use of aligned_alloc() for 4k pages causes too much wasted virtual memory. Added new 4k-aligned fast allocator, and changed Arena::allocatedAlignedBuffer() to be 4k-specific, now called Arena::allocate4kAlignedBuffer(). 2021-05-14 23:12:00 -07:00
negoyal af0b51d684 Misc. 2021-05-09 00:44:07 -07:00
negoyal 84a438b001 Merge branch 'master' into redwood_queue_improvements 2021-05-06 11:32:29 -07:00
Steve Atherton e0e3cd39f1 Cherry picked #4678 changes onto #4780 to resolve conflicts. 2021-05-05 22:02:44 -07:00
Steve Atherton 799e7cc213 BTreeCursor now exposes the current Page and Mirror arenas so that users extracting Standalone Keys and Values can just reference those instead of copying. 2021-05-05 21:05:32 -07:00
Steve Atherton f8a8bf315b Added Arena::allocateAlignedBuffer() to get an aligned memory block owned by an Arena, and ArenaPage uses this. 2021-05-05 15:00:12 -07:00
Steve Atherton 06e8caa0aa Replaced IPage with ArenaPage, a new Arena-based page class which enables StringRefs to hold a reference to Redwood page memory. 2021-05-05 12:35:39 -07:00
negoyal 1467217d5c Merge branch 'master' into redwood_queue_improvements 2021-05-04 23:03:21 -07:00
negoyal 0a5c5a1fb5 Misc bug fixes. 2021-04-28 12:43:22 -07:00
Steve Atherton 5c3cb0da20 Pager now reports whether an uncacheable read hit the cache or not. CommitSubtree now does uncacheable reads so it can avoid copying the old version of the page for modification if it was not already in cache. 2021-04-16 20:13:23 -07:00
Steve Atherton daa1796c99 Added Pager function for trying to evict a page from cache. 2021-04-15 00:08:29 -07:00
negoyal dbbb1bad13 First pass at Extent based queue for redwood remap queue. 2021-04-08 12:47:25 -07:00
Steve Atherton 90ebf90c8b Refactored page rebuild logic to bulk build pages full and split pages more evenly. 2021-04-03 19:54:49 -07:00
David Youngworth e1b7dd0c7d Merge remote-tracking branch 'upstream/release-6.3' into dyoungworth/fixMerge1 2020-08-22 12:25:19 -07:00
Steve Atherton c18d16ad30 Multiple sibling page updates within the remap cleanup window can now avoid the second update step, copying updated contents over the original page, by instead updating the parent page to point to the new sibling locations. 2020-08-09 03:04:38 -07:00
sfc-gh-tclinkenbeard 2a393633b6 Improved const-correctness
Using the recently added IndexedSet::const_iterator
(https://github.com/apple/foundationdb/pull/3185), we can improve the
const-correctness of many functions. In this PR const is added where
applicable. Also, wherever I came across the following while adding
const, I made the following changes:

- virtual function overrides are marked as override
- NULL is replaced with nullptr
- git clang-format is applied
2020-06-17 18:20:43 -07:00
Steve Atherton 1966dbb576 Checkpointing large refactor of how commitSubtree() works regarding internal pages such that now they can be incrementally modified and detecting changes involves far fewer comparison and staging of records. 2020-05-08 07:11:51 -07:00
Steve Atherton dda0993d16 Apply clang-format to Redwood source. 2020-04-24 14:12:40 -07:00