This is an automated email from the ASF dual-hosted git repository.
zhangxiaowei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozhera.git
The following commit(s) were added to refs/heads/master by this push:
new d5f3de18 fix: optimized configuration processing logic (#500)
d5f3de18 is described below
commit d5f3de182a624bd2756df562d82aa6cacfebf5fc
Author: wtt <[email protected]>
AuthorDate: Tue Oct 29 14:55:07 2024 +0800
fix: optimized configuration processing logic (#500)
---
.../ozhera/log/stream/config/ConfigManager.java | 27 ++++++++++++----------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git
a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java
b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java
index 305879bd..8dce18c9 100644
---
a/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java
+++
b/ozhera-log/log-stream/src/main/java/org/apache/ozhera/log/stream/config/ConfigManager.java
@@ -17,12 +17,6 @@ package org.apache.ozhera.log.stream.config;
import com.alibaba.nacos.api.config.listener.Listener;
import com.google.gson.Gson;
-import org.apache.ozhera.log.common.Config;
-import org.apache.ozhera.log.model.MiLogStreamConfig;
-import org.apache.ozhera.log.model.MilogSpaceData;
-import org.apache.ozhera.log.stream.common.util.StreamUtils;
-import org.apache.ozhera.log.stream.exception.StreamException;
-import org.apache.ozhera.log.stream.job.extension.StreamCommonExtension;
import com.xiaomi.youpin.docean.Ioc;
import com.xiaomi.youpin.docean.anno.Service;
import com.xiaomi.youpin.docean.common.StringUtils;
@@ -31,6 +25,12 @@ import com.xiaomi.youpin.docean.plugin.nacos.NacosConfig;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.ozhera.log.common.Config;
+import org.apache.ozhera.log.model.MiLogStreamConfig;
+import org.apache.ozhera.log.model.MilogSpaceData;
+import org.apache.ozhera.log.stream.common.util.StreamUtils;
+import org.apache.ozhera.log.stream.exception.StreamException;
+import org.apache.ozhera.log.stream.job.extension.StreamCommonExtension;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -168,12 +168,15 @@ public class ConfigManager {
return;
}
Map<Long, String> dataIdMap =
extensionInstance.getConfigMapByUniqueMark(config, uniqueMark);
- try {
- spaceLock.tryLock();
- stopUnusefulListenerAndJob(dataIdMap);
- startNewListenerAndJob(dataIdMap);
- } finally {
- spaceLock.unlock();
+ if (spaceLock.tryLock()) {
+ try {
+ stopUnusefulListenerAndJob(dataIdMap);
+ startNewListenerAndJob(dataIdMap);
+ } finally {
+ spaceLock.unlock();
+ }
+ } else {
+ log.warn("Failed to acquire lock, skipping processing for
dataIdMap: {}", dataIdMap);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]