This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 884dd8c  Add detect point to be a part of unique key of the endpoint 
id. (#1874)
884dd8c is described below

commit 884dd8c59e759c56b732149c86ea764e8d70cd12
Author: 彭勇升 pengys <[email protected]>
AuthorDate: Sat Nov 3 00:55:00 2018 +0800

    Add detect point to be a part of unique key of the endpoint id. (#1874)
---
 .../oap/server/core/cache/EndpointInventoryCache.java  |  6 +++---
 .../oap/server/core/register/EndpointInventory.java    | 18 +++++++++---------
 .../register/service/EndpointInventoryRegister.java    |  6 +++---
 .../register/service/IEndpointInventoryRegister.java   |  2 +-
 .../core/storage/cache/IEndpointInventoryCacheDAO.java |  2 +-
 .../parser/standardization/ReferenceIdExchanger.java   |  5 +++--
 .../cache/EndpointInventoryCacheEsDAO.java             |  4 ++--
 .../jdbc/h2/dao/H2EndpointInventoryCacheDAO.java       |  7 +++----
 8 files changed, 25 insertions(+), 25 deletions(-)

diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java
index eb178a4..7fee3bb 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java
@@ -60,13 +60,13 @@ public class EndpointInventoryCache implements Service {
         return cacheDAO;
     }
 
-    public int getEndpointId(int serviceId, String endpointName) {
-        String id = EndpointInventory.buildId(serviceId, endpointName);
+    public int getEndpointId(int serviceId, String endpointName, int 
detectPoint) {
+        String id = EndpointInventory.buildId(serviceId, endpointName, 
detectPoint);
 
         Integer endpointId = endpointNameCache.getIfPresent(id);
 
         if (Objects.isNull(endpointId) || endpointId == Const.NONE) {
-            endpointId = getCacheDAO().getEndpointId(serviceId, endpointName);
+            endpointId = getCacheDAO().getEndpointId(serviceId, endpointName, 
detectPoint);
             if (endpointId != Const.NONE) {
                 endpointNameCache.put(id, endpointId);
             }
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
index 3d330f8..bb9eb36 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
@@ -18,18 +18,15 @@
 
 package org.apache.skywalking.oap.server.core.register;
 
-import java.util.HashMap;
-import java.util.Map;
-import lombok.Getter;
-import lombok.Setter;
+import java.util.*;
+import lombok.*;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.register.annotation.InventoryType;
 import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
 import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
 import org.apache.skywalking.oap.server.core.source.Scope;
 import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
-import org.apache.skywalking.oap.server.core.storage.annotation.Column;
-import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity;
+import org.apache.skywalking.oap.server.core.storage.annotation.*;
 import org.apache.skywalking.oap.server.library.util.StringUtils;
 
 /**
@@ -50,18 +47,19 @@ public class EndpointInventory extends RegisterSource {
     @Setter @Getter @Column(columnName = NAME, matchQuery = true) private 
String name = Const.EMPTY_STRING;
     @Setter @Getter @Column(columnName = DETECT_POINT) private int detectPoint;
 
-    public static String buildId(int serviceId, String endpointName) {
-        return serviceId + Const.ID_SPLIT + endpointName;
+    public static String buildId(int serviceId, String endpointName, int 
detectPoint) {
+        return serviceId + Const.ID_SPLIT + endpointName + Const.ID_SPLIT + 
detectPoint;
     }
 
     @Override public String id() {
-        return buildId(serviceId, name);
+        return buildId(serviceId, name, detectPoint);
     }
 
     @Override public int hashCode() {
         int result = 17;
         result = 31 * result + serviceId;
         result = 31 * result + name.hashCode();
+        result = 31 * result + detectPoint;
         return result;
     }
 
@@ -78,6 +76,8 @@ public class EndpointInventory extends RegisterSource {
             return false;
         if (!name.equals(source.getName()))
             return false;
+        if (detectPoint != source.getDetectPoint())
+            return false;
 
         return true;
     }
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
index eb361f5..5a000a6 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
@@ -51,7 +51,7 @@ public class EndpointInventoryRegister implements 
IEndpointInventoryRegister {
     }
 
     @Override public int getOrCreate(int serviceId, String endpointName, 
DetectPoint detectPoint) {
-        int endpointId = getCacheService().getEndpointId(serviceId, 
endpointName);
+        int endpointId = getCacheService().getEndpointId(serviceId, 
endpointName, detectPoint.ordinal());
 
         if (endpointId == Const.NONE) {
             EndpointInventory endpointInventory = new EndpointInventory();
@@ -68,8 +68,8 @@ public class EndpointInventoryRegister implements 
IEndpointInventoryRegister {
         return endpointId;
     }
 
-    @Override public int get(int serviceId, String endpointName) {
-        return getCacheService().getEndpointId(serviceId, endpointName);
+    @Override public int get(int serviceId, String endpointName, int 
detectPoint) {
+        return getCacheService().getEndpointId(serviceId, endpointName, 
detectPoint);
     }
 
     @Override public void heartbeat(int endpointId, long heartBeatTime) {
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
index 2a71461..6088cc9 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
@@ -28,7 +28,7 @@ public interface IEndpointInventoryRegister extends Service {
 
     int getOrCreate(int serviceId, String endpointName, DetectPoint 
detectPoint);
 
-    int get(int serviceId, String endpointName);
+    int get(int serviceId, String endpointName, int detectPoint);
 
     void heartbeat(int endpointId, long heartBeatTime);
 }
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/cache/IEndpointInventoryCacheDAO.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/cache/IEndpointInventoryCacheDAO.java
index d07aeb1..3197ac6 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/cache/IEndpointInventoryCacheDAO.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/cache/IEndpointInventoryCacheDAO.java
@@ -26,7 +26,7 @@ import org.apache.skywalking.oap.server.core.storage.DAO;
  */
 public interface IEndpointInventoryCacheDAO extends DAO {
 
-    int getEndpointId(int serviceId, String endpointName);
+    int getEndpointId(int serviceId, String endpointName, int detectPoint);
 
     EndpointInventory get(int endpointId);
 }
diff --git 
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java
 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java
index 5cfd58f..3fd93ea 100644
--- 
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java
+++ 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java
@@ -21,6 +21,7 @@ package 
org.apache.skywalking.oap.server.receiver.trace.provider.parser.standard
 import org.apache.skywalking.oap.server.core.*;
 import 
org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
 import org.apache.skywalking.oap.server.core.register.service.*;
+import org.apache.skywalking.oap.server.core.source.DetectPoint;
 import org.apache.skywalking.oap.server.library.module.ModuleManager;
 import org.apache.skywalking.oap.server.library.util.StringUtils;
 import 
org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.ReferenceDecorator;
@@ -54,7 +55,7 @@ public class ReferenceIdExchanger implements 
IdExchanger<ReferenceDecorator> {
     @Override public boolean exchange(ReferenceDecorator standardBuilder, int 
serviceId) {
         if (standardBuilder.getEntryServiceId() == 0) {
             String entryEndpointName = 
StringUtils.isNotEmpty(standardBuilder.getEntryServiceName()) ? 
standardBuilder.getEntryServiceName() : Const.DOMAIN_OPERATION_NAME;
-            int entryEndpointId = 
endpointInventoryRegister.get(serviceInstanceInventoryCache.get(standardBuilder.getEntryApplicationInstanceId()).getServiceId(),
 entryEndpointName);
+            int entryEndpointId = 
endpointInventoryRegister.get(serviceInstanceInventoryCache.get(standardBuilder.getEntryApplicationInstanceId()).getServiceId(),
 entryEndpointName, DetectPoint.SERVER.ordinal());
 
             if (entryEndpointId == 0) {
                 if (logger.isDebugEnabled()) {
@@ -71,7 +72,7 @@ public class ReferenceIdExchanger implements 
IdExchanger<ReferenceDecorator> {
 
         if (standardBuilder.getParentServiceId() == 0) {
             String parentEndpointName = 
StringUtils.isNotEmpty(standardBuilder.getParentServiceName()) ? 
standardBuilder.getParentServiceName() : Const.DOMAIN_OPERATION_NAME;
-            int parentEndpointId = 
endpointInventoryRegister.get(serviceInstanceInventoryCache.get(standardBuilder.getParentApplicationInstanceId()).getServiceId(),
 parentEndpointName);
+            int parentEndpointId = 
endpointInventoryRegister.get(serviceInstanceInventoryCache.get(standardBuilder.getParentApplicationInstanceId()).getServiceId(),
 parentEndpointName, DetectPoint.SERVER.ordinal());
 
             if (parentEndpointId == 0) {
                 if (logger.isDebugEnabled()) {
diff --git 
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/cache/EndpointInventoryCacheEsDAO.java
 
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/cache/EndpointInventoryCacheEsDAO.java
index df187ed..e79ea0a 100644
--- 
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/cache/EndpointInventoryCacheEsDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/cache/EndpointInventoryCacheEsDAO.java
@@ -43,9 +43,9 @@ public class EndpointInventoryCacheEsDAO extends EsDAO 
implements IEndpointInven
         super(client);
     }
 
-    @Override public int getEndpointId(int serviceId, String endpointName) {
+    @Override public int getEndpointId(int serviceId, String endpointName, int 
detectPoint) {
         try {
-            String id = EndpointInventory.buildId(serviceId, endpointName);
+            String id = EndpointInventory.buildId(serviceId, endpointName, 
detectPoint);
             GetResponse response = 
getClient().get(EndpointInventory.MODEL_NAME, id);
             if (response.isExists()) {
                 return 
(int)response.getSource().getOrDefault(RegisterSource.SEQUENCE, 0);
diff --git 
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EndpointInventoryCacheDAO.java
 
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EndpointInventoryCacheDAO.java
index 7f423ac..e6d5d9c 100644
--- 
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EndpointInventoryCacheDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EndpointInventoryCacheDAO.java
@@ -22,8 +22,7 @@ import java.io.IOException;
 import org.apache.skywalking.oap.server.core.register.EndpointInventory;
 import 
org.apache.skywalking.oap.server.core.storage.cache.IEndpointInventoryCacheDAO;
 import 
org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.slf4j.*;
 
 /**
  * @author wusheng
@@ -36,8 +35,8 @@ public class H2EndpointInventoryCacheDAO extends 
H2SQLExecutor implements IEndpo
         this.h2Client = h2Client;
     }
 
-    @Override public int getEndpointId(int serviceId, String endpointName) {
-        String id = EndpointInventory.buildId(serviceId, endpointName);
+    @Override public int getEndpointId(int serviceId, String endpointName, int 
detectPoint) {
+        String id = EndpointInventory.buildId(serviceId, endpointName, 
detectPoint);
         return getEntityIDByID(h2Client, EndpointInventory.SEQUENCE, 
EndpointInventory.MODEL_NAME, id);
     }
 

Reply via email to