You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by GitBox <gi...@apache.org> on 2022/12/28 06:48:24 UTC

[GitHub] [ozone] k5342 opened a new pull request, #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

k5342 opened a new pull request, #4132:
URL: https://github.com/apache/ozone/pull/4132

   ## What changes were proposed in this pull request?
   listStatus API in FSO buckets sometimes fails with a maximum IPC length exceeded error when a prefix has many or some large files. The problem is KeyLocation is potentially fat because it has unnecessary fields not needed to list keys such as pipeline info. This patch is omitting pipeline info in the KeyLocation entry to reduce the size of the KeyLocationList.
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/HDDS-7715
   
   ## How was this patch tested?
   - triggered by CI
   - manual tests via Ozone CLI; `ozone sh key list`
   (Please explain how this patch was tested. Ex: unit tests, manual tests)
   (If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] errose28 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
errose28 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1371481593

   +1 for some sort of name only key list API, while leaving the existing one for now for compatiblity. We should probably make such a thing in a separate jira with some design though.
   
   @k5342 For the immediate issue here, did you have any luck with `ozone.client.list.cache`?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] k5342 closed pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
k5342 closed pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call
URL: https://github.com/apache/ozone/pull/4132


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] errose28 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
errose28 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1372621435

   @k5342 Feel free to file a jira for the new list key API and link it to this issue, even if you are not planning on working it. Could you file a jira for the `--page-size` AWS CLI arg if it is not working? I am not sure what REST calls that causes the AWS client to do to S3 gateway but it is possible that it is not being respected by Ozone currently.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] errose28 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
errose28 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1370378574

   This is going to have client cross compatibility problems, hence why xcompat acceptance tests failed. Honestly I wish our list APIs only returned key names, and the stat info was saved for key info requests, but it was not done that way so we are stuck working around this.
   
   Anyways, with the current design I think you can reduce the config `ozone.client.list.cache` to something lower than its default value of 1000 to fix the problem by fetching fewer keys at a time. See `OzoneBucket#KeyIteratorWithFSO#getChildrenKeys`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] k5342 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
k5342 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1373488975

   I've filed as a Jira ticket. Please take a look & let's move on to the ticket!
   https://issues.apache.org/jira/browse/HDDS-7736


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] k5342 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
k5342 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1366441910

   Ah, okay. I checked only via Ozone CLI before submitting this and CI failed. I will fix `BasicOzoneClientAdapterImpl#toFileStatusAdapter` too.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] k5342 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
k5342 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1371940161

   Hi @errose28, thank you for your pointer. Fortunately, it worked for us. We have many multipart-uploaded files under the same prefix in our environment; hence it requires us to reduce the window from 1000 to 10. We are concerned about OM load increase, so we will carefully apply it to our production use. We already tried a `--page-size` option aws-cli, but it had not worked and stuck us. We did not notice limiting RPC entries on the Ozone client side in the listStatus API. Thank you for guiding me.
   
   I will put +1 for the @kerneltime's suggestion on expanding a new API call or putting new arguments for existing API. From my personal view, I think extending listStatus API to add a capability for just serving only keys is the most elegant solution. However, the listStatus already has much variety of arguments and overloads, so further extending is a bit complicated, and that requires to pay a compatibility issue too. In that sense, a new API method to get keys might be the most simple (might be naïve?) solution.
   
   I submitted this patch to check the CI pass. However, it turned out that just omitting pipelineInfo breaks the compatibility for OFS, so I think this direction is unacceptable for merge; now we can close this PR. Thank you for your comments!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] k5342 commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
k5342 commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1373251350

   Okay. I will file remaining tasks as Jira tickets.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org


[GitHub] [ozone] kerneltime commented on pull request #4132: HDDS-7715. Omit to serve pipelineInfo in listStatus API call

Posted by GitBox <gi...@apache.org>.
kerneltime commented on PR #4132:
URL: https://github.com/apache/ozone/pull/4132#issuecomment-1370456844

   For use cases such as list-keys via shell or s3g list keys, it might make sense to add a separate API call that does not include pipeline information. We will need to check the Hadoop filesystem interface to see if the list keys need location information to change all list key APIs usages. The need for backward compatibility mandates either adding a new optional flag ignored by older OM versions or new APIs that the client only calls against upgraded OM instances. This is worth pursuing as, for S3 and other use cases having a lightweight way to list keys can make a difference in performance. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org