Metadata_grouping

Bug #1170043 reported by David Hadas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Invalid
Undecided
David Hadas
Changed in swift:
assignee: nobody → David Hadas (david-hadas)
Revision history for this message
David Hadas (david-hadas) wrote :
Download full text (3.2 KiB)

I suggest to start by limiting to discussion to any attribute stored with the 'data' (i.e. not every attribute traveling with the data to/from and between servers) ..
E.g. Consider X-Delete-At while not considering X-Delete-After (as it is never stored with the data)

Another somewhat non-orthodox classification is between USER and SWIFT as the entity creating the metadata:
- If the system is ok with the user generating the information (and even if it is in practice being also generated in some cases by a middleware) the attribute would be considered as a USER MD (E.g. we have a middleware that will set X-Container-Sync-To but we will still consider it to be a USER MD.
- If the system is enforcing the information (and even if it tested against some user provided information) we will consider it as a SWIFT MD. E.g. ETag is enforced by Swift, yet the user may send his own version which will be tested against the system version.

Objects Metadata:

I suggest to start by limiting to discussion to any attribute stored with the 'data' (i.e. not every attribute traveling with the data to/from and between servers) .
E.g. Consider X-Delete-At while not considering X-Delete-After (as it is never stored with the data). I guess a very similar analysis can be made on the incoming/outgoing headers – which may make sense also, but we need to start somewhere…

Another somewhat non-orthodox classification is between USER and SWIFT as the entity creating the metadata:
- If the system is ok with the user generating the information (and even if it is in practice being also generated in some cases by a middleware) the attribute would be considered as a USER MD (E.g. We have a middleware that will set X-Container-Sync-To but we will still consider it to be a USER MD.
- If the system is enforcing the information (and even if it tested against some user provided information) we will consider it as a SWIFT MD. E.g. ETag is enforced by Swift, yet the user may send his own version which will be tested against the system version.

I created a google docs page to summarize the different Metadata attributes I have found so far.
See: https://docs.google.com/spreadsheet/ccc?key=0Anreg7c52mt0dGJUb2xyWHltMWdxalE3cEF6azFrRGc#gid=0
whoch should be open for everyone to read (anyone interested in editing at the source, please send me your gmail).

Coming from this, here is a first version of suggested classification in Swift:

                                                             Generated by the User Generated by Swift
                                                        Can be read Hidden Can be read Hidden
Modulates Swift Control MD <<Never>> Swift MD Internal MD
Does not modulate Swift User MD <<Never>> Swift MD <<Never>>

Or in other words:
- Control MD is any MD that controls/modulates swift (and can be read and written by the user)
- User MD is any MD that the user stores in Swift and Swift and does not controls/modulates swift
- Swift MD is MD generated by Swift that the user can read and may also control/modulate swift
- Internal MD is MD gener...

Read more...

Revision history for this message
David Hadas (david-hadas) wrote :

The table above became unaligned - it should say:

Generated by the User
--- Can be read by the user
------ Modulates Swift: Control MD
------ Does not Modulate Swift: User MD
--- Can not be read by the user: <<Never>>

Generated by Swift
--- Can be read by the user: Swift MD
--- Can not be read by the user: Internal MD

Revision history for this message
John Dickinson (notmyname) wrote :

Since this bug was filed (over 2 years ago!) we've added sysmeta and currently there is the policy.json work being done. Both help solve the request being raised here, I think. If there is still something new, then it should be gathered in a spec rather than in a launchpad bug.

Changed in swift:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers