Skip to content
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

Provide a bulk method for setting metadata #3847

Closed
davidgcameron opened this issue Jul 16, 2020 · 5 comments · Fixed by #4014
Closed

Provide a bulk method for setting metadata #3847

davidgcameron opened this issue Jul 16, 2020 · 5 comments · Fixed by #4014
Assignees
Milestone

Comments

@davidgcameron
Copy link
Contributor

Motivation

The bulk method add_did_meta() was removed in 1.23 and now it's only possible to set single key-value pairs through set_metadata(). This will be very slow for large numbers of metadata attributes per file (70 in the case of LDMX).

Modification

Provide a bulk version of set_metadata()

@bari12
Copy link
Member

bari12 commented Jul 16, 2020

@arisfkiaras can you please have a look at this one?
Ideally we should try to do something "performant" there, so not to fire off 1 plugin method for each key, but potentially split the bulk up per plugin and then do a bulk operation per plugin. Would that be feasible without too much change?

@davidgcameron
Copy link
Contributor Author

Alternatively the existing methods like add_did() and add_replica() which take a metadata dictionary could be adapted to the new metadata scheme.

@bziemons
Copy link
Member

@bari12 I have looked a bit closer at this. There is a bit of work in adding the method to the plugins, but I would be willing to take it, considering that I still have time and Python 3.7 is at the doorstep.

@bziemons
Copy link
Member

@bari12 as David mentioned, why are the add_did and add_replica core methods not using the meta plugins for their meta parameter?

@bari12
Copy link
Member

bari12 commented Sep 21, 2020

I think this was just forgotten. It should be, very carefully, added as well. Thanks for spotting this.
Also list_dids still points to the old method. This we carefully need to point to the new interface as well. The idea was to test the other metadata methods first before doing the big jump with list_dids.

bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Sep 22, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
@bziemons bziemons assigned bziemons and unassigned arisfkiaras Sep 23, 2020
bziemons added a commit to bziemons/rucio that referenced this issue Oct 2, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Oct 2, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bziemons added a commit to bziemons/rucio that referenced this issue Oct 27, 2020
Additionally use set_metadata_bulk in add_did and add_replica.
bari12 added a commit that referenced this issue Nov 13, 2020
…ulk_set

Core & Internals: Add setting did meta in bulk; #3847
@bari12 bari12 added this to the 1.24.0 "Aquadonkey" milestone Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants