This is an automated email from the ASF dual-hosted git repository. edcoleman pushed a commit to branch 2.1 in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push: new b0ad92e1c7 update CompactionStrategy to warn against using with CompactionPlanner (#3887) b0ad92e1c7 is described below commit b0ad92e1c7ccedb92dfebcd1e9183d8871135442 Author: EdColeman <d...@etcoleman.com> AuthorDate: Fri Nov 24 19:56:09 2023 -0500 update CompactionStrategy to warn against using with CompactionPlanner (#3887) * update CompactionStrategy to warn against using with CompactionPlanner --- .../accumulo/tserver/compaction/CompactionStrategy.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/CompactionStrategy.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/CompactionStrategy.java index 56d91f9094..09eb70dab6 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/CompactionStrategy.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/CompactionStrategy.java @@ -28,6 +28,13 @@ import org.apache.accumulo.core.spi.compaction.CompactionPlanner; /** * The interface for customizing major compactions. * <p> + * Important: Compaction configurations should be migrated to use only the new compaction plugins as + * soon as possible. Interactions between this deprecated plugin with the new plugins may provide + * suboptimal and/or inconsistent results when both are configured. For example, concurrent + * compactions may not occur if a compaction strategy is in place along with the new compaction + * plugins. This legacy compaction plugin has been maintained to support migrations to the new model + * and will be removed in the next major release. + * <p> * The tablet server has one thread to ask many tablets if they should compact. When the strategy * returns true, then tablet is added to the queue of tablets waiting for a compaction thread. Once * a thread is available, the {@link #gatherInformation(MajorCompactionRequest)} method is called @@ -71,7 +78,7 @@ public abstract class CompactionStrategy { * * <p> * Since no blocking should be done in this method, then its unexpected that this method will - * throw IOException. However since its in the API, it can not be easily removed. + * throw IOException. However, since it is in the API, it can not be easily removed. */ public abstract boolean shouldCompact(MajorCompactionRequest request) throws IOException; @@ -90,7 +97,7 @@ public abstract class CompactionStrategy { * * <p> * Since no blocking should be done in this method, then its unexpected that this method will - * throw IOException. However since its in the API, it can not be easily removed. + * throw IOException. However, since it is in the API, it can not be easily removed. * * @param request basic details about the tablet * @return the plan for a major compaction, or null to cancel the compaction.