sumitagrawl commented on code in PR #8887:
URL: https://github.com/apache/ozone/pull/8887#discussion_r2270374099


##########
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerReader.java:
##########
@@ -261,6 +268,29 @@ public void verifyAndFixupContainerData(ContainerData 
containerData)
     }
   }
 
+  private boolean isMatchedLastLoadedECContainer(
+      KeyValueContainer kvContainer, WitnessedContainerMetadataStore 
containerMetadataStore) throws IOException {
+    if (null != containerMetadataStore && 
kvContainer.getContainerData().getReplicaIndex() != 0) {
+      ContainerCreateInfo containerCreateInfo = 
containerMetadataStore.getContainerCreateInfoTable()
+          
.get(ContainerID.valueOf(kvContainer.getContainerData().getContainerID()));
+      // check for EC container replica index matching if db entry is present 
for container as last loaded,
+      // and delete if not matched, ignoring replica index -1 as no previous 
replica index information
+      if (null != containerCreateInfo && containerCreateInfo.getReplicaIndex() 
>= 0
+          && containerCreateInfo.getReplicaIndex() != 
kvContainer.getContainerData().getReplicaIndex()) {
+        LOG.info("EC Container {} with replica index {} present at path {} is 
not matched with DB replica index {}," +
+                " deleting the container data.",
+            kvContainer.getContainerData().getContainerID(),
+            kvContainer.getContainerData().getReplicaIndex(),
+            kvContainer.getContainerData().getContainerPath(),
+            containerCreateInfo.getReplicaIndex());
+        KeyValueContainerUtil.removeContainer(kvContainer.getContainerData(), 
hddsVolume.getConf());

Review Comment:
   As discussion conclusion,
   1. Ignore loading EC container if replica index do not match as present in 
DB. Do not delete the container as decision can not be made considering data 
loss.
   2. while add container to memory, avoid updating container CreateInfo DB if 
valid replica index is already present, i.e. if -1, update with correct replica 
index as current behavior. Else avoid updating the table.



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