ghkang98 commented on code in PR #59569:
URL: https://github.com/apache/doris/pull/59569#discussion_r2666768053
##########
fe/fe-core/src/main/java/org/apache/doris/common/MarkedCountDownLatch.java:
##########
@@ -24,73 +24,143 @@
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 CountDownLatch downLatch;
public MarkedCountDownLatch(int count) {
- super(count);
this.markCount = count;
+ this.downLatch = new CountDownLatch(count);
+ marks = HashMultimap.create();
+ failedMarks = HashMultimap.create();
+ }
+
+ 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) {
Review Comment:
这里主要是考虑到了部分函数比如说wait不是锁整个method只是锁住代码块,为了整个类的风格统一所以在函数内使用代码块的锁
--
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]