-
-
Notifications
You must be signed in to change notification settings - Fork 290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Attempt to continue LRU cache for decoded chunks #1214
Conversation
… decode round trip for object arrays(with tests)
sync with master
factoring out mapping code from LRUStoreCache and LRUChunkCache
|
zarr/tests/test_storage.py
Outdated
class StoreTests(MutableMappingStoreTests): | ||
"""Abstract store tests.""" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC, I needed to move this one, because LRUChunkCache doesn't implement the contextmanager interface - maybe implement it instead?
@@ -87,6 +87,15 @@ class Array: | |||
read and decompressed when possible. | |||
|
|||
.. versionadded:: 2.7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will need to get updated.
@@ -478,6 +489,16 @@ def open_array( | |||
non-fill-value data are stored, at the expense of overhead associated | |||
with checking the data of each chunk. | |||
|
|||
.. versionadded:: 2.7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs to get updated
Kicked off the GHA workflows. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1214 +/- ##
========================================
Coverage 99.99% 99.99%
========================================
Files 35 35
Lines 14136 14366 +230
========================================
+ Hits 14135 14365 +230
Misses 1 1
|
Green. Are there any other commits expected from your side, @croth1? |
I am still not super sure whether this is the final form or I would rather re-implement it as a caching store ontop of other stores, just like the LRUStoreCache - it feels a bit more intuitive to me. Also I still want to check whether I can do write caching. If I remember correctly, this implementation is write-through. Not sure whether in combination with LRUStoreCache cached writes can be achieved. Need to do more research, but I'm a bit busy right now. |
Hi, any news on when this feature will get pushed to main? It seems like a very useful feature! |
@FarzanT @joshmoore, I have in the meantime changed my approach and would not need this anymore - hence the long silence. If that's useful for other people, we can try finishing it up as is. Would need some rebasing and performance testing, though. IIRC, last time I checked all tests were green, although this would need a very thorough review because frequently I was not 100% sure what I was doing during the quite substantial rebase. |
Thank you @croth1 and @joshmoore, my primary use case has also been addressed by #278 (comment), so it's not a pressing issue for me at the moment. But I'd say it would be much nicer to just flip a switch and have zarr handle this internally. If this pull request can address this, then it shouldn't be abandoned IMO! |
I'm going to close this as stale. Folks should feel free to reopen if there is interest in continuing this work. |
Continuation attempt of #306 - do not merge yet -
very likely still not correct behaviour when chunks get deleted from store by #738.Still have very limited knowledge of the code base - will require me to dig a bit deeper to gain bit more understanding.
TODO: