ruanwenjun commented on a change in pull request #5572:
URL: https://github.com/apache/dolphinscheduler/pull/5572#discussion_r644075530
##########
File path:
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/cache/impl/TaskInstanceCacheManagerImpl.java
##########
@@ -114,6 +143,23 @@ public void cacheTaskInstance(TaskExecuteResponseCommand
taskExecuteResponseComm
*/
@Override
public void removeByTaskInstanceId(Integer taskInstanceId) {
- taskInstanceCache.remove(taskInstanceId);
+ synchronized (lock) {
+ taskInstanceCache.remove(taskInstanceId);
+ }
+ }
+
+ class RefreshTaskInstanceTimerTask extends TimerTask {
+ @Override
+ public void run() {
+ synchronized (lock) {
Review comment:
I think you can remove lock, use `computeIfPresent` if present to update
the status
##########
File path:
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/cache/impl/TaskInstanceCacheManagerImpl.java
##########
@@ -57,7 +86,7 @@
@Override
public TaskInstance getByTaskInstanceId(Integer taskInstanceId) {
TaskInstance taskInstance = taskInstanceCache.get(taskInstanceId);
Review comment:
It is better to use `computeIfAbsent` here.
--
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]