-
Notifications
You must be signed in to change notification settings - Fork 483
Extending the CCDB API to optionally get the headers from first HTTP request #14709
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
Extending the CCDB API to optionally get the headers from first HTTP request #14709
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
Error while checking build/O2/fullCI_slc9 for 9f2938b at 2025-10-01 12:56: Full log here. |
9f2938b to
d7b08a5
Compare
|
Error while checking build/O2/fullCI_slc9 for d7b08a5 at 2025-10-01 16:13: Full log here. |
|
I see some of the unit test that I made are flaky, I am able to get tests locally to fail randomly when running them many times. I'll change/remove the test are being flaky, so they do not pop up in other unrelated CI runs. I believe it is unrelated to the changes in this PR. |
I do not see how in a unit test there should be parallel execution and race conditions with BasicCCDBManager unless you talk to it in multiple threads. |
d7b08a5 to
5f6a483
Compare
519d0fb to
5f58d2f
Compare
Updated code snippets in README for header retrieval and added optional parameter documentation details. Also fixed some CI formatting errors.
5f58d2f to
510f451
Compare
510f451 to
60ede12
Compare
This fixes some tests that are fine on my desktop but the subprocess aborts even when all tests are green in the CI. The error is this: malloc_consolidate(): invalid chunk size Was told this was a heap corruption. And changing the includes fixes the error, not sure why. Changed also to only use one instance of CCDB api so we do not call CURL global cleanup out of order with the BasicCCDBManger singelton. Just in case that matters when running the test(s).
60ede12 to
2246830
Compare
That was what I initially though was happening, but I was incorrect. But turns out I included the wrong header in the unit test. I should have used |
|
Error while checking build/O2/fullCI_slc9 for 2246830 at 2025-10-28 20:20: Full log here. |
|
Hi, is there any news about the review of this PR? It would be good to have the API changes in place so that we can close AliceO2Group/O2Physics#13265 |
Some background
There is some code that used the retrieveHeaders function right after getting a object from CCDB, sending one request for the object itself and then one HTTP HEAD request immediately after for the metadata/headers.
I was asked by @costing to change the O2/CCDB C++ API such we could return the headers in one call, enabling the use of just one call to CCDB, avoiding the extra network calls/retrieveHeaders.
This PR implements these changes.
New functionality
This does increase the memory used, but I guess it is negligible.
(I also added some unit tests to make myself feel more comfortable with my changes)