dlmarion commented on code in PR #5026:
URL: https://github.com/apache/accumulo/pull/5026#discussion_r1834885128
##########
core/src/test/java/org/apache/accumulo/core/util/compaction/CompactionPrioritizerTest.java:
##########
@@ -28,56 +37,133 @@
import java.util.Optional;
import org.apache.accumulo.core.client.admin.compaction.CompactableFile;
+import org.apache.accumulo.core.clientImpl.Namespace;
+import org.apache.accumulo.core.data.TableId;
+import org.apache.accumulo.core.metadata.MetadataTable;
+import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.spi.compaction.CompactionJob;
import org.apache.accumulo.core.spi.compaction.CompactionKind;
import org.junit.jupiter.api.Test;
public class CompactionPrioritizerTest {
+ private static final int TABLET_FILE_MAX = 3001;
+
public CompactionJob createJob(CompactionKind kind, String tablet, int
numFiles, int totalFiles) {
Collection<CompactableFile> files = new ArrayList<>();
for (int i = 0; i < numFiles; i++) {
files.add(CompactableFile
.create(URI.create("hdfs://foonn/accumulo/tables/5/" + tablet + "/"
+ i + ".rf"), 4, 4));
}
- // TODO pass numFiles
return new CompactionJobImpl(
- CompactionJobPrioritizer.createPriority(kind, totalFiles, numFiles),
+ CompactionJobPrioritizer.createPriority(Namespace.DEFAULT.id(),
TableId.of("5"), kind,
+ totalFiles, numFiles, totalFiles * 2),
CompactionExecutorIdImpl.externalId("test"), files, kind,
Optional.of(false));
}
@Test
- public void testPrioritizer() throws Exception {
- assertEquals((short) 0,
CompactionJobPrioritizer.createPriority(CompactionKind.USER, 0, 0));
- assertEquals((short) 10000,
- CompactionJobPrioritizer.createPriority(CompactionKind.USER, 10000,
0));
- assertEquals((short) 32767,
- CompactionJobPrioritizer.createPriority(CompactionKind.USER, 32767,
0));
- assertEquals((short) 32767,
- CompactionJobPrioritizer.createPriority(CompactionKind.USER,
Integer.MAX_VALUE, 0));
-
- assertEquals((short) -32768,
- CompactionJobPrioritizer.createPriority(CompactionKind.SYSTEM, 0, 0));
- assertEquals((short) -22768,
- CompactionJobPrioritizer.createPriority(CompactionKind.SYSTEM, 10000,
0));
- assertEquals((short) -1,
- CompactionJobPrioritizer.createPriority(CompactionKind.SYSTEM, 32767,
0));
- assertEquals((short) -1,
- CompactionJobPrioritizer.createPriority(CompactionKind.SYSTEM,
Integer.MAX_VALUE, 0));
+ public void testRootTablePriorities() {
+ assertEquals(ROOT_TABLE_USER.getMinimum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.USER, 0, 0,
TABLET_FILE_MAX));
+ assertEquals(ROOT_TABLE_USER.getMinimum() + 1000,
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.USER, 1000, 0,
TABLET_FILE_MAX));
+ assertEquals(ROOT_TABLE_USER.getMaximum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.USER, 3000, 0,
TABLET_FILE_MAX));
+ assertEquals(ROOT_TABLE_SYSTEM.getMinimum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.SYSTEM, 0, 0,
TABLET_FILE_MAX));
+ assertEquals(ROOT_TABLE_SYSTEM.getMinimum() + 1000,
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.SYSTEM, 1000, 0,
TABLET_FILE_MAX));
+ assertEquals(ROOT_TABLE_SYSTEM.getMaximum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), RootTable.ID, CompactionKind.SYSTEM, 3000, 0,
TABLET_FILE_MAX));
+ }
+
+ @Test
+ public void testMetaTablePriorities() {
+ assertEquals(METADATA_TABLE_USER.getMinimum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), MetadataTable.ID, CompactionKind.USER, 0, 0,
TABLET_FILE_MAX));
+ assertEquals(METADATA_TABLE_USER.getMinimum() + 1000,
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), MetadataTable.ID, CompactionKind.USER, 1000,
0, TABLET_FILE_MAX));
+ assertEquals(METADATA_TABLE_USER.getMaximum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), MetadataTable.ID, CompactionKind.USER, 3000,
0, TABLET_FILE_MAX));
+ assertEquals(METADATA_TABLE_SYSTEM.getMinimum(),
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), MetadataTable.ID, CompactionKind.SYSTEM, 0,
0, TABLET_FILE_MAX));
+ assertEquals(METADATA_TABLE_SYSTEM.getMinimum() + 1000,
+ CompactionJobPrioritizer.createPriority(Namespace.ACCUMULO.id(),
MetadataTable.ID,
+ CompactionKind.SYSTEM, 1000, 0, TABLET_FILE_MAX));
+ assertEquals(METADATA_TABLE_SYSTEM.getMaximum(),
+ CompactionJobPrioritizer.createPriority(Namespace.ACCUMULO.id(),
MetadataTable.ID,
+ CompactionKind.SYSTEM, 3000, 0, TABLET_FILE_MAX));
+ }
+
+ @Test
+ public void testSystemNamespacePriorities() {
+ TableId tid = TableId.of("someOtherSystemTable");
+ assertEquals(SYSTEM_NS_USER.getMinimum(), CompactionJobPrioritizer
+ .createPriority(Namespace.ACCUMULO.id(), tid, CompactionKind.USER, 0,
0, TABLET_FILE_MAX));
+ assertEquals(SYSTEM_NS_USER.getMinimum() + 1000,
CompactionJobPrioritizer.createPriority(
+ Namespace.ACCUMULO.id(), tid, CompactionKind.USER, 1000, 0,
TABLET_FILE_MAX));
Review Comment:
Fixed in 74d66b2
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]