milleruntime commented on a change in pull request #1605:
URL: https://github.com/apache/accumulo/pull/1605#discussion_r440813813
##########
File path:
core/src/main/java/org/apache/accumulo/core/client/admin/CompactionConfig.java
##########
@@ -21,25 +21,37 @@
import static java.util.Objects.requireNonNull;
import static
org.apache.accumulo.core.clientImpl.CompactionStrategyConfigUtil.DEFAULT_STRATEGY;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.function.BooleanSupplier;
import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer;
+import org.apache.accumulo.core.client.admin.compaction.CompactionSelector;
+import org.apache.accumulo.core.clientImpl.CompactionStrategyConfigUtil;
+import org.apache.accumulo.core.clientImpl.UserCompactionUtils;
import org.apache.hadoop.io.Text;
+import com.google.common.base.Preconditions;
+
/**
* This class exist to pass parameters to {@link
TableOperations#compact(String, CompactionConfig)}
*
* @since 1.7.0
*/
public class CompactionConfig {
+
private Text start = null;
private Text end = null;
private boolean flush = true;
private boolean wait = true;
private List<IteratorSetting> iterators = Collections.emptyList();
+ @SuppressWarnings("removal")
private CompactionStrategyConfig compactionStrategy = DEFAULT_STRATEGY;
+ private Map<String,String> hints = Map.of();
+ private PluginConfig selectorConfig = UserCompactionUtils.DEFAULT_CSC;
Review comment:
I think these names weren't updated after previous changes.
```suggestion
private PluginConfig selectorConfig = UserCompactionUtils.DEFAULT_SELECTOR;
```
##########
File path:
server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/EverythingCompactionStrategy.java
##########
@@ -22,7 +22,7 @@
* The default compaction strategy for user initiated compactions. This
strategy will always select
* all files.
*/
-
+@SuppressWarnings("removal")
Review comment:
You don't want warnings for this class? It is no longer used with this
change.
##########
File path: core/src/main/java/org/apache/accumulo/core/conf/Property.java
##########
@@ -646,10 +690,30 @@
"After a tablet has been idle (no mutations) for this time period it may
have its "
+ "in-memory map flushed to disk in a minor compaction. There is no
guarantee an idle "
+ "tablet will be compacted."),
- TABLE_MINC_MAX_MERGE_FILE_SIZE("table.compaction.minor.merge.file.size.max",
"0",
- PropertyType.BYTES,
- "The max RFile size used for a merging minor compaction. The default"
- + " value of 0 disables a max file size."),
+ TABLE_COMPACTION_DISPATCHER("table.compaction.dispatcher",
+ SimpleCompactionDispatcher.class.getName(), PropertyType.CLASSNAME,
+ "A configurable dispatcher that decides what comaction service a table
should use."),
Review comment:
```suggestion
"A configurable dispatcher that decides what compaction service a
table should use."),
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/clientImpl/UserCompactionUtils.java
##########
@@ -0,0 +1,291 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.clientImpl;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInput;
+import java.io.DataInputStream;
+import java.io.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.admin.CompactionConfig;
+import org.apache.accumulo.core.client.admin.PluginConfig;
+import org.apache.hadoop.io.Text;
+
+import com.google.common.base.Preconditions;
+
+public class UserCompactionUtils {
+
+ private static final int MAGIC = 0x02040810;
+ private static final int SELECTOR_MAGIC = 0xae9270bf;
+ private static final int CONFIGURER_MAGIC = 0xf93e570a;
+
+ public static final PluginConfig DEFAULT_CCC = new PluginConfig("",
Map.of());
+ public static final PluginConfig DEFAULT_CSC = new PluginConfig("",
Map.of());
Review comment:
I think these names weren't updated after previous changes. (see other
suggestion)
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionServices.java
##########
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+import java.util.Set;
+
+/**
+ * @since 2.1.0
+ */
+public interface CompactionServices {
Review comment:
Should have brief description.
##########
File path:
core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
##########
@@ -35,9 +35,9 @@
*/
MINOR,
/**
- * compaction to flush a tablets memory and merge it with the tablets
smallest file. This type
- * compaction is done when a tablet has too many files
+ * Accumulo no longer does merging minor compactions.
Review comment:
Is all the work for removing merging minor compactions done here?
##########
File path:
core/src/main/java/org/apache/accumulo/core/client/admin/CompactionConfig.java
##########
@@ -21,25 +21,37 @@
import static java.util.Objects.requireNonNull;
import static
org.apache.accumulo.core.clientImpl.CompactionStrategyConfigUtil.DEFAULT_STRATEGY;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.function.BooleanSupplier;
import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer;
+import org.apache.accumulo.core.client.admin.compaction.CompactionSelector;
+import org.apache.accumulo.core.clientImpl.CompactionStrategyConfigUtil;
+import org.apache.accumulo.core.clientImpl.UserCompactionUtils;
import org.apache.hadoop.io.Text;
+import com.google.common.base.Preconditions;
+
/**
* This class exist to pass parameters to {@link
TableOperations#compact(String, CompactionConfig)}
*
* @since 1.7.0
*/
public class CompactionConfig {
+
private Text start = null;
private Text end = null;
private boolean flush = true;
private boolean wait = true;
private List<IteratorSetting> iterators = Collections.emptyList();
+ @SuppressWarnings("removal")
private CompactionStrategyConfig compactionStrategy = DEFAULT_STRATEGY;
+ private Map<String,String> hints = Map.of();
+ private PluginConfig selectorConfig = UserCompactionUtils.DEFAULT_CSC;
+ private PluginConfig configurerConfig = UserCompactionUtils.DEFAULT_CCC;
Review comment:
```suggestion
private PluginConfig configurerConfig =
UserCompactionUtils.DEFAULT_CONFIGURER;
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/client/admin/compaction/TooManyDeletesSelector.java
##########
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.accumulo.core.client.admin.compaction;
+
+import static
org.apache.accumulo.core.client.summary.summarizers.DeletesSummarizer.DELETES_STAT;
+import static
org.apache.accumulo.core.client.summary.summarizers.DeletesSummarizer.TOTAL_STAT;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.function.Predicate;
+
+import org.apache.accumulo.core.client.rfile.RFile.WriterOptions;
+import org.apache.accumulo.core.client.summary.SummarizerConfiguration;
+import org.apache.accumulo.core.client.summary.Summary;
+import org.apache.accumulo.core.client.summary.summarizers.DeletesSummarizer;
+
+/**
+ * This compaction selector works in concert with the {@link
DeletesSummarizer}. Using the
+ * statistics from DeleteSummarizer this strategy will compact all files in a
table when the number
+ * of deletes/non-deletes exceeds a threshold.
+ *
+ * <p>
+ * This strategy has two options. First the {@value #THRESHOLD_OPT} option
allows setting the point
+ * at which a compaction will be triggered. This options defaults to {@value
#THRESHOLD_OPT_DEFAULT}
+ * and must be in the range (0.0, 1.0]. The second option is {@value
#PROCEED_ZERO_NO_SUMMARY_OPT}
+ * which determines if the strategy should proceed when a bulk imported file
has no summary
+ * information.
+ *
+ * <p>
+ * If the delete summarizer was configured on a table that already had files,
then those files will
+ * have not summary information. This strategy can still proceed in this
situation. It will fall
+ * back to using Accumulo's estimated entries per file in this case. For the
files without summary
+ * information the estimated number of deletes will be zero. This fall back
method will
+ * underestimate deletes which will not lead to false positives, except for
the case of bulk
+ * imported files. Accumulo estimates that bulk imported files have zero
entires. The second option
Review comment:
```suggestion
* imported files. Accumulo estimates that bulk imported files have zero
entries. The second option
```
##########
File path: core/src/main/java/org/apache/accumulo/core/conf/Property.java
##########
@@ -410,6 +408,53 @@
"The number of threads for the metadata table scan executor."),
TSERV_MIGRATE_MAXCONCURRENT("tserver.migrations.concurrent.max", "1",
PropertyType.COUNT,
"The maximum number of concurrent tablet migrations for a tablet
server"),
+ TSERV_MAJC_DELAY("tserver.compaction.major.delay", "30s",
PropertyType.TIMEDURATION,
+ "Time a tablet server will sleep between checking which tablets need
compaction."),
+ TSERV_COMPACTION_SERVICE_PREFIX("tserver.compaction.major.service.", null,
PropertyType.PREFIX,
+ "Prefix for compaction services."),
+
TSERV_COMPACTION_SERVICE_ROOT_PLANNER("tserver.compaction.major.service.root.planner",
+ DefaultCompactionPlanner.class.getName(), PropertyType.CLASSNAME,
+ "Compaction planner for root tablet service"),
+ TSERV_COMPACTION_SERVICE_ROOT_MAX_OPEN(
+ "tserver.compaction.major.service.root.planner.opts.maxOpen", "30",
PropertyType.COUNT,
+ "The maximum number of files a compaction will open"),
+ TSERV_COMPACTION_SERVICE_ROOT_EXECUTORS(
+ "tserver.compaction.major.service.root.planner.opts.executors",
+ "[{'name':'small','maxSize':'32M','numThreads':1},"
+ + "{'name':'huge','numThreads':1}]".replaceAll("'", "\""),
+ PropertyType.STRING,
+ "See {% jlink -f
org.apache.accumulo.core.spi.compaction.DefaultCompactionPlanner %} "),
+
TSERV_COMPACTION_SERVICE_META_PLANNER("tserver.compaction.major.service.meta.planner",
+ DefaultCompactionPlanner.class.getName(), PropertyType.CLASSNAME,
+ "Compaction planner for metadatat table"),
Review comment:
```suggestion
"Compaction planner for metadata table"),
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionsDirectiveImpl.java
##########
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+import java.util.Objects;
+
+import org.apache.accumulo.core.spi.compaction.CompactionDirectives.Builder;
+
+import com.google.common.base.Preconditions;
+
+/**
+ * This class intentionally package private. This implementation is odd
because it supports zero
+ * object allocations for {@code CompactionDirectives.builder().build()}.
+ */
+class CompactionsDirectiveImpl implements Builder, CompactionDirectives {
Review comment:
Should this class be in this package?
##########
File path:
core/src/main/java/org/apache/accumulo/core/singletons/SingletonManager.java
##########
@@ -202,5 +202,4 @@ private static void transition() {
enabled = true;
}
}
-
}
Review comment:
Looks like no changes to this file
##########
File path: core/src/main/java/org/apache/accumulo/core/conf/Property.java
##########
@@ -646,10 +690,30 @@
"After a tablet has been idle (no mutations) for this time period it may
have its "
+ "in-memory map flushed to disk in a minor compaction. There is no
guarantee an idle "
+ "tablet will be compacted."),
- TABLE_MINC_MAX_MERGE_FILE_SIZE("table.compaction.minor.merge.file.size.max",
"0",
- PropertyType.BYTES,
- "The max RFile size used for a merging minor compaction. The default"
- + " value of 0 disables a max file size."),
+ TABLE_COMPACTION_DISPATCHER("table.compaction.dispatcher",
+ SimpleCompactionDispatcher.class.getName(), PropertyType.CLASSNAME,
+ "A configurable dispatcher that decides what comaction service a table
should use."),
+ TABLE_COMPACTION_DISPATCHER_OPTS("table.compaction.dispatcher.opts.", null,
PropertyType.PREFIX,
+ "Options for the table compaction dispatcher"),
+ TABLE_COMPACTION_SELECTOR("table.compaction.selector", "",
PropertyType.CLASSNAME,
+ "A configurable selector for a table that can periodically select file
for mandatory "
+ + "compaction, even if the files do not meet the compaction ratio."),
+ TABLE_COMPACTION_SELECTOR_OPTS("table.compaction.selector.opts.", null,
PropertyType.PREFIX,
+ "Options for the table compaction dispatcher"),
+ TABLE_COMPACTION_CONFIGURER("table.compaction.configurer", "",
PropertyType.CLASSNAME,
+ "A plugin that can dynamically configure compaction output files based
on input files."),
+ TABLE_COMPACTION_CONFIGURER_OPTS("table.compaction.configurer.opts.", null,
PropertyType.PREFIX,
+ "Options for the table compaction configuror"),
Review comment:
```suggestion
"Options for the table compaction configurer"),
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactableFile.java
##########
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.client.admin.compaction;
+
+import java.net.URI;
+
+import org.apache.accumulo.core.metadata.CompactableFileImpl;
+
+/**
+ * @since 2.1.0
+ */
Review comment:
API javadoc needs description.
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionDirectives.java
##########
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+/**
+ * The directions of a {@link CompactionDispatcher}
Review comment:
Not sure what this means, javadoc could be improved.
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java
##########
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+import org.apache.accumulo.core.client.admin.compaction.CompactionSelector;
+
+/**
+ * @since 2.1.0
+ * @see org.apache.accumulo.core.spi.compaction
+ */
Review comment:
Javadoc description needed for public facing SPI.
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/SimpleCompactionDispatcher.java
##########
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.accumulo.core.client.admin.CompactionConfig;
+
+/**
+ * Dispatcher that supports simple configuration for making tables use
compaction services. By
+ * default it dispatches to a compction service named default.
+ *
+ * <p>
+ * The following schema is supported for configration options.
Review comment:
```suggestion
* default it dispatches to a compaction service named default.
*
* <p>
* The following schema is supported for configuration options.
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionPlanner.java
##########
@@ -0,0 +1,191 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.accumulo.core.spi.compaction;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.accumulo.core.client.admin.CompactionConfig;
+import org.apache.accumulo.core.client.admin.compaction.CompactableFile;
+import org.apache.accumulo.core.data.TableId;
+import org.apache.accumulo.core.spi.common.ServiceEnvironment;
+
+/**
+ * Plans compaction work for a compaction service.
+ *
+ * @since 2.1.0
+ * @see org.apache.accumulo.core.spi.compaction
+ */
+public interface CompactionPlanner {
+
+ /*
Review comment:
```suggestion
/**
```
##########
File path:
core/src/main/java/org/apache/accumulo/core/spi/compaction/package-info.java
##########
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/**
+ * This package provides a place for plugin interfaces related to executing
compactions. The diagram
+ * below shows the functional components in Accumulo related to compactions.
Not all of these
+ * components are pluggable, but understanding how everything fits together is
important for writing
+ * a plugin.
+ *
+ * <p>
+ * <img src="doc-files/compaction-spi-design.png" alt="Compaction design
diagram">
+ *
+ * <p>
+ * The following is a desciption of each functional component.
+ *
+ * <ul>
+ * <li><b>Compaction Manager</b> A non pluggable component within the tablet
server that brings all
+ * other components together. The manager will route compactables to
compaction services. For each
+ * kind of compaction, an individual compactible will be routed to a single
compaction service. For
Review comment:
```suggestion
* The following is a description of each functional component.
*
* <ul>
* <li><b>Compaction Manager</b> A non pluggable component within the tablet
server that brings all
* other components together. The manager will route compactables to
compaction services. For each
* kind of compaction, an individual compactable will be routed to a single
compaction service. For
```
##########
File path:
server/base/src/main/java/org/apache/accumulo/server/util/MasterMetadataUtil.java
##########
@@ -239,12 +238,7 @@ public static StoredTabletFile
updateTabletDataFile(ServerContext context, KeyEx
}
tablet.putFlushId(flushId);
- if (mergeFile != null) {
- tablet.deleteFile(mergeFile);
- }
-
unusedWalLogs.forEach(tablet::deleteWal);
- filesInUseByScans.forEach(tablet::putScan);
Review comment:
This related to removal for merging minor compactions?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]