You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/09/09 13:38:03 UTC
[GitHub] [accumulo] dlmarion opened a new pull request, #2921: Updated TableOperations javadoc to remove compaction strategy ref
dlmarion opened a new pull request, #2921:
URL: https://github.com/apache/accumulo/pull/2921
Compaction strategies have been deprecated in favor of compaction services that are defined on the table.
Closes #2833
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [accumulo] dlmarion commented on a diff in pull request #2921: Updated TableOperations javadoc to remove compaction strategy ref
Posted by GitBox <gi...@apache.org>.
dlmarion commented on code in PR #2921:
URL: https://github.com/apache/accumulo/pull/2921#discussion_r967153098
##########
core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java:
##########
@@ -427,13 +427,8 @@ void compact(String tableName, Text start, Text end, List<IteratorSetting> itera
throws AccumuloSecurityException, TableNotFoundException, AccumuloException;
/**
- * Starts a full major compaction of the tablets in the range (start, end]. If the config does not
- * specify a compaction strategy, then all files in a tablet are compacted. The compaction is
- * performed even for tablets that have only one file.
- *
- * <p>
- * Only one compact call at a time can pass iterators and/or a compaction strategy. If two threads
- * call compaction with iterators and/or a compaction strategy, then one will fail.
+ * Starts a full major compaction of the tablets in the range (start, end]. Files to be compacted
+ * will be selected by the compaction service configured on the table.
Review Comment:
Honestly, you're the better person to make this fix. Wasn't sure how much you were working this lately.
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [accumulo] keith-turner commented on a diff in pull request #2921: Updated TableOperations javadoc to remove compaction strategy ref
Posted by GitBox <gi...@apache.org>.
keith-turner commented on code in PR #2921:
URL: https://github.com/apache/accumulo/pull/2921#discussion_r967171600
##########
core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java:
##########
@@ -427,13 +427,8 @@ void compact(String tableName, Text start, Text end, List<IteratorSetting> itera
throws AccumuloSecurityException, TableNotFoundException, AccumuloException;
/**
- * Starts a full major compaction of the tablets in the range (start, end]. If the config does not
- * specify a compaction strategy, then all files in a tablet are compacted. The compaction is
- * performed even for tablets that have only one file.
- *
- * <p>
- * Only one compact call at a time can pass iterators and/or a compaction strategy. If two threads
- * call compaction with iterators and/or a compaction strategy, then one will fail.
+ * Starts a full major compaction of the tablets in the range (start, end]. Files to be compacted
+ * will be selected by the compaction service configured on the table.
Review Comment:
I can put together a suggested edit comment.
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [accumulo] dlmarion merged pull request #2921: Updated TableOperations javadoc to remove compaction strategy ref
Posted by GitBox <gi...@apache.org>.
dlmarion merged PR #2921:
URL: https://github.com/apache/accumulo/pull/2921
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [accumulo] keith-turner commented on a diff in pull request #2921: Updated TableOperations javadoc to remove compaction strategy ref
Posted by GitBox <gi...@apache.org>.
keith-turner commented on code in PR #2921:
URL: https://github.com/apache/accumulo/pull/2921#discussion_r967146094
##########
core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java:
##########
@@ -427,13 +427,8 @@ void compact(String tableName, Text start, Text end, List<IteratorSetting> itera
throws AccumuloSecurityException, TableNotFoundException, AccumuloException;
/**
- * Starts a full major compaction of the tablets in the range (start, end]. If the config does not
- * specify a compaction strategy, then all files in a tablet are compacted. The compaction is
- * performed even for tablets that have only one file.
- *
- * <p>
- * Only one compact call at a time can pass iterators and/or a compaction strategy. If two threads
- * call compaction with iterators and/or a compaction strategy, then one will fail.
+ * Starts a full major compaction of the tablets in the range (start, end]. Files to be compacted
+ * will be selected by the compaction service configured on the table.
Review Comment:
There is a new plugin that a user can configure via compactionConfig.
https://github.com/apache/accumulo/blob/main/core/src/main/java/org/apache/accumulo/core/client/admin/compaction/CompactionSelector.java#L42
https://github.com/apache/accumulo/blob/1224e94e2651de3331aee542f59b4089c1b223b1/core/src/main/java/org/apache/accumulo/core/client/admin/CompactionConfig.java#L188
So could write something like the following
```
If the CompactionConfig object does not specify a CompactionSelector then all file in each tablet will be compacted.
```
Unless this behavior has changed, may be good to leave the following info and update it.
```
If two threads call compaction with iterators and/or a compaction strategy, then one will fail.
```
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [accumulo] keith-turner commented on a diff in pull request #2921: Updated TableOperations javadoc to remove compaction strategy ref
Posted by GitBox <gi...@apache.org>.
keith-turner commented on code in PR #2921:
URL: https://github.com/apache/accumulo/pull/2921#discussion_r967502798
##########
core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java:
##########
@@ -427,13 +427,8 @@ void compact(String tableName, Text start, Text end, List<IteratorSetting> itera
throws AccumuloSecurityException, TableNotFoundException, AccumuloException;
/**
- * Starts a full major compaction of the tablets in the range (start, end]. If the config does not
- * specify a compaction strategy, then all files in a tablet are compacted. The compaction is
- * performed even for tablets that have only one file.
- *
- * <p>
- * Only one compact call at a time can pass iterators and/or a compaction strategy. If two threads
- * call compaction with iterators and/or a compaction strategy, then one will fail.
+ * Starts a full major compaction of the tablets in the range (start, end]. Files to be compacted
+ * will be selected by the compaction service configured on the table.
Review Comment:
@dlmarion I looked at the code in the manager to see what would happen and wrote the following javadoc as a result of that. I was not able to validate the javadoc as my dev env is a bit out of sorts at the moment.
```suggestion
* Starts a full major compaction of the tablets in the range (start, end]. If the config does not
* specify a compaction selector (or a deprecated strategy), then all files in a tablet are compacted. The compaction is
* performed even for tablets that have only one file.
*
* <p>
* The following optional settings can only be set by one compact call per table at the same
* time.
*
* <UL>
* <LI>Execution hints : {@link CompactionConfig#setExecutionHints(Map)}</LI>
* <LI>Selector : {@link CompactionConfig#setSelector(PluginConfig)}</LI>
* <LI>Confgigurer : {@link CompactionConfig#setConfigurer(PluginConfig)}</LI>
* <LI>Iterators : {@link CompactionConfig#setIterators(List)}</LI>
* <LI>Compaction strategy :
* {@link CompactionConfig#setCompactionStrategy(CompactionStrategyConfig)}</LI>
* </UL>
*
* <P>If two threads call this method concurrently for the same table and set one or more of the
* above then one thread will fail.
```
--
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: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org