Improvements to RucioFileCatalogClient, compatibility of older client with Rucio 41 server - #8744
Conversation
e4877a6 to
fde71cf
Compare
fde71cf to
323fd9a
Compare
|
LGTM. The PR is marked as draft, so do you want to had more changes ? |
|
I left it draft for now because I didn't come around to testing all changes yet in our integration environment. I tested most and it works fine, but e.g. the data removal methods I didn't test yet as they are not convered in our integration test suite. |
f81984e to
1cfd236
Compare
1cfd236 to
9d67c7a
Compare
|
Hi, I can give the final review and merge this one, but I am just wondering if this is something that you would like to backport. If only this PR is merged, your changes will only be in v9.1.X release. This is true also for #8757 |
|
This is fine, we are are only using the RucioFileCatalog in the new system, which is on Diracv9 + DiracX, the legacy v8 deployment is using the DFC. |
|
Yes, but even for that there are v9.0.X (created from |
|
We are currently on 9.1.9 with the new system |
BEGINRELEASENOTES
ENDRELEASENOTES
This makes a couple of small updates to the
RucioFileCatalogClienttriggered by issues we discovered in the CTAO integration test environment when running DIRAC with a rucio client version 40 but a rucio server version 41.In Rucio 41, a long-standing bug ignoring the
pluginparameter forget_metadata_bulkwas fixed, which in prior versions resulted in theDID_COLUMNmetadata being returned regardless of theplugin=parameter.However, this breaks the
RFCin the combination of a rucio 40 client with a rucio 41 server (a combination which is allowed according to Rucio's support policy of newer servers keeping compatibility with older clients), becauseget_metadata_bulkin rucio 40 usesplugin='JSON"as the default. This worked before becausepluginwas ignored, however, with a Rucio 41 server,pluginis correctly respected, which results in theJSONmetadata being returned where the RFC actually expects theDID_COLUMNmetadata (e.g. containing size in bytes, checksums, did type).Using Rucio client 41 with Rucio server 41 works, because also the default plugin for
get_metadata_bulkwas changed toDID_COLUMN.Here, it is better to be explicit though: everywhere DIRAC needs the basic did metadata,
DID_COLUMNis explicitly added.I also changed a couple of calls of
get_did_metadatatoget_did, which is cheaper to execute as it does not involve the metadata plugin machinery.