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 flush these entries to rocksdb when some other operation is changing the 
same entry which might be 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

Reply via email to