-
Notifications
You must be signed in to change notification settings - Fork 37
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
Ignore broken objects when migrating to metabucket #3203
Labels
enhancement
Improving existing functionality
I4
No visible changes
neofs-storage
Storage node application issues
S4
Routine
U1
Critically important to resolve quickly
Milestone
Comments
do not migrate objects from removed containers |
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Previously, migration func storing objects' metadata in the metabucket failed on any invalid object protobuf. With this, any invalid object prevented all valid ones to be served over SearchV2 protocol. This makes migrator to write info about broken object to the log, ignore it and go next. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Unify the object header check before writing to the meta bucket and the actual write for `Put` and migration routine. Also split header errors from the BoltDB transaction ones. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Object headers must not exceed 16K. This should be checked before saving to the metabucket. This also ensures that the BoltDB limits are met: any key should not exceed 32K. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Previously, migration func storing objects' metadata in the metabucket failed on any invalid object protobuf. With this, any invalid object prevented all valid ones to be served over SearchV2 protocol. This makes migrator to write info about broken object to the log, ignore it and go next. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Unify the object header check before writing to the meta bucket and the actual write for `Put` and migration routine. Also split header errors from the BoltDB transaction ones. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 5, 2025
Object headers must not exceed 16K. This should be checked before saving to the metabucket. This also ensures that the BoltDB limits are met: any key should not exceed 32K. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 6, 2025
Previously, migration func storing objects' metadata in the metabucket failed on any invalid object protobuf. With this, any invalid object prevented all valid ones to be served over SearchV2 protocol. This makes migrator to write info about broken object to the log, ignore it and go next. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 6, 2025
Unify the object header check before writing to the meta bucket and the actual write for `Put` and migration routine. Also split header errors from the BoltDB transaction ones. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
cthulhu-rider
added a commit
that referenced
this issue
Mar 6, 2025
Object headers must not exceed 16K. This should be checked before saving to the metabucket. This also ensures that the BoltDB limits are met: any key should not exceed 32K. Refs #3203. Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
enhancement
Improving existing functionality
I4
No visible changes
neofs-storage
Storage node application issues
S4
Routine
U1
Critically important to resolve quickly
Is your feature request related to a problem? Please describe.
neofs-node/pkg/local_object_storage/metabase/version.go
Line 114 in 951938a
Describe the solution you'd like
if the next object is not decoded, log its address (info) and BLOB (debug), skip and move on to the next one. Then the sick object will be cured by administration in one way or another, while healthy ones will be more quickly accessible to SearchV2 protocol
Describe alternatives you've considered
consider the metabase broken in this case and require resync. Generally legit, but in some cases may be too aggressive and time-spending
Additional context
The text was updated successfully, but these errors were encountered: