bharatviswa504 commented on a change in pull request #71: HDDS-2344. Add immutable entries in to the DoubleBuffer for Volume requests. URL: https://github.com/apache/hadoop-ozone/pull/71#discussion_r338340651
########## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetOwnerRequest.java ########## @@ -171,7 +171,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, omResponse.setSetVolumePropertyResponse( SetVolumePropertyResponse.newBuilder().build()); omClientResponse = new OMVolumeSetOwnerResponse(oldOwner, - oldOwnerVolumeList, newOwnerVolumeList, omVolumeArgs, + oldOwnerVolumeList, newOwnerVolumeList, + (OmVolumeArgs) omVolumeArgs.clone(), Review comment: https://issues.apache.org/jira/browse/HDDS-2322 The issue is seen with Key Operations, I think we might see the same issue with Other Operations too. Let's take a case where RemoveAcl result OMVolumeArgs is submitted to flushThread and other thread which is performing removeAcl is updating the same OmVolumeArgs on this(Like we have a list and map internally for acls). Then when we might see ConcurrentModificationException. So to cover these kinds of scenario's updated all the places where we submit the response to doubleBuffer flush threads. And also one more thing is if we use same object, when flush happens we might update the entries to rocksdb when some other operation is changing the same entry and it still submitted/not submitted to doublebuffer flush thread. To have a cleaner way all entries submitted to doubleBuffer flush are made as immutable. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org