[HUDI-6819] Fix logic for throwing exception in getRecordIndexUpdates. (#9616)
* [HUDI-6819] Fix logic for throwing exception in HoodieBackedTableMetadataWriter.
diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java
index e99ec49..460bfa2 100644
--- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java
+++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java
@@ -1411,8 +1411,8 @@
           .flatMapToPair(Stream::iterator)
           .reduceByKey((recordDelegate1, recordDelegate2) -> {
             if (recordDelegate1.getRecordKey().equals(recordDelegate2.getRecordKey())) {
-              if (recordDelegate1.getNewLocation().isPresent() && recordDelegate2.getNewLocation().isPresent()) {
-                throw new HoodieIOException("Both version of records does not have location set. Record V1 " + recordDelegate1.toString()
+              if (!recordDelegate1.getNewLocation().isPresent() && !recordDelegate2.getNewLocation().isPresent()) {
+                throw new HoodieIOException("Both version of records do not have location set. Record V1 " + recordDelegate1.toString()
                     + ", Record V2 " + recordDelegate2.toString());
               }
               if (recordDelegate1.getNewLocation().isPresent()) {