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

Try to GET object from container of previous epoch #234

Closed
cthulhu-rider opened this issue Dec 7, 2020 · 2 comments
Closed

Try to GET object from container of previous epoch #234

cthulhu-rider opened this issue Dec 7, 2020 · 2 comments
Assignees
Labels
enhancement Improving existing functionality neofs-storage Storage node application issues
Milestone

Comments

@cthulhu-rider
Copy link
Contributor

Some objects can migrate after the epoch upgrade. We need to try to GET object from the container of previous epoch (may be several).

@cthulhu-rider cthulhu-rider added enhancement Improving existing functionality triage neofs-storage Storage node application issues labels Dec 7, 2020
@cthulhu-rider cthulhu-rider removed this from the v0.XX "Yeouido" milestone Dec 24, 2020
@cthulhu-rider
Copy link
Contributor Author

cthulhu-rider commented Dec 24, 2020

After discussion with @realloc we decided to define request meta headers with reserved keys:

  1. Using epoch number (or netmap version): tells the server which network map to use to process the request;
  2. Epoch diving depth: tells the server what maximum depth along the epoch timeline to process the request.

This approach requires significant changes (everywhere starting from the API) and non-trivial testing, so we decided to move the solution of this task to the post-Yeouido sprints.

cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
Add GetNetMapByEpoch method. Add Epoch method.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
… in read ops

Support processing of NetmapEpoch and NetmapLookupDepth X-headers when
processing object read operations. Placement for operations
Get/Head/GetRange/GetRangeHash/Search is built for the epoch specified in
NetmapEpoch X-header (by default latest). Also the specified operations are
processed until success is achieved for network maps from the past up to
NetmapLookupDepth value. Behavior for default values (zero or missing) left
unchanged.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
… in read ops

Support processing of NetmapEpoch and NetmapLookupDepth X-headers when
processing object read operations. Placement for operations
Get/Head/GetRange/GetRangeHash/Search is built for the epoch specified in
NetmapEpoch X-header (by default latest). Also the specified operations are
processed until success is achieved for network maps from the past up to
NetmapLookupDepth value. Behavior for default values (zero or missing) left
unchanged.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
Add GetNetMapByEpoch method. Add Epoch method.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
… in read ops

Support processing of NetmapEpoch and NetmapLookupDepth X-headers when
processing object read operations. Placement for operations
Get/Head/GetRange/GetRangeHash/Search is built for the epoch specified in
NetmapEpoch X-header (by default latest). Also the specified operations are
processed until success is achieved for network maps from the past up to
NetmapLookupDepth value. Behavior for default values (zero or missing) left
unchanged.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 12, 2021
… in read ops

Support processing of NetmapEpoch and NetmapLookupDepth X-headers when
processing object read operations. Placement for operations
Get/Head/GetRange/GetRangeHash/Search is built for the epoch specified in
NetmapEpoch X-header (by default latest). Also the specified operations are
processed until success is achieved for network maps from the past up to
NetmapLookupDepth value. Behavior for default values (zero or missing) left
unchanged.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
@alexvanin
Copy link
Contributor

Done in #305

cthulhu-rider pushed a commit to cthulhu-rider/neofs-node that referenced this issue Jan 14, 2021
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improving existing functionality neofs-storage Storage node application issues
Projects
None yet
Development

No branches or pull requests

3 participants