busbey commented on a change in pull request #305: HBASE-22577
BufferedMutatorOverAsyncBufferedMutator.tryCompleteFuture…
URL: https://github.com/apache/hbase/pull/305#discussion_r293818936
##########
File path:
hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorOverAsyncBufferedMutator.java
##########
@@ -25,32 +25,39 @@
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicLong;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import java.util.stream.Collectors;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* {@link BufferedMutator} implementation based on {@link
AsyncBufferedMutator}.
*/
@InterfaceAudience.Private
class BufferedMutatorOverAsyncBufferedMutator implements BufferedMutator {
+ private static final Logger LOG =
LoggerFactory.getLogger(BufferedMutatorOverAsyncBufferedMutator.class);
+
private final AsyncBufferedMutator mutator;
private final ExceptionListener listener;
- private List<CompletableFuture<Void>> futures = new ArrayList<>();
+ private final ConcurrentMap<CompletableFuture<Void>,
CompletableFuture<Void>> futures =
Review comment:
we're just using this as a set of futures right? Would be clearer if we used
[ConcurrentHashMap.keySet](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html#newKeySet--)
to make that explicit.
e.g.
```
private final Set<CompletableFuture<Void>> futures =
ConcurrentHashMap.newKeySet()
```
----------------------------------------------------------------
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]
With regards,
Apache Git Services