Search in sources :

Example 1 with Overrides

use of org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer.Overrides in project accumulo by apache.

the class ConfigurableCompactionStrategyTest method testOutputOptions.

// file selection options are adequately tested by ShellServerIT
@Test
public void testOutputOptions() throws URISyntaxException {
    Collection<CompactableFile> files = Set.of(CompactableFile.create(new URI("hdfs://nn1/accumulo/tables/1/t-009/F00001.rf"), 50000, 400));
    // test setting no output options
    ConfigurableCompactionStrategy ccs = new ConfigurableCompactionStrategy();
    Map<String, String> opts = new HashMap<>();
    var initParams = new CompactionConfigurer.InitParameters() {

        @Override
        public TableId getTableId() {
            return TableId.of("1");
        }

        @Override
        public Map<String, String> getOptions() {
            return opts;
        }

        @Override
        public PluginEnvironment getEnvironment() {
            return null;
        }
    };
    ccs.init(initParams);
    var inputParams = new CompactionConfigurer.InputParameters() {

        @Override
        public TableId getTableId() {
            return null;
        }

        @Override
        public Collection<CompactableFile> getInputFiles() {
            return files;
        }

        @Override
        public PluginEnvironment getEnvironment() {
            return null;
        }
    };
    Overrides plan = ccs.override(inputParams);
    assertTrue(plan.getOverrides().isEmpty());
    // test setting all output options
    ccs = new ConfigurableCompactionStrategy();
    CompactionSettings.OUTPUT_BLOCK_SIZE_OPT.put(null, opts, "64K");
    CompactionSettings.OUTPUT_COMPRESSION_OPT.put(null, opts, "snappy");
    CompactionSettings.OUTPUT_HDFS_BLOCK_SIZE_OPT.put(null, opts, "256M");
    CompactionSettings.OUTPUT_INDEX_BLOCK_SIZE_OPT.put(null, opts, "32K");
    CompactionSettings.OUTPUT_REPLICATION_OPT.put(null, opts, "5");
    ccs.init(initParams);
    plan = ccs.override(inputParams);
    Map<String, String> expected = Map.of(Property.TABLE_FILE_COMPRESSION_TYPE.getKey(), "snappy", Property.TABLE_FILE_COMPRESSED_BLOCK_SIZE.getKey(), getFixedMemoryAsBytes("64K") + "", Property.TABLE_FILE_COMPRESSED_BLOCK_SIZE_INDEX.getKey(), getFixedMemoryAsBytes("32K") + "", Property.TABLE_FILE_BLOCK_SIZE.getKey(), getFixedMemoryAsBytes("256M") + "", Property.TABLE_FILE_REPLICATION.getKey(), "5");
    assertEquals(expected, plan.getOverrides());
}
Also used : CompactableFile(org.apache.accumulo.core.client.admin.compaction.CompactableFile) HashMap(java.util.HashMap) Overrides(org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer.Overrides) URI(java.net.URI) Test(org.junit.Test)

Aggregations

URI (java.net.URI)1 HashMap (java.util.HashMap)1 CompactableFile (org.apache.accumulo.core.client.admin.compaction.CompactableFile)1 Overrides (org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer.Overrides)1 Test (org.junit.Test)1