diff --git a/pinot-spi/pom.xml b/pinot-spi/pom.xml index feb51bceeae..06b616bace7 100644 --- a/pinot-spi/pom.xml +++ b/pinot-spi/pom.xml @@ -139,6 +139,11 @@ testng test + + nl.jqno.equalsverifier + equalsverifier + test + org.reflections reflections diff --git a/pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/PrimaryKey.java b/pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/PrimaryKey.java index 27475a3e29d..7b31312ee8c 100644 --- a/pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/PrimaryKey.java +++ b/pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/PrimaryKey.java @@ -29,7 +29,7 @@ /** * The primary key of a record. Note that the value used in the primary key must be single-value. */ -public class PrimaryKey { +public final class PrimaryKey { private final Object[] _values; public PrimaryKey(Object[] values) { diff --git a/pinot-spi/src/test/java/org/apache/pinot/spi/data/readers/PrimaryKeyTest.java b/pinot-spi/src/test/java/org/apache/pinot/spi/data/readers/PrimaryKeyTest.java index e92a3e2ed5b..adaf8f9a85b 100644 --- a/pinot-spi/src/test/java/org/apache/pinot/spi/data/readers/PrimaryKeyTest.java +++ b/pinot-spi/src/test/java/org/apache/pinot/spi/data/readers/PrimaryKeyTest.java @@ -21,6 +21,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; +import nl.jqno.equalsverifier.EqualsVerifier; import org.apache.pinot.spi.utils.BigDecimalUtils; import org.apache.pinot.spi.utils.ByteArray; import org.testng.annotations.Test; @@ -43,6 +44,11 @@ public void testPrimaryKeyComparison() { assertNotEquals(left.hashCode(), right.hashCode()); } + @Test + public void equalsVerifier() { + EqualsVerifier.forClass(PrimaryKey.class).verify(); + } + @Test public void testSerialization() { byte[] rawbytes = {0xa, 0x2, (byte) 0xff};