You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2018/11/11 14:37:11 UTC
[incubator-skywalking] branch storage-entity-scope updated: Make
RegisterLockInstaller works based on InventoryProcess registered info.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch storage-entity-scope
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/storage-entity-scope by this push:
new 81df2f1 Make RegisterLockInstaller works based on InventoryProcess registered info.
81df2f1 is described below
commit 81df2f18d53d7dfb9a19dd8b960fabd02b877974
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Sun Nov 11 22:36:59 2018 +0800
Make RegisterLockInstaller works based on InventoryProcess registered info.
---
.../core/register/worker/InventoryProcess.java | 22 +++++++++++++++++++---
.../elasticsearch/lock/RegisterLockInstaller.java | 16 ++++++++++------
2 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
index bd36713..ad6c787 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
@@ -18,13 +18,20 @@
package org.apache.skywalking.oap.server.core.register.worker;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import org.apache.skywalking.oap.server.core.UnexpectedException;
import org.apache.skywalking.oap.server.core.register.RegisterSource;
import org.apache.skywalking.oap.server.core.source.Scope;
-import org.apache.skywalking.oap.server.core.storage.*;
+import org.apache.skywalking.oap.server.core.storage.IRegisterDAO;
+import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
+import org.apache.skywalking.oap.server.core.storage.StorageDAO;
+import org.apache.skywalking.oap.server.core.storage.StorageModule;
import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntityAnnotationUtils;
-import org.apache.skywalking.oap.server.core.worker.*;
+import org.apache.skywalking.oap.server.core.worker.WorkerIdGenerator;
+import org.apache.skywalking.oap.server.core.worker.WorkerInstances;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
/**
@@ -64,4 +71,13 @@ public enum InventoryProcess {
entryWorkers.put(inventoryClass, distinctWorker);
}
+
+ /**
+ * @return all register source class types
+ */
+ public List<Class> getAllRegisterSources() {
+ List allSources = new ArrayList<>();
+ entryWorkers.keySet().forEach(allSources::add);
+ return allSources;
+ }
}
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/lock/RegisterLockInstaller.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/lock/RegisterLockInstaller.java
index 383f7b4..e8891f1 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/lock/RegisterLockInstaller.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/lock/RegisterLockInstaller.java
@@ -19,13 +19,17 @@
package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.lock;
import java.io.IOException;
+import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
import org.apache.skywalking.oap.server.core.source.Scope;
import org.apache.skywalking.oap.server.core.storage.StorageException;
+import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntityAnnotationUtils;
import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.xcontent.*;
-import org.slf4j.*;
+import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
@@ -45,10 +49,10 @@ public class RegisterLockInstaller {
if (!client.isExistsIndex(RegisterLockIndex.NAME)) {
createIndex();
}
- putIfAbsent(Scope.Endpoint.ordinal());
- putIfAbsent(Scope.ServiceInstance.ordinal());
- putIfAbsent(Scope.Service.ordinal());
- putIfAbsent(Scope.NetworkAddress.ordinal());
+ for (Class registerSource : InventoryProcess.INSTANCE.getAllRegisterSources()) {
+ Scope sourceScope = StorageEntityAnnotationUtils.getSourceScope(registerSource);
+ putIfAbsent(sourceScope.ordinal());
+ }
} catch (IOException e) {
throw new StorageException(e.getMessage());
}