From 2f43cb940eb4308a739c3392f04533b3e73e6345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Thu, 27 Sep 2018 16:07:04 +0800 Subject: [PATCH] Fix start when not config in provider and don't get module in prepare stage. (#1711) --- .../skywalking/oap/server/library/module/ModuleDefine.java | 3 +++ .../aop/server/receiver/mesh/MeshReceiverProvider.java | 6 +++--- .../server-starter/src/main/resources/application.yml | 6 +++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java index 527821504f..c9e5e12efb 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java @@ -90,6 +90,9 @@ public abstract class ModuleDefine { private void copyProperties(ModuleConfig dest, Properties src, String moduleName, String providerName) throws IllegalAccessException { + if (dest == null) { + return; + } Enumeration propertyNames = src.propertyNames(); while (propertyNames.hasMoreElements()) { String propertyName = (String)propertyNames.nextElement(); diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java index 05c6d49045..e96b03ceb7 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java @@ -47,6 +47,9 @@ public class MeshReceiverProvider extends ModuleProvider { } @Override public void prepare() throws ServiceNotProvidedException, ModuleStartException { + } + + @Override public void start() throws ServiceNotProvidedException, ModuleStartException { MeshDataBufferFileCache cache = new MeshDataBufferFileCache(config); try { cache.start(); @@ -54,9 +57,6 @@ public class MeshReceiverProvider extends ModuleProvider { } catch (IOException e) { throw new ModuleStartException(e.getMessage(), e); } - } - - @Override public void start() throws ServiceNotProvidedException, ModuleStartException { CoreRegisterLinker.setModuleManager(getManager()); GRPCHandlerRegister service = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); service.addHandler(new MeshGRPCHandler()); diff --git a/oap-server/server-starter/src/main/resources/application.yml b/oap-server/server-starter/src/main/resources/application.yml index 9290a938ba..625aac6282 100644 --- a/oap-server/server-starter/src/main/resources/application.yml +++ b/oap-server/server-starter/src/main/resources/application.yml @@ -53,7 +53,7 @@ receiver-register: default: receiver-trace: default: - bufferPath: ../buffer/ # Path to trace buffer files, suggest to use absolute path + bufferPath: ../trace-buffer/ # Path to trace buffer files, suggest to use absolute path bufferOffsetMaxFileSize: 100 # Unit is MB bufferDataMaxFileSize: 500 # Unit is MB bufferFileCleanWhenRestart: false @@ -61,6 +61,10 @@ receiver-jvm: default: service-mesh: default: + bufferPath: ../mesh-buffer/ # Path to trace buffer files, suggest to use absolute path + bufferOffsetMaxFileSize: 100 # Unit is MB + bufferDataMaxFileSize: 500 # Unit is MB + bufferFileCleanWhenRestart: false istio-telemetry: default: query: