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

Container service ignores message id in put request #3

Closed
alexvanin opened this issue Jul 31, 2020 · 2 comments
Closed

Container service ignores message id in put request #3

alexvanin opened this issue Jul 31, 2020 · 2 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@alexvanin
Copy link
Contributor

Container has salt (nonce) field to avoid container id collisions. This field set via MessageID field in container put request. This field ignored by neofs-node, since container put response has different container id.

If you get container with returned container id, it will return with empty salt (nonce) field. This marks container as invalid.

Expected Behavior

Container put response has the same container id as your locally created structure.
Container get response returns valid container with non empty salt (nonce) field.

Current Behavior

Container put response has different container id from locally created container structure.
Container get response has empty salt (nonce) field, when MessageID was not empty.

Possible Solution

Do not regenerate salt (nonce) at server side. Return error if MessageID field is not set. Check if salt field did not missed during conversion from proto-defined container structure into neofs-node defined container structure.

Steps to Reproduce

  1. Create container.Container{} structure from neofs-api-go and fill it.
  2. Create container.PutRequest{} and fill the fields according to container structure.
  3. Check if PutResponse.CID field has different container id than container id structure.
  4. Wait container to be stored in morph chain.
  5. Get container with container id from PutResponse.
  6. Check if ID() function returns error because salt(nonce) field is empty.

Your Environment

  • Version used: neofs-node v0.11.0 at latest neofs-dev-env.
@realloc
Copy link

realloc commented Sep 14, 2020

Will be fixed by moving to NeoFS API v2.0 implementation.

@alexvanin
Copy link
Contributor Author

Fixed in #82. Though container service still requires to have some sanity checks: #85

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants