[ 
https://issues.apache.org/jira/browse/HDDS-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

George Huang updated HDDS-6998:
-------------------------------
    Target Version/s: 1.3.1

> Ignore open keys with higher updateID in OpenKeyDeleteRequest
> -------------------------------------------------------------
>
>                 Key: HDDS-6998
>                 URL: https://issues.apache.org/jira/browse/HDDS-6998
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Kaijie Chen
>            Assignee: Kaijie Chen
>            Priority: Critical
>              Labels: pull-request-available
>
> Some old clusters may have been switched from non-HA mode to HA mode,
> and leave keys with higher updateID in the open key table.
> It will cause OM to fail when assigning a lower updateID to OmKeyInfo, for 
> example:
> {noformat}
> java.lang.IllegalArgumentException: Trying to set updateD to 2335683 which is 
> not greater than the current value of 2974142 for 
> OMKeyInfo{volume='s325d55ad283aa400af464c76d713c07ad', bucke
> t='idex-bucket',key='abcdef/20201102/plc_1604302955503_1511/0'
> , dataSize='12', creationTime='1604314644177', objectID='737325824', 
> parentID='O', replication='RATIS/THREE', fileChecksu
> m='null}
> at 
> org.apache.hadoop.ozone.om.helpers.WithObjectID.setUpdateID(WithObjectID.java:105)
> at org.apache.hadoop. ozone. om. request. key.0MOpenKeysDeleteRequest. 
> update0penKeyTableCache (0MOpenKeysDeleteRequest, java: 163)
> at org.apache.hadoop. ozone. om. request.key. 0MOpenKeysDeleteRequest. 
> validateAndUpdateCache (OMOpenKeysDeleteRequest. java: 95)
> at 
> org.apache.hadoop.ozone.protocolPB.OzoneManagerRequestHandler.handleWriteRequest(OzoneManagerRequestHandler.java:293)
> at 
> org.apache.hadoop.ozone.om.ratis.OzoneManagerStateMachine.runCommand(OzoneManagerStateMachine,java:529)
> at org.apache.hadoop. ozone. om. ratis.OzoneManagerStateMachine. lambda$1 
> (OzoneManagerStateMachine. java: 324)
> at 
> java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture,java:1590)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util. concurrent.ThreadPoolExecutor$Worker. run (ThreadPoolExecutor, 
> java: 624)
> at java. lang.Thread. run (Thread. java: 748){noformat}
>  
> In this case, the OpenKeyDeleteRequest should just ignore those keys.
> And eventually, those keys will be deleted when the updateID grows and become 
> new enough.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to