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.

Reply via email to