smengcl commented on PR #6046:
URL: https://github.com/apache/ozone/pull/6046#issuecomment-1911712810

   Regarding the [test 
failure](https://github.com/apache/ozone/actions/runs/7662179618/job/20886152096?pr=6046#step:6:221)
 with the last commit:
   
   ```
   Error:    
TestLeaseRecovery.testGetCommittedBlockLengthTimeout:330->closeIgnoringKeyNotFound:98
 expected: <KEY_NOT_FOUND> but was: <KEY_UNDER_LEASE_RECOVERY>
   ```
   
   After a few hours of debugging, I found the new test 
`testGetCommittedBlockLengthTimeout` (added in HDDS-10044) does NOT throw 
`KEY_NOT_FOUND` when `forceRecovery == false` during `stream.close()`, because 
the key still exists in `OpenKeyTable` when the stream is being closed even 
**without this PR's change**. (Note when `forceRecovery` is `true`, the open 
key is indeed gone. Thus will throw `KEY_NOT_FOUND`.)
   
   This specific test wasn't previously failing because `HSYNC_CLIENT_ID` was 
NEVER put to `OpenKeyTable` before this patch, as I have 
[detailed](https://github.com/apache/ozone/pull/6046#discussion_r1463905295) 
above already. And now with this PR, `KEY_UNDER_LEASE_RECOVERY` is thrown here:
   
   
https://github.com/apache/ozone/blob/a15c9ae1b30267db5000bfa2a307e9b57e601f6d/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java#L256-L262
   
   So far it looks like a test issue rather than the code issue and I have 
adjusted the test to make it pass. Pls check if this is the desired behavior 
@ChenSammi .


-- 
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