diff --git a/core/src/main/java/com/datastax/oss/driver/internal/core/loadbalancing/DefaultLoadBalancingPolicy.java b/core/src/main/java/com/datastax/oss/driver/internal/core/loadbalancing/DefaultLoadBalancingPolicy.java index f798ff033c2..2d1a283f657 100644 --- a/core/src/main/java/com/datastax/oss/driver/internal/core/loadbalancing/DefaultLoadBalancingPolicy.java +++ b/core/src/main/java/com/datastax/oss/driver/internal/core/loadbalancing/DefaultLoadBalancingPolicy.java @@ -51,7 +51,6 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicLongArray; import net.jcip.annotations.ThreadSafe; -import org.apache.commons.lang3.tuple.Pair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -202,10 +201,10 @@ public Queue newQueryPlanRegular(@Nullable Request request, @Nullable Sess Object[] currentNodes = getLiveNodes().dc(getLocalDatacenter()).toArray(); int replicaCount = 0; // in currentNodes if (!replicas.isEmpty()) { - Pair counts = moveReplicasToFront(currentNodes, replicas); - replicaCount = counts.getLeft(); + int[] counts = moveReplicasToFront(currentNodes, replicas); + replicaCount = counts[0]; - int localRackReplicaCount = counts.getRight(); // in currentNodes + int localRackReplicaCount = counts[1]; // in currentNodes if (replicaCount > 1) { shuffleLocalRackReplicasAndReplicas(currentNodes, replicaCount, localRackReplicaCount); @@ -249,8 +248,7 @@ private static Object[] moveNonLocalReplicasToTheEnd(List replicas, String return orderedReplicas; } - private Pair moveReplicasToFront( - Object[] currentNodes, List allReplicas) { + private int[] moveReplicasToFront(Object[] currentNodes, List allReplicas) { int replicaCount = 0, localRackReplicaCount = 0; for (int i = 0; i < currentNodes.length; i++) { Node node = (Node) currentNodes[i]; @@ -265,7 +263,7 @@ private Pair moveReplicasToFront( replicaCount++; } } - return Pair.of(replicaCount, localRackReplicaCount); + return new int[] {replicaCount, localRackReplicaCount}; } private void shuffleLocalRackReplicasAndReplicas( diff --git a/core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/VectorCodecTest.java b/core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/VectorCodecTest.java index 17c78514127..fe8e9e7be0f 100644 --- a/core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/VectorCodecTest.java +++ b/core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/VectorCodecTest.java @@ -34,8 +34,8 @@ import com.tngtech.java.junit.dataprovider.UseDataProvider; import java.nio.ByteBuffer; import java.time.LocalTime; +import java.util.Arrays; import java.util.HashMap; -import org.apache.commons.lang3.ArrayUtils; import org.junit.Test; import org.junit.runner.RunWith; @@ -128,7 +128,10 @@ public void should_throw_on_encode_with_too_few_elements(TestDataContainer testD @Test @UseDataProvider("dataProvider") public void should_throw_on_encode_with_too_many_elements(TestDataContainer testData) { - Object[] doubled = ArrayUtils.addAll(testData.getValues(), testData.getValues()); + Object[] first = testData.getValues(); + Object[] second = testData.getValues(); + Object[] doubled = Arrays.copyOf(first, first.length + second.length); + System.arraycopy(second, 0, doubled, first.length, second.length); TypeCodec> codec = getCodec(testData.getDataType()); assertThatThrownBy(() -> codec.encode(CqlVector.newInstance(doubled), ProtocolVersion.DEFAULT)) .isInstanceOf(IllegalArgumentException.class); diff --git a/pom.xml b/pom.xml index b153214f7d0..4e1ac550503 100644 --- a/pom.xml +++ b/pom.xml @@ -100,7 +100,7 @@ ${skipTests} false false - +