ashishkumar50 commented on PR #5422:
URL: https://github.com/apache/ozone/pull/5422#issuecomment-1758880474

   > Could you add a test for this which reproduces the original issue just on 
the Ozone side? Ie a test which simulates what S3A does to result in the 
incorrect listing?
   
   @sodonnel Thanks for the review.
   
   Below is the process that leads to the problem:
   
   Operation: Create key `word.txt` from dfs s3a in fso bucket.
   dfs with s3a creates a temp key first, then copy temp key to actual key.
   
   Here are the operations that happens at Ozone:
     i)  Call received at `BucketEndPoint(get)` with prefix `word.txt/ ` --> 
return empty response from ozone as no such key exist
    ii)  Call received at `BucketEndPoint(get)` with prefix 
`word.txt._COPYING_/`  --> return empty response from ozone as no such key exist
    iii) Call received at ObjectEndPoint(put) with keyPath= 
`word.txt_.COPYING_` with the actual content. -->In ozone Key gets created with 
name `word.txt_.COPYING_`
    iv)  Call received at `BucketEndPoint(get)` with prefix `word.txt/ `Ozone 
returns `word.txt._COPYING_ `back to s3a
    v)   Call received at `ObjectEndPoint(put)` with 
keyPath=`word.txt/ord.txt._COPYING_` and  header includes x-amz-copy-source"
   Now for ozone in case of FSO there are two keys a) word.txt/ b) 
ord.txt._COPYING_ and both doesn't exist.
   So two keys are getting created and the content is getting copied into 
`word.txt/ord.txt._COPYING_`
   
   Looking at step (iv) since ozone has returned key with the prefix exist, s3a 
is appending that key name with the actual key and sending copy put object at 
step(v).
   
   Problem is happening at step(iv) which is about listing, You want to have 
test on that?


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to