org.infinispan.persistence.remote.upgrade.HotRodMigratorHelper Maven / Gradle / Ivy
package org.infinispan.persistence.remote.upgrade;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import org.infinispan.client.hotrod.impl.protocol.VersionUtils;
import org.infinispan.persistence.remote.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* @author gustavonalle
* @since 8.2
*/
public class HotRodMigratorHelper {
static final String MIGRATION_MANAGER_HOT_ROD_KNOWN_KEYS = "___MigrationManager_HotRod_KnownKeys___";
static final String ITERATOR_MINIMUM_VERSION = "2.5";
static final int DEFAULT_READ_BATCH_SIZE = 10000;
private static final Log log = LogFactory.getLog(HotRodMigratorHelper.class, Log.class);
static boolean supportsIteration(String protocolVersion) {
return protocolVersion == null || VersionUtils.isVersionGreaterOrEquals(protocolVersion, ITERATOR_MINIMUM_VERSION);
}
static List range(int end) {
List integers = new ArrayList<>();
for (int i = 0; i < end; i++) {
integers.add(i);
}
return integers;
}
static List> split(List list, final int parts) {
List> subLists = new ArrayList<>(parts);
for (int i = 0; i < parts; i++) {
subLists.add(new ArrayList());
}
for (int i = 0; i < list.size(); i++) {
subLists.get(i % parts).add(list.get(i));
}
return subLists;
}
static void awaitTermination(ExecutorService executorService) {
try {
executorService.shutdown();
executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy