yiguolei commented on code in PR #59569:
URL: https://github.com/apache/doris/pull/59569#discussion_r2680833803
##########
fe/fe-core/src/main/java/org/apache/doris/common/MarkedCountDownLatch.java:
##########
@@ -24,73 +24,140 @@
import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
-public class MarkedCountDownLatch<K, V> extends CountDownLatch {
+public class MarkedCountDownLatch<K, V> {
+
+ private final Object lock = new Object();
private Multimap<K, V> marks;
private Multimap<K, V> failedMarks;
private Status st = Status.OK;
- private int markCount = 0;
+ private int markCount;
+ private CountDownLatch downLatch;
+
- public MarkedCountDownLatch(int count) {
- super(count);
- this.markCount = count;
+ public MarkedCountDownLatch() {
marks = HashMultimap.create();
failedMarks = HashMultimap.create();
+ markCount = 0;
+ downLatch = null;
}
public int getMarkCount() {
return markCount;
}
- public synchronized void addMark(K key, V value) {
- marks.put(key, value);
+ public long getCount() {
+ synchronized (lock) {
+ if (downLatch == null) {
+ throw new IllegalStateException("downLatch is not initialize
checkout usage is valid.");
+ }
+ }
+ return downLatch.getCount();
}
- public synchronized boolean markedCountDown(K key, V value) {
- if (marks.remove(key, value)) {
- super.countDown();
- return true;
+ public void countDown() {
Review Comment:
我们需要这种api 存在吗? 此时marks 里的东西没有清空,后续是不是对不上了?
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]