[NO ISSUE][REPL] Use String.compareTo To Sort Replicated Files
- user model changes: no
- storage format changes: no
- interface changes: no
- Use String.compareTo to sort replicated files
instead of custom comparator.
Change-Id: I45c106d5cff6e07d16a9a7ce286a2ac563a80338
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2547
Reviewed-by: Michael Blow <mblow@apache.org>
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
index 0d97a7a..583f33d 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
@@ -18,12 +18,9 @@
*/
package org.apache.asterix.replication.sync;
-import static org.apache.asterix.common.utils.StorageConstants.METADATA_FILE_NAME;
-
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
-import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -43,13 +40,6 @@
*/
public class ReplicaFilesSynchronizer {
- private static final Comparator<String> REPLICATED_FILES_COMPARATOR = (file, anotherFile) -> {
- if (file.endsWith(METADATA_FILE_NAME) && !anotherFile.endsWith(METADATA_FILE_NAME)) {
- return -1;
- }
- return file.compareTo(anotherFile);
- };
-
private final PartitionReplica replica;
private final INcApplicationContext appCtx;
@@ -89,8 +79,8 @@
private void replicateMissingFiles(List<String> files) {
final FileSynchronizer sync = new FileSynchronizer(appCtx, replica);
- // sort files to ensure index metadata files are replicated first
- files.sort(REPLICATED_FILES_COMPARATOR);
+ // sort files to ensure index metadata files starting with "." are replicated first
+ files.sort(String::compareTo);
files.forEach(sync::replicate);
}