Skip to content

0.26.6 - JobSizeSpec

Compare
Choose a tag to compare
@tonyastolfi tonyastolfi released this 20 Sep 14:09
· 47 commits to main since this release
8e5a4f4
Job size spec (#122)

* Bug todo...

* switch to script branch

* Move batteries/ to script/

* Use relative path for submodule

* Switch everything over to new script/ dir.

* Add ability to manually simulate flush operations when using MemoryLogDevice.

* Provide access to the Volume root_log for testing.

* Add ostream operator for LogReadMode.

* Move pack_object impl to packed_page_id; increase warning strictness.

* Upgrade batteries and prepare to release.

* Upgrade batteries.

* Add optional WorkerPool& to DataPacker.

* Upgrade batteries to 0.25.3.

* Add parallel copying to DataPacker.

* Add ability to capture/parse raw log data from a Volume.

* Don't warn about page not found if `ok_if_not_found` is true.

* Tweaks to log data capture apis.

* Upgrade to batteries/0.27.3.

* Add SlotSequencer::await_current, upgrade to batteries/0.28.2.

* Add convenience methods to PageView/PinnedPage.

* WIP - fix for recovery bugs.

* Fix duplicate PageRecycle delete bug.

* Move PageAllocator files into subdir.

* Fix PageAllocator state recovery bugs.

* Upgrade to batteries/0.28.5.

* Refactor PageRecycler; minor fixes/asserts to PageAllocator.

* Fix PageAllocator dead page detection to be deterministic in crash recovery.

* Fix incorrect last_update calculation in PageAllocator (should be last checkpoint).

* Fixes for Clang builds.

* Initial version of storage simulation classes.

* Implement StorageSimulation::get_page_device.

* First cut of volume recovery StorageSimulation (+ fix #38).

* Refactor CommitChunk init.

* Add PageGraphNode page layout and more of volume recovery sim test.

* Working Volume recovery sim test!

* Add more page integrity checking in volume recovery sim test.

* Merge some missing changes to SimulatedPageDevice::Impl.

* Update from volume recovery fix PR.

* Fix bug re: enforcing one allocator user slot job at a time in volume.

* Changes for snapshots.

* WIP - Binary Prefix Trie structure.

* Add binary prefix trie (BPTrie).

* Add PackedInterval::from(Interval).

* Add new faster packed BPTrie layout.

* New faster packed layout for BPTries, cleanup, compare against packed sstables.

* Further compress packed BPTrie layout; add get_key operation.

* Add words file to testdata/.

* Tune the test.

* Trie test tuning.

* Implement Right-Leaf optimization in BPTries.

* Upgrade to batteries/0.31.0

* Add volume root log trim delay size parameter.

* Upgrade to batteries/0.31.3.

* Add VolumeTrimmer::get_trim_delay().

* Allow slot read lock and capture range to be different in Volume::get_root_log_data.

* Fix VolumeTrimmer trim delay bug.

* New fix for VolumeTrimmer + trim_delay.

* Add Volume::get_trim_pos().

* Fix #50.

* Fix #50.

* Fix for #52.

* Fix for #52.

* Fix for #53.

* Add some comments to the test.

* Add doc comments to TypedSlotWriter::append, to describe new post_commit_fn param.

* Add more test comments.

* Fix signed/unsigned type error.

* Add concurrent append jobs volume storage sim test.

* Upgraded dependencies to latest versions (performed by a8/script/upgrade-deps.sh)

* Upgrade docker container for CI.

* Upgrade batteries to 0.33.1.

* WIP

* Upgraded dependencies to latest versions (performed by a8/script/upgrade-deps.sh)

* script

* script

* Upgrade batteries; fix warnings (unused arg).

* wip

* Upgrade to latest batteries, fix build breakage (C++20)

* Updates from PRs

* update script to latest

* upgrade to batteries/0.35.0

* Merge changes from other PRs

* Manual merge of changes from upstream.

* Merge updates from other branches

* Fix recipe problems re: conan2

* Upgrade CI docker image.

* Update README.

* Upgrade script

* Upgrade script, boost, and batteries.

* Fix potential export problems with recipe.

* script

* Switch to conan_find_requirements.cmake in CMakeLists.txt.  Upgrade
batteries, downgrade boost.

* Readability.

* Upgraded dependencies to latest versions (performed by a8/script/upgrade-deps.sh)

* Upgrade boost and batteries; fix regression in bloom filter perf.

* Add Fuse helpers.

* WIP - fuse support.

* Upgrade batteries; wip fuse impl.

* Upgrade to batteries/0.42.1.

* wip - llfs_fuse.

* Progress on fuse.

* Move mem_fuse into llfs, start writing unit test.

* MemFuseImpl test working.

* Add ability to cleanly shut down WorkQueue/WorkerTask.

* wip mem_fuse.

* Update script

* upgrade script/

* Update build recipe.

* register_page_reader - safe re-registration of the same PageReader.

* wip - fs

* Upgrade to batteries/0.43.0.

* WIP - IoRingBufferPool.

* Add IoRingBufferPool impl and test.

* wip IoRing perf and features.

* Provide an easy way to get the full append byte size from a SlotParse.

* Add SlotParse::total_grant_spent.

* Fix various log bookkeeping bugs.

* Fix build breakage due to new CancelToken API.

* update script

* Re-enable MemFuseTest.

* Minor cosmetic fixes; add doc comments to new Volume methods.

* Fixes for #85, #86, #94, #99, #101.

* Fix for #87, #100; upgrade to batteries/0.44.1.

* Fix for #87, #98, #100; upgrade to batteries/0.44.1.

* Fixes for #90, #95, #96, #97.

* Manually merged changes from other branches.

* Merge changes from other PRs.

* Fixes for #88.

* Clean up IoRingImpl; increase IoRingBufferPool code coverage in test.

* wip - before major rewrite of VolumeTrimmer to simplify.

* wip - save VolumeCommittedJobTracker before removing (just in case we change our mind!)

* wip - new VolumeTrimmer.

* wip - volume trimmer fixes (plus test fixes).

* (re-)Acquire job grant first on recover in trimmer test; this is
roughly equivalent to resolving jobs first (volume.cpp)

* Added cached pool for RingBuffer, fixed testdata bug (TrieTest).

* Upgrade to batteries/0.44.1.

* wip

* Add caching of ring buffer mapped memory to slow resource growth.

* Use madvise; minimize calls to munmap.

* Fix for #108, Fix for #107.

* merge RingBuffer changes.

* Cleanup.

* Hand-merge refactoring of finalized_page_cache_job.*

* fix header order

* Cleanup code.

* Minor changes.

* Remove dead code.

* Hand-merge from all pending branches...

* Only clear one mirror when deallocating a RingBuffer::Impl.

This seems to fix a sporadic Bus Error when trying to memset the
entire mapped region (size * 2) at once.

* memfd_create instead of tmpfile, normalized subpool sizes.

* Merge RingBuffer updates.

* Upgrade to batteries 0.44.2.

* Upgrade to batteries/0.44.3

* Add diagnostics to unpack_cast (what type)

* Check to make sure trim control (SlotLockManager) isn't closed before
starting a new trim.

* Fix for #117.

* Various minor diagnostic improvements.

* Comments.

* PageRecycler::pre_halt.

* Make DataPackerArena constructor public.

* Add JobSizeSpec, for precise job grant calculation.