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);
}