Skip to content

Conversation

@cachemeifyoucan
Copy link

Previously, the chaining of KeyValueDB and OnDiskGraphDB is not consistant. Some operations are implemented directly in the lowest layer, some are in the UnifiedOnDiskCache layer, and some are in the ActionCache/ObjectStore layer.

Now unifies all the chaining logics down into OnDiskGraphDB and OnDiskKeyValueDB layer, with the exception of KeyValueDB chaining will need the help of functions in UnifiedOnDiskCache layer.

This cleans up the interfaces for UnifiedOnDiskCache member functions so it only contains database managment functions. Old functions like KVPut/Get can be done directly via underlying database file with a little bit of extra wrapper around it (see libCASPluginTest.dylib) implementation for the simple wrapper needed.

@cachemeifyoucan
Copy link
Author

@swift-ci please test llvm

Previously, the chaining of KeyValueDB and OnDiskGraphDB is not
consistant. Some operations are implemented directly in the lowest
layer, some are in the UnifiedOnDiskCache layer, and some are in the
ActionCache/ObjectStore layer.

Now unifies all the chaining logics down into OnDiskGraphDB and
OnDiskKeyValueDB layer, with the exception of KeyValueDB chaining will
need the help of functions in UnifiedOnDiskCache layer.

This cleans up the interfaces for UnifiedOnDiskCache member functions
so it only contains database managment functions. Old functions like
`KVPut/Get` can be done directly via underlying database file with a
little bit of extra wrapper around it (see libCASPluginTest.dylib)
implementation for the simple wrapper needed.
@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-db-chaining-lowering branch from af4d0af to 40ad2bc Compare October 24, 2025 23:19
Copy link

@benlangmuir benlangmuir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants