-
Notifications
You must be signed in to change notification settings - Fork 264
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
Cleanup the handling of cache parameters. #2734
Conversation
re: Unidata#2733 When addressing the above issue, I noticed that there was a disconnect in NCZarr between nc_set_chunk_cache and nc_set_var_chunk cache. Specifically, setting nc_set_chunk_cache had no impact on the per-variable cache parameters when nc_set_var_chunk_cache was not used. So, modified the NCZarr code so that the per-variable cache parameters are set in this order (#1 is first choice): 1. The values set by nc_set_var_chunk_cache 2. The values set by nc_set_chunk_cache 3. The defaults set by configure.ac
re: PR Unidata#2734 re: Issue Unidata#2733 As a result of an investigation by https://github.com/uweschulzweida, I discovered a significant bug in the NCZarr cache management. This PR extends the above PR to fix that bug. ## Change Overview * Insert extra checks for cache overflow. * Added test cases contingent on the --enable-large-file-tests option. * The Columbia server is down, so it has been temporarily disabled.
OK, I think I see the problem here. IIRC, HDF5 has two different chunk cache settings, one for the file chuck cache (nc_set_chunk_cache) and the variable chunk cache. They are different, but seem to be conflated in this PR. |
My understanding was that the file-level chunk cache is only a set of size parameters and there is no |
I'm untangling this today as well to see where MAX_DEFAULT_CACHE_SIZE was being used prior to this. I may re-add it for the full release with a 'deprecated' tag, unless we can determine it serves a separate purpose. I'm just focusing on untying this logic knot around these similarly named variables. Regarding #3067, and the observed performance degradation, I am inclined to make the changes necessary to the default values to restore previous performance, while also making it more clear what the options represent, as need be. |
I agree. The first priority is getting performance back to the way it was. |
re: Issue #2733
When addressing the above issue, I noticed that there was a disconnect in NCZarr between nc_set_chunk_cache and nc_set_var_chunk cache. Specifically, setting nc_set_chunk_cache had no impact on the per-variable cache parameters when nc_set_var_chunk_cache was not used.
So, modified the NCZarr code so that the per-variable cache parameters are set in this order (#1 is first choice):