From a6924e386cc2dc860291c5e0e2c48469ff3707e2 Mon Sep 17 00:00:00 2001 From: peng-yongsheng <8082209@qq.com> Date: Tue, 24 Oct 2017 22:27:19 +0800 Subject: [PATCH] A mistake that reset the builder when id exchanged by the to builder method. --- .../standardization/ReferenceDecorator.java | 8 +++++--- .../standardization/SegmentDecorator.java | 2 +- .../segment/standardization/SpanDecorator.java | 8 +++++--- .../collector/agentstream/mock/SegmentPost.java | 16 ++++++++-------- .../src/main/resources/application.yml | 8 ++++---- .../collector/storage/h2/dao/BatchH2DAO.java | 17 ++++++++--------- .../collector/ui/dao/ServiceReferenceH2DAO.java | 2 +- 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/ReferenceDecorator.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/ReferenceDecorator.java index 233a134385..4c9f1db725 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/ReferenceDecorator.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/ReferenceDecorator.java @@ -181,8 +181,10 @@ public class ReferenceDecorator implements StandardBuilder { } @Override public void toBuilder() { - this.isOrigin = false; - referenceBuilder = referenceObject.toBuilder(); - standardBuilder.toBuilder(); + if (this.isOrigin) { + this.isOrigin = false; + referenceBuilder = referenceObject.toBuilder(); + standardBuilder.toBuilder(); + } } } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SegmentDecorator.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SegmentDecorator.java index 4a6168b636..2e0bf92c1a 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SegmentDecorator.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SegmentDecorator.java @@ -78,7 +78,7 @@ public class SegmentDecorator implements StandardBuilder { } @Override public void toBuilder() { - if (!isOrigin) { + if (isOrigin) { this.isOrigin = false; this.segmentBuilder = segmentObject.toBuilder(); } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SpanDecorator.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SpanDecorator.java index caeeb146d5..e4373ae36f 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SpanDecorator.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/standardization/SpanDecorator.java @@ -191,8 +191,10 @@ public class SpanDecorator implements StandardBuilder { } @Override public void toBuilder() { - this.isOrigin = false; - spanBuilder = spanObject.toBuilder(); - standardBuilder.toBuilder(); + if (this.isOrigin) { + this.isOrigin = false; + spanBuilder = spanObject.toBuilder(); + standardBuilder.toBuilder(); + } } } diff --git a/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java b/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java index 28af86e744..b44141f687 100644 --- a/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java +++ b/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java @@ -77,14 +77,14 @@ public class SegmentPost { IServiceNameDAO serviceNameDAO = (IServiceNameDAO)DAOContainer.INSTANCE.get(IServiceNameDAO.class.getName()); - ServiceNameDataDefine.ServiceName serviceName1 = new ServiceNameDataDefine.ServiceName("1", "", 0, 1); - serviceNameDAO.save(serviceName1); - ServiceNameDataDefine.ServiceName serviceName2 = new ServiceNameDataDefine.ServiceName("2", "org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()", 2, 2); - serviceNameDAO.save(serviceName2); - ServiceNameDataDefine.ServiceName serviceName3 = new ServiceNameDataDefine.ServiceName("3", "/dubbox-case/case/dubbox-rest", 2, 3); - serviceNameDAO.save(serviceName3); - ServiceNameDataDefine.ServiceName serviceName4 = new ServiceNameDataDefine.ServiceName("4", "org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()", 3, 4); - serviceNameDAO.save(serviceName4); +// ServiceNameDataDefine.ServiceName serviceName1 = new ServiceNameDataDefine.ServiceName("1", "", 0, 1); +// serviceNameDAO.save(serviceName1); +// ServiceNameDataDefine.ServiceName serviceName2 = new ServiceNameDataDefine.ServiceName("2", "org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()", 2, 2); +// serviceNameDAO.save(serviceName2); +// ServiceNameDataDefine.ServiceName serviceName3 = new ServiceNameDataDefine.ServiceName("3", "/dubbox-case/case/dubbox-rest", 2, 3); +// serviceNameDAO.save(serviceName3); +// ServiceNameDataDefine.ServiceName serviceName4 = new ServiceNameDataDefine.ServiceName("4", "org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()", 3, 4); +// serviceNameDAO.save(serviceName4); while (true) { JsonElement consumer = JsonFileReader.INSTANCE.read("json/segment/normal/dubbox-consumer.json"); diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml index 8a4f7b3b6f..443c2b85f6 100644 --- a/apm-collector/apm-collector-boot/src/main/resources/application.yml +++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml @@ -34,7 +34,7 @@ collector_inside: # cluster_nodes: localhost:9300 # index_shards_number: 2 # index_replicas_number: 0 -#storage: -# h2: -# url: jdbc:h2:tcp://localhost/~/test -# user_name: sa \ No newline at end of file +storage: + h2: + url: jdbc:h2:tcp://localhost/~/test + user_name: sa \ No newline at end of file diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/h2/dao/BatchH2DAO.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/h2/dao/BatchH2DAO.java index fcf55c4dff..4175f47bb2 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/h2/dao/BatchH2DAO.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/h2/dao/BatchH2DAO.java @@ -18,18 +18,17 @@ package org.skywalking.apm.collector.storage.h2.dao; -import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.storage.dao.IBatchDAO; -import org.skywalking.apm.collector.storage.h2.define.H2SqlEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.skywalking.apm.collector.client.h2.H2ClientException; +import org.skywalking.apm.collector.storage.dao.IBatchDAO; +import org.skywalking.apm.collector.storage.h2.define.H2SqlEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author peng-yongsheng @@ -41,7 +40,7 @@ public class BatchH2DAO extends H2DAO implements IBatchDAO { public void batchPersistence(List batchCollection) { if (batchCollection != null && batchCollection.size() > 0) { logger.debug("the batch collection size is {}", batchCollection.size()); - Connection conn = null; + Connection conn; final Map batchSqls = new HashMap<>(); try { conn = getClient().getConnection(); @@ -59,7 +58,7 @@ public class BatchH2DAO extends H2DAO implements IBatchDAO { Object[] params = e.getParams(); if (params != null) { - logger.debug("the sql is {}, params size is {}", e.getSql(), params.length); + logger.debug("the sql is {}, params size is {}, params: {}", e.getSql(), params.length, params); for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]); } @@ -79,7 +78,7 @@ public class BatchH2DAO extends H2DAO implements IBatchDAO { private H2SqlEntity getH2SqlEntity(Object entity) { if (entity instanceof H2SqlEntity) { - return (H2SqlEntity) entity; + return (H2SqlEntity)entity; } return null; } diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceH2DAO.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceH2DAO.java index 0900059679..543ccce9c0 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceH2DAO.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceH2DAO.java @@ -60,7 +60,7 @@ public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO Map serviceReferenceMap = new LinkedHashMap<>(); try (ResultSet rs = client.executeQuery(sql, params)) { - if (rs.next()) { + while (rs.next()) { int frontServiceId = rs.getInt(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID); parseSubAggregate(serviceReferenceMap, rs, frontServiceId); } -- GitLab