From 103cf00672c4ed61b17626314ab2b6b31f1dc9c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Tue, 29 Sep 2020 10:34:21 +0800 Subject: [PATCH] Support JDK 11 compiling and upgrade dependencies (#5579) * Upgrade dependencies and make the JDK11 compiling passed. * Update license and fix license check file. * Add CI for JDK11 compiling. * Update doc. --- .github/workflows/ci-it.yaml | 13 ++ apm-application-toolkit/pom.xml | 4 - apm-commons/pom.xml | 1 - apm-protocol/apm-network/pom.xml | 6 + apm-sniffer/apm-agent-core/pom.xml | 6 +- .../core/logging/core/WriterFactoryTest.java | 2 - .../apm/agent/core/meter/CounterTest.java | 2 +- .../apm/agent/core/meter/GaugeTest.java | 9 +- .../apm/agent/core/meter/HistogramTest.java | 15 +- .../apm/agent/core/meter/MeterIdTest.java | 9 +- .../armeria-0.85.x-plugin/pom.xml | 3 - .../plugin/jdbc/SWCallableStatementTest.java | 8 +- .../plugin/jdbc/SwPreparedStatementTest.java | 4 +- .../apm-sdk-plugin/lettuce-5.x-plugin/pom.xml | 1 - apm-sniffer/apm-sdk-plugin/pom.xml | 6 + .../redisson-3.x-plugin/pom.xml | 1 - .../RedisConnectionMethodInterceptorTest.java | 12 +- ...TransportClientHandlerInterceptorTest.java | 2 +- ...TransportClientHandlerInterceptorTest.java | 2 +- .../spring/mvc/v3/GetBeanInterceptorTest.java | 64 ------ .../pom.xml | 4 - .../apm-sdk-plugin/struts2-2.x-plugin/pom.xml | 14 ++ .../CounterConstructInterceptorTest.java | 13 +- .../meter/GaugeConstructInterceptorTest.java | 12 +- .../HistogramConstructInterceptorTest.java | 13 +- .../gateway-2.0.x-plugin/pom.xml | 1 - .../gateway-2.1.x-plugin/pom.xml | 1 - .../spring-webflux-5.x-plugin/pom.xml | 4 - apm-webapp/pom.xml | 15 +- dist-material/release-docs/LICENSE | 13 +- docs/en/guides/How-to-build.md | 4 +- .../provider/meter/process/MeterBaseTest.java | 37 ++-- .../meter/process/MeterBuilderTest.java | 12 +- .../process/MeterProcessContextTest.java | 4 +- .../meter/process/MeterProcessorTest.java | 29 +-- oap-server/pom.xml | 16 +- .../alarm/provider/NotifyHandlerTest.java | 2 +- .../ClusterModuleConsulProviderTest.java | 2 +- .../etcd/ClusterModuleEtcdProviderTest.java | 119 ----------- .../plugin/etcd/EtcdCoordinatorTest.java | 192 ------------------ .../ClusterModuleKubernetesProviderTest.java | 2 +- .../kubernetes/KubernetesCoordinatorTest.java | 2 +- .../nacos/ClusterModuleNacosProviderTest.java | 109 ---------- ...onsulConfigurationWatcherRegisterTest.java | 17 +- .../configuration-etcd/pom.xml | 13 ++ .../etcd/EtcdConfigWatcherRegisterTest.java | 134 ------------ .../ConfigmapConfigWatcherRegisterTest.java | 2 +- .../ConfigmapConfigurationProviderTest.java | 2 +- .../server/core/analysis/TimeBucketTest.java | 4 +- .../core/storage/model/StorageModelsTest.java | 2 + .../server-library/library-util/pom.xml | 5 +- .../envoy-metrics-receiver-plugin/pom.xml | 10 +- .../rest/BrowserReportServletHandlerTest.java | 4 +- .../TraceSegmentReportServletHandlerTest.java | 6 +- .../test/ProfileSnapshotExporterTest.java | 2 +- pom.xml | 50 +++-- test/plugin/scenarios/gson-scenario/pom.xml | 1 - .../plugin/scenarios/hystrix-scenario/pom.xml | 2 - .../known-oap-backend-dependencies-es7.txt | 28 ++- .../known-oap-backend-dependencies.txt | 28 ++- 60 files changed, 289 insertions(+), 811 deletions(-) delete mode 100644 apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spring/mvc/v3/GetBeanInterceptorTest.java delete mode 100644 oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java delete mode 100644 oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java delete mode 100644 oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java delete mode 100644 oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml index 7d11580ff4..bde6ff044d 100644 --- a/.github/workflows/ci-it.yaml +++ b/.github/workflows/ci-it.yaml @@ -48,6 +48,19 @@ jobs: - name: 'Check Dependencies Licenses' run: tools/dependencies/check-LICENSE.sh + CI-on-JDK11: + runs-on: ubuntu-18.04 + timeout-minutes: 90 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions/setup-java@v1 + with: + java-version: 11 + - name: 'Install & Test' + run: ./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install + CI-on-Windows: runs-on: windows-latest timeout-minutes: 90 diff --git a/apm-application-toolkit/pom.xml b/apm-application-toolkit/pom.xml index b6fc9889d3..ec762d4c0b 100644 --- a/apm-application-toolkit/pom.xml +++ b/apm-application-toolkit/pom.xml @@ -26,10 +26,6 @@ apm-application-toolkit pom - - 1.8 - - apm-toolkit-log4j-1.x apm-toolkit-log4j-2.x diff --git a/apm-commons/pom.xml b/apm-commons/pom.xml index d8a3c7c569..5d772bede6 100644 --- a/apm-commons/pom.xml +++ b/apm-commons/pom.xml @@ -37,6 +37,5 @@ UTF-8 - 1.8 diff --git a/apm-protocol/apm-network/pom.xml b/apm-protocol/apm-network/pom.xml index a5497ec037..a8fc5250b6 100644 --- a/apm-protocol/apm-network/pom.xml +++ b/apm-protocol/apm-network/pom.xml @@ -52,6 +52,12 @@ netty-tcnative-boringssl-static ${netty-tcnative-boringssl-static.version} + + org.apache.tomcat + annotations-api + ${org.apache.tomcat.annotations-api.version} + provided + diff --git a/apm-sniffer/apm-agent-core/pom.xml b/apm-sniffer/apm-agent-core/pom.xml index 0d1d27ff46..8056db36b2 100644 --- a/apm-sniffer/apm-agent-core/pom.xml +++ b/apm-sniffer/apm-agent-core/pom.xml @@ -34,7 +34,6 @@ UTF-8 20.0 - 1.10.14 2.6.0 2.0.7.Final 1.4.1.Final @@ -68,6 +67,11 @@ byte-buddy ${bytebuddy.version} + + com.google.code.gson + gson + ${gson.version} + net.bytebuddy diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java index d866d42e73..0cfd717ad3 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java @@ -49,7 +49,6 @@ public class WriterFactoryTest { assertTrue(AgentPackagePath.isPathFound()); IWriter logWriter = WriterFactory.getLogWriter(); - PowerMockito.verifyStatic(); assertTrue(logWriter instanceof SystemOutWriter); } @@ -65,7 +64,6 @@ public class WriterFactoryTest { assertTrue(AgentPackagePath.isPathFound()); IWriter logWriter = WriterFactory.getLogWriter(); - PowerMockito.verifyStatic(); assertTrue(logWriter instanceof FileWriter); } } \ No newline at end of file diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java index 2df98aa062..117e449243 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java @@ -28,11 +28,11 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; import java.util.Arrays; import java.util.List; import java.util.concurrent.ConcurrentHashMap; +import org.powermock.reflect.Whitebox; public class CounterTest { @Rule diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java index de0441d71a..e0efaf5b16 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java @@ -18,6 +18,9 @@ package org.apache.skywalking.apm.agent.core.meter; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.test.tools.AgentServiceRule; import org.apache.skywalking.apm.network.language.agent.v3.Label; @@ -28,11 +31,7 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; - -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; +import org.powermock.reflect.Whitebox; public class GaugeTest { @Rule diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java index cab8626b19..bd6b2b8584 100644 --- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java +++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java @@ -18,6 +18,9 @@ package org.apache.skywalking.apm.agent.core.meter; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.test.tools.AgentServiceRule; import org.apache.skywalking.apm.network.language.agent.v3.Label; @@ -28,11 +31,7 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; - -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; +import org.powermock.reflect.Whitebox; public class HistogramTest { @Rule @@ -66,7 +65,11 @@ public class HistogramTest { final List - - - 1.8 - \ No newline at end of file diff --git a/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml index 5c54b93c0c..32fe5cf2bb 100644 --- a/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml @@ -43,6 +43,14 @@ struts2-core ${struts2-core.version} provided + + + + + javassist + javassist + + javax.servlet @@ -56,5 +64,11 @@ ${jsp-api.version} test + + org.javassist + javassist + 3.24.0-GA + test + diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java index 38838dbe0c..15c144deb5 100644 --- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java +++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java @@ -18,6 +18,8 @@ package org.apache.skywalking.apm.toolkit.activation.meter; +import java.util.Arrays; +import java.util.Map; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.meter.BaseMeter; import org.apache.skywalking.apm.agent.core.meter.MeterService; @@ -30,10 +32,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; - -import java.util.Arrays; -import java.util.Map; +import org.powermock.reflect.Whitebox; public class CounterConstructInterceptorTest { @@ -47,10 +46,12 @@ public class CounterConstructInterceptorTest { public void testConstruct() { counterConstructInterceptor.onConstruct(enhancedInstance, new Object[] { new MeterId("test", MeterId.MeterType.COUNTER, Arrays.asList(new MeterId.Tag("k1", "v1"))), - Counter.Mode.RATE}); + Counter.Mode.RATE + }); final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class); - final Map meterMap = (Map) Whitebox.getInternalState(service, "meterMap"); + final Map meterMap = (Map) Whitebox.getInternalState( + service, "meterMap"); Assert.assertEquals(1, meterMap.size()); final BaseMeter meterData = meterMap.values().iterator().next(); diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java index ff4555fd72..7c7107bac0 100644 --- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java +++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java @@ -18,6 +18,9 @@ package org.apache.skywalking.apm.toolkit.activation.meter; +import java.util.Arrays; +import java.util.Map; +import java.util.function.Supplier; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.meter.BaseMeter; import org.apache.skywalking.apm.agent.core.meter.Gauge; @@ -30,11 +33,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; - -import java.util.Arrays; -import java.util.Map; -import java.util.function.Supplier; +import org.powermock.reflect.Whitebox; public class GaugeConstructInterceptorTest { @@ -52,7 +51,8 @@ public class GaugeConstructInterceptorTest { }); final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class); - final Map meterMap = (Map) Whitebox.getInternalState(service, "meterMap"); + final Map meterMap = (Map) Whitebox.getInternalState( + service, "meterMap"); Assert.assertEquals(1, meterMap.size()); final Object field = meterMap.values().iterator().next(); diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java index fc6546353d..62c43b5626 100644 --- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java +++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java @@ -18,6 +18,8 @@ package org.apache.skywalking.apm.toolkit.activation.meter; +import java.util.Arrays; +import java.util.Map; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.meter.BaseMeter; import org.apache.skywalking.apm.agent.core.meter.Histogram; @@ -30,10 +32,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; -import org.mockito.internal.util.reflection.Whitebox; - -import java.util.Arrays; -import java.util.Map; +import org.powermock.reflect.Whitebox; public class HistogramConstructInterceptorTest { @@ -47,10 +46,12 @@ public class HistogramConstructInterceptorTest { public void testConstruct() { histogramConstructInterceptor.onConstruct(enhancedInstance, new Object[] { new MeterId("test", MeterId.MeterType.HISTOGRAM, Arrays.asList(new MeterId.Tag("k1", "v1"))), - Arrays.asList(1d, 5d, 10d)}); + Arrays.asList(1d, 5d, 10d) + }); final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class); - final Map meterMap = (Map) Whitebox.getInternalState(service, "meterMap"); + final Map meterMap = (Map) Whitebox.getInternalState( + service, "meterMap"); Assert.assertEquals(1, meterMap.size()); final Object field = meterMap.values().iterator().next(); diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml index 8301d68f7f..6745114f72 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml @@ -34,7 +34,6 @@ 2.1.1.RELEASE - 1.8 diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml index 643da0a64e..34e9ae236d 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml @@ -35,7 +35,6 @@ 2.1.1.RELEASE - 1.8 diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml index 85672e86d8..81283726a2 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml @@ -37,8 +37,4 @@ provided - - - 1.8 - diff --git a/apm-webapp/pom.xml b/apm-webapp/pom.xml index 6571957518..dcc1c3d211 100644 --- a/apm-webapp/pom.xml +++ b/apm-webapp/pom.xml @@ -29,7 +29,6 @@ jar - 1.8 UTF-8 1.5.11.RELEASE 2.6.2 @@ -97,17 +96,23 @@ org.springframework.cloud spring-cloud-starter-netflix-zuul + + ch.qos.logback + logback-classic + ${logback-classic.version} + org.springframework.boot spring-boot-starter-test ${spring.boot.version} test - + - ch.qos.logback - logback-classic - ${logback-classic.version} + com.sun.activation + javax.activation + 1.2.0 + provided diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE index 4de0ed5520..e3212baad0 100755 --- a/dist-material/release-docs/LICENSE +++ b/dist-material/release-docs/LICENSE @@ -226,12 +226,11 @@ The following components are provided under the Apache License. See project link The text of each license is the standard Apache 2.0 license. raphw (byte-buddy) 1.10.14: http://bytebuddy.net/ , Apache 2.0 - Google: gprc-java 1.26.0: https://github.com/grpc/grpc-java, Apache 2.0 + Google: gprc-java 1.32.1: https://github.com/grpc/grpc-java, Apache 2.0 Google: guava 28.1: https://github.com/google/guava , Apache 2.0 Google: guice 4.1.0: https://github.com/google/guice , Apache 2.0 Google: gson 2.8.6: https://github.com/google/gson , Apache 2.0 - Google: opencensus-java 0.24.0: https://github.com/census-instrumentation/opencensus-java , Apache 2.0 - Google: proto-google-common-protos 1.12.0: https://github.com/googleapis/googleapis , Apache 2.0 + Google: proto-google-common-protos 1.17.0: https://github.com/googleapis/googleapis , Apache 2.0 Google: jsr305 3.0.2: http://central.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom , Apache 2.0 Elasticsearch BV (Elasticsearch) 6.3.2: https://www.elastic.co/products/elasticsearch , Apache 2.0 Elasticsearch BV (Elasticsearch) 7.0.0: https://www.elastic.co/products/elasticsearch , Apache 2.0 @@ -241,8 +240,6 @@ The text of each license is the standard Apache 2.0 license. percolator-client 5.5.0: https://github.com/elastic/elasticsearch/tree/master/modules/percolator , Apache 2.0 rest 5.5.0: https://github.com/elastic/elasticsearch/tree/master/client/rest , Apache 2.0 transport 5.5.0: https://github.com/elastic/elasticsearch/tree/master/client/transport , Apache 2.0 - transport-netty3-client 5.5.0: http://central.maven.org/maven2/org/elasticsearch/plugin/transport-netty3-client/5.5.0/transport-netty3-client-5.5.0.pom , Apache 2.0 - transport-netty4-client 5.5.0: http://central.maven.org/maven2/org/elasticsearch/plugin/transport-netty4-client/5.5.0/transport-netty4-client-5.5.0.pom , Apache 2.0 securesm 1.1: https://github.com/elastic/securesm/blob/master/pom.xml , Apache 2.0 LMAX Ltd.(disruptor) 3.3.6: https://github.com/LMAX-Exchange/disruptor , Apache 2.0 Eclipse (Jetty) 9.4.28.v20200408: https://www.eclipse.org/jetty/ , Apache 2.0 and Eclipse Public License 1.0 @@ -271,7 +268,7 @@ The text of each license is the standard Apache 2.0 license. Apache: commons-collections4 4.1: https://mvnrepository.com/artifact/org.apache.commons/commons-collections4, Apache 2.0 Apache: tomcat 8.5.27: https://github.com/apache/tomcat/tree/trunk, Apache 2.0 Apache: freemarker 2.3.28: https://github.com/apache/freemarker, Apache 2.0 - netty 5.5.0: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0 + netty 4.1.12: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0 annotations 13.0: http://www.jetbrains.org, Apache 2.0 compiler 0.9.3: https://github.com/spullara/mustache.java, Apache 2.0 error_prone_annotations 2.3.2: https://github.com/google/error-prone, Apache 2.0 @@ -378,8 +375,8 @@ The text of each license is also included at licenses/LICENSE-[project].txt. asm 8.0.1:https://gitlab.ow2.org , BSD-3-Clause antlr4-runtime 4.5.1: http://www.antlr.org/license.html, BSD-3-Clause jline 0.9.94: http://mvnrepository.com/artifact/jline/jline/0.9.94, BSD - Google: protobuf-java 3.4.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause - Google: protobuf-java-util 3.4.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause + Google: protobuf-java 3.13.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause + Google: protobuf-java-util 3.12.4: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause reflectasm 1.11.3: https://github.com/EsotericSoftware/reflectasm , BSD-3-Clause proto files from gogo: https://github.com/gogo/protobuf BSD-2 diff --git a/docs/en/guides/How-to-build.md b/docs/en/guides/How-to-build.md index 2bd97f7034..1d474466af 100644 --- a/docs/en/guides/How-to-build.md +++ b/docs/en/guides/How-to-build.md @@ -16,7 +16,7 @@ If you need to execute build behind the proxy, edit the *.mvn/jvm.config* and pu ``` ### Build from GitHub -1. Prepare git, JDK8 and Maven 3.6+ +1. Prepare git, JDK8+ and Maven 3.6+ 1. Clone project If you want to build a release from source codes, provide a `tag name` by using `git clone -b [tag_name] ...` while cloning. @@ -41,7 +41,7 @@ If you need to execute build behind the proxy, edit the *.mvn/jvm.config* and pu For each official Apache release, there is a complete and independent source code tar, which is including all source codes. You could download it from [SkyWalking Apache download page](http://skywalking.apache.org/downloads/). No git related stuff required when compiling this. Just follow these steps. -1. Prepare JDK8 and Maven 3.6+ +1. Prepare JDK8+ and Maven 3.6+ 1. Run `./mvnw clean package -DskipTests` 1. All packages are in `/dist`.(.tar.gz for Linux and .zip for Windows). diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java index c3e392dc82..d3e1ad96b3 100644 --- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java +++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java @@ -39,7 +39,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.junit.Before; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.powermock.reflect.Whitebox; import static org.mockito.Mockito.when; @@ -90,19 +90,32 @@ public abstract class MeterBaseTest { timestamp = System.currentTimeMillis(); // single value processor.read(MeterData.newBuilder() - .setService("service").setServiceInstance("instance").setTimestamp(timestamp) - .setSingleValue(MeterSingleValue.newBuilder().setName("test_count1") - .addLabels(Label.newBuilder().setName("k1").setValue("v1").build()).setValue(1).build()) - .build()); + .setService("service").setServiceInstance("instance").setTimestamp(timestamp) + .setSingleValue(MeterSingleValue.newBuilder().setName("test_count1") + .addLabels(Label.newBuilder() + .setName("k1") + .setValue("v1") + .build()).setValue(1).build()) + .build()); // histogram processor.read(MeterData.newBuilder() - .setHistogram(MeterHistogram.newBuilder().setName("test_histogram") - .addLabels(Label.newBuilder().setName("k2").setValue("v2").build()) - .addValues(MeterBucketValue.newBuilder().setBucket(1).setCount(10).build()) - .addValues(MeterBucketValue.newBuilder().setBucket(5).setCount(15).build()) - .addValues(MeterBucketValue.newBuilder().setBucket(10).setCount(3).build()) - .build()) - .build()); + .setHistogram(MeterHistogram.newBuilder().setName("test_histogram") + .addLabels( + Label.newBuilder().setName("k2").setValue("v2").build()) + .addValues(MeterBucketValue.newBuilder() + .setBucket(1) + .setCount(10) + .build()) + .addValues(MeterBucketValue.newBuilder() + .setBucket(5) + .setCount(15) + .build()) + .addValues(MeterBucketValue.newBuilder() + .setBucket(10) + .setCount(3) + .build()) + .build()) + .build()); } } diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java index b92fd40306..8a4a63efab 100644 --- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java +++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java @@ -31,27 +31,28 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doCallRealMethod; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class MeterBuilderTest extends MeterBaseTest { @Test public void testBuildAndSend() throws ModuleStartException { List values = new ArrayList<>(); doAnswer(invocationOnMock -> { - values.add(invocationOnMock.getArgumentAt(0, AcceptableValue.class)); + values.add(invocationOnMock.getArgument(0, AcceptableValue.class)); return null; }).when(meterSystem).doStreamingCalculation(any()); - final MeterProcessService context = (MeterProcessService) Whitebox.getInternalState(processor, "processService"); + final MeterProcessService context = (MeterProcessService) Whitebox.getInternalState( + processor, "processService"); context.enabledBuilders().stream().peek(b -> doCallRealMethod().when(b).buildAndSend(any(), any())); context.initMeters(); @@ -91,7 +92,8 @@ public class MeterBuilderTest extends MeterBaseTest { private void verifyDataTable(DataTable table, Object... data) { Assert.assertEquals(data.length / 2, table.size()); for (int i = 0; i < data.length; i += 2) { - Assert.assertEquals(Long.parseLong(String.valueOf(data[i + 1])), table.get(String.valueOf(data[i])).longValue()); + Assert.assertEquals( + Long.parseLong(String.valueOf(data[i + 1])), table.get(String.valueOf(data[i])).longValue()); } } } diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java index a53eb33d47..3f65b14f1c 100644 --- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java +++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java @@ -25,16 +25,16 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import static org.mockito.Matchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class MeterProcessContextTest extends MeterBaseTest { private static final String CONFIG_PATH = "meter-receive-config"; diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java index 6a042aed0d..b8de2e5fe3 100644 --- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java +++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java @@ -18,18 +18,17 @@ package org.apache.skywalking.oap.server.analyzer.provider.meter.process; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; - -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import org.powermock.reflect.Whitebox; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doNothing; @@ -38,7 +37,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class MeterProcessorTest extends MeterBaseTest { @Test @@ -49,15 +48,18 @@ public class MeterProcessorTest extends MeterBaseTest { Assert.assertEquals(timestamp, processor.timestamp().longValue()); // meters check - final Map meters = (Map) Whitebox.getInternalState(processor, "meters"); + final Map meters = (Map) Whitebox.getInternalState( + processor, "meters"); Assert.assertEquals(2, meters.size()); // single value - EvalSingleData singleData = verifyBaseData(meters.get("test_count1"), "test_count1", Collections.singletonMap("k1", "v1")); + EvalSingleData singleData = verifyBaseData( + meters.get("test_count1"), "test_count1", Collections.singletonMap("k1", "v1")); Assert.assertEquals(1, singleData.getValue(), 0.0); // histogram - EvalHistogramData histogramData = verifyBaseData(meters.get("test_histogram"), "test_histogram", Collections.singletonMap("k2", "v2")); + EvalHistogramData histogramData = verifyBaseData( + meters.get("test_histogram"), "test_histogram", Collections.singletonMap("k2", "v2")); Assert.assertEquals(3, histogramData.getBuckets().size()); Assert.assertEquals(10, histogramData.getBuckets().get(1d).longValue()); Assert.assertEquals(15, histogramData.getBuckets().get(5d).longValue()); @@ -68,8 +70,11 @@ public class MeterProcessorTest extends MeterBaseTest { public void testProcess() { // each builder has build and send MeterProcessService context = (MeterProcessService) Whitebox.getInternalState(processor, "processService"); - List builders = context.enabledBuilders().stream().map(Mockito::spy) - .peek(builder -> doNothing().when(builder).buildAndSend(any(), any())).collect(Collectors.toList()); + List builders = context.enabledBuilders() + .stream() + .map(Mockito::spy) + .peek(builder -> doNothing().when(builder).buildAndSend(any(), any())) + .collect(Collectors.toList()); Whitebox.setInternalState(context, "meterBuilders", builders); processor.process(); builders.stream().forEach(b -> verify(b, times(1)).buildAndSend(any(), any())); diff --git a/oap-server/pom.xml b/oap-server/pom.xml index 3fc4ad88ec..e07643ef9c 100755 --- a/oap-server/pom.xml +++ b/oap-server/pom.xml @@ -52,11 +52,12 @@ UTF-8 + 3.13.0 + 3.12.4 1.7.25 2.9.0 28.1-jre 1.18 - 2.8.6 5.2.3 8.0 3.4.10 @@ -95,7 +96,6 @@ 3.0.3 3.5 - 3.11.4 2.4.1 2.4.6.RELEASE @@ -127,6 +127,13 @@ com.google.guava guava + + + net.bytebuddy + byte-buddy + ${bytebuddy.version} + test + @@ -271,6 +278,11 @@ ${grpc.version} + + com.google.protobuf + protobuf-java + ${protobuf-java.version} + com.google.protobuf protobuf-java-util diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java index 61c9669c0c..d3cd9d6996 100644 --- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java +++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java @@ -59,7 +59,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) @PrepareForTest(DefaultScopeDefine.class) public class NotifyHandlerTest { diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java index 09302fa852..1b9da57fb5 100644 --- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java +++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java @@ -48,7 +48,7 @@ import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) @PrepareForTest(Consul.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class ClusterModuleConsulProviderTest { private ClusterModuleConsulProvider provider = new ClusterModuleConsulProvider(); diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java deleted file mode 100644 index 8415a77349..0000000000 --- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.cluster.plugin.etcd; - -import java.net.URI; -import java.util.List; -import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cluster.ClusterModule; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(EtcdUtils.class) -@PowerMockIgnore("javax.management.*") -public class ClusterModuleEtcdProviderTest { - - private ClusterModuleEtcdProvider provider = new ClusterModuleEtcdProvider(); - - @Test - public void name() { - assertEquals("etcd", provider.name()); - } - - @Test - public void module() { - assertEquals(ClusterModule.class, provider.module()); - } - - @Test - public void createConfigBeanIfAbsent() { - ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent(); - assertTrue(moduleConfig instanceof ClusterModuleEtcdConfig); - } - - @Test(expected = ModuleStartException.class) - public void prepareWithNonHost() throws Exception { - provider.prepare(); - } - - @Test - @SuppressWarnings("unchecked") - public void prepare() throws Exception { - PowerMockito.mockStatic(EtcdUtils.class); - ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig(); - etcdConfig.setHostPort("10.0.0.1:1000,10.0.0.2:1001"); - Whitebox.setInternalState(provider, "config", etcdConfig); - provider.prepare(); - - List uris = mock(List.class); - PowerMockito.when(EtcdUtils.parse(etcdConfig)).thenReturn(uris); - ArgumentCaptor addressCaptor = ArgumentCaptor.forClass(ClusterModuleEtcdConfig.class); - PowerMockito.verifyStatic(); - EtcdUtils.parse(addressCaptor.capture()); - ClusterModuleEtcdConfig cfg = addressCaptor.getValue(); - assertEquals(etcdConfig.getHostPort(), cfg.getHostPort()); - } - - @Test - public void prepareSingle() throws Exception { - PowerMockito.mockStatic(EtcdUtils.class); - ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig(); - etcdConfig.setHostPort("10.0.0.1:1000"); - Whitebox.setInternalState(provider, "config", etcdConfig); - provider.prepare(); - - List uris = mock(List.class); - PowerMockito.when(EtcdUtils.parse(etcdConfig)).thenReturn(uris); - ArgumentCaptor addressCaptor = ArgumentCaptor.forClass(ClusterModuleEtcdConfig.class); - PowerMockito.verifyStatic(); - EtcdUtils.parse(addressCaptor.capture()); - ClusterModuleEtcdConfig cfg = addressCaptor.getValue(); - assertEquals(etcdConfig.getHostPort(), cfg.getHostPort()); - } - - @Test - public void start() { - provider.start(); - } - - @Test - public void notifyAfterCompleted() { - provider.notifyAfterCompleted(); - } - - @Test - public void requiredModules() { - String[] modules = provider.requiredModules(); - assertArrayEquals(new String[] {CoreModule.NAME}, modules); - } -} diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java deleted file mode 100644 index dd5c1575ae..0000000000 --- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.cluster.plugin.etcd; - -import com.google.gson.Gson; -import java.util.ArrayList; -import java.util.List; -import mousio.etcd4j.EtcdClient; -import mousio.etcd4j.promises.EtcdResponsePromise; -import mousio.etcd4j.requests.EtcdKeyGetRequest; -import mousio.etcd4j.requests.EtcdKeyPutRequest; -import mousio.etcd4j.responses.EtcdKeysResponse; -import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; -import org.apache.skywalking.oap.server.core.remote.client.Address; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(EtcdKeysResponse.class) -@PowerMockIgnore("javax.management.*") -public class EtcdCoordinatorTest { - - private ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig(); - - private EtcdClient client; - - private EtcdCoordinator coordinator; - - private Gson gson = new Gson(); - - private Address remoteAddress = new Address("10.0.0.1", 1000, false); - private Address selfRemoteAddress = new Address("10.0.0.2", 1001, true); - - private Address internalAddress = new Address("10.0.0.3", 1002, false); - - private static final String SERVICE_NAME = "my-service"; - - private EtcdResponsePromise getPromise; - private EtcdResponsePromise putPromise; - - private EtcdKeysResponse response; - - private EtcdKeyPutRequest putRequest = mock(EtcdKeyPutRequest.class); - - private EtcdKeyGetRequest getRequest = mock(EtcdKeyGetRequest.class); - - private EtcdKeyPutRequest putDirRequest = mock(EtcdKeyPutRequest.class); - - private EtcdResponsePromise putDirPromise; - - @Mock - private List list = mock(List.class); - - @Before - public void setUp() throws Exception { - etcdConfig.setServiceName(SERVICE_NAME); - - client = mock(EtcdClient.class); - PowerMockito.whenNew(EtcdClient.class).withAnyArguments().thenReturn(client); - client = new EtcdClient("http://10.0.0.1:1000", "http://10.0.0.2:2000"); - coordinator = new EtcdCoordinator(etcdConfig, client); - - putPromise = (EtcdResponsePromise) mock(EtcdResponsePromise.class); - getPromise = (EtcdResponsePromise) mock(EtcdResponsePromise.class); - putDirPromise = (EtcdResponsePromise) mock(EtcdResponsePromise.class); - - PowerMockito.when(client.putDir(anyString())).thenReturn(putDirRequest); - PowerMockito.when(putDirRequest.ttl(anyInt())).thenReturn(putDirRequest); - PowerMockito.when(putDirRequest.send()).thenReturn(putDirPromise); - PowerMockito.when(client.put(anyString(), anyString())).thenReturn(putRequest); - PowerMockito.when(putRequest.ttl(anyInt())).thenReturn(putRequest); - PowerMockito.when(putRequest.send()).thenReturn(putPromise); - PowerMockito.when(client.get(anyString())).thenReturn(getRequest); - PowerMockito.when(getRequest.send()).thenReturn(getPromise); - - response = PowerMockito.mock(EtcdKeysResponse.class); - - response = PowerMockito.mock(EtcdKeysResponse.class); - when(putPromise.get()).thenReturn(response); - when(getPromise.get()).thenReturn(response); - when(putDirPromise.get()).thenReturn(response); - } - - @Test - @SuppressWarnings("unchecked") - public void queryRemoteNodesWithNonOrEmpty() { - EtcdKeysResponse.EtcdNode node = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class); - when(response.getNode()).thenReturn(node); - when(node.getValue()).thenReturn("{}"); - assertEquals(0, coordinator.queryRemoteNodes().size()); - assertEquals(0, coordinator.queryRemoteNodes().size()); - } - - @Test - public void queryRemoteNodes() { - registerSelfRemote(); - - EtcdKeysResponse.EtcdNode node = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class); - EtcdKeysResponse.EtcdNode node1 = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class); - - when(response.getNode()).thenReturn(node); - list = new ArrayList<>(); - List list1 = Mockito.spy(list); - list1.add(node1); - when(node.getNodes()).thenReturn(list1); - when(node1.getValue()).thenReturn("{\"serviceId\":\"my-service\",\"host\":\"10.0.0.2\",\"port\":1001}"); - List remoteInstances = coordinator.queryRemoteNodes(); - assertEquals(1, remoteInstances.size()); - - RemoteInstance selfInstance = remoteInstances.get(0); - velidate(selfRemoteAddress, selfInstance); - } - - @Test - public void registerRemote() { - registerRemote(remoteAddress); - } - - @Test - public void registerSelfRemote() { - registerRemote(selfRemoteAddress); - } - - @Test - public void registerRemoteUsingInternal() { - etcdConfig.setInternalComHost(internalAddress.getHost()); - etcdConfig.setInternalComPort(internalAddress.getPort()); - registerRemote(internalAddress); - } - - private void velidate(Address originArress, RemoteInstance instance) { - Address instanceAddress = instance.getAddress(); - assertEquals(originArress.getHost(), instanceAddress.getHost()); - assertEquals(originArress.getPort(), instanceAddress.getPort()); - } - - private void registerRemote(Address address) { - coordinator.registerRemote(new RemoteInstance(address)); - EtcdEndpoint endpoint = afterRegister().get(0); - verifyRegistration(address, endpoint); - } - - private List afterRegister() { - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(String.class); - ArgumentCaptor nameCaptor = ArgumentCaptor.forClass(String.class); - verify(client).put(nameCaptor.capture(), argumentCaptor.capture()); - EtcdEndpoint endpoint = gson.fromJson(argumentCaptor.getValue(), EtcdEndpoint.class); - List list = new ArrayList<>(); - list.add(endpoint); - return list; - } - - private void verifyRegistration(Address remoteAddress, EtcdEndpoint endpoint) { - assertNotNull(endpoint); - assertEquals(SERVICE_NAME, endpoint.getServiceName()); - assertEquals(remoteAddress.getHost(), endpoint.getHost()); - assertEquals(remoteAddress.getPort(), endpoint.getPort()); - } - -} diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java index 79f1029b64..ef9864d6c8 100644 --- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java +++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java @@ -31,7 +31,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class ClusterModuleKubernetesProviderTest { private ClusterModuleKubernetesProvider provider = new ClusterModuleKubernetesProvider(); diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java index 48a831983c..b6587db840 100644 --- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java +++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java @@ -46,7 +46,7 @@ import org.powermock.reflect.Whitebox; import static org.powermock.api.mockito.PowerMockito.when; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) @PrepareForTest({NamespacedPodListInformer.class}) public class KubernetesCoordinatorTest { diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java deleted file mode 100644 index f489f93c05..0000000000 --- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.cluster.plugin.nacos; - -import com.alibaba.nacos.api.PropertyKeyConst; -import com.alibaba.nacos.api.naming.NamingFactory; -import com.alibaba.nacos.api.naming.NamingService; -import java.util.Properties; -import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cluster.ClusterModule; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(NamingFactory.class) -@PowerMockIgnore("javax.management.*") -public class ClusterModuleNacosProviderTest { - - private static final String SERVICE_NAME = "test-service_name"; - - private ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider(); - - @Test - public void name() { - assertEquals("nacos", provider.name()); - } - - @Test - public void module() { - assertEquals(ClusterModule.class, provider.module()); - } - - @Test - public void createConfigBeanIfAbsent() { - ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent(); - assertTrue(moduleConfig instanceof ClusterModuleNacosConfig); - } - - @Test(expected = ModuleStartException.class) - public void prepareWithNonHost() throws Exception { - provider.prepare(); - } - - @Test - public void prepare() throws Exception { - PowerMockito.mockStatic(NamingFactory.class); - ClusterModuleNacosConfig nacosConfig = new ClusterModuleNacosConfig(); - nacosConfig.setHostPort("10.0.0.1:1000,10.0.0.2:1001"); - nacosConfig.setServiceName(SERVICE_NAME); - Whitebox.setInternalState(provider, "config", nacosConfig); - NamingService namingService = mock(NamingService.class); - - Properties properties = new Properties(); - properties.put(PropertyKeyConst.SERVER_ADDR, "10.0.0.1:1000,10.0.0.2:1001"); - - PowerMockito.when(NamingFactory.createNamingService(properties)).thenReturn(namingService); - provider.prepare(); - ArgumentCaptor addressCaptor = ArgumentCaptor.forClass(Properties.class); - PowerMockito.verifyStatic(); - NamingFactory.createNamingService(addressCaptor.capture()); - Properties data = addressCaptor.getValue(); - assertEquals("10.0.0.1:1000,10.0.0.2:1001", data.getProperty(PropertyKeyConst.SERVER_ADDR)); - } - - @Test - public void start() { - provider.start(); - } - - @Test - public void notifyAfterCompleted() { - provider.notifyAfterCompleted(); - } - - @Test - public void requiredModules() { - String[] modules = provider.requiredModules(); - assertArrayEquals(new String[] {CoreModule.NAME}, modules); - } -} diff --git a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java index 1cfec1ef06..34e6fc37fc 100644 --- a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java +++ b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java @@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.configuration.consul; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.google.common.io.BaseEncoding; -import com.orbitz.consul.KeyValueClient; import com.orbitz.consul.cache.ConsulCache; import com.orbitz.consul.cache.KVCache; import com.orbitz.consul.model.kv.ImmutableValue; @@ -35,6 +34,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; @@ -48,6 +48,13 @@ import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) @PrepareForTest(KVCache.class) +@PowerMockIgnore({ + "com.sun.org.apache.xerces.*", + "javax.xml.*", + "org.xml.*", + "javax.management.*", + "org.w3c.*" +}) @SuppressWarnings({ "unchecked", "OptionalGetWithoutIsPresent" @@ -77,8 +84,8 @@ public class ConsulConfigurationWatcherRegisterTest { ArgumentCaptor listener2 = ArgumentCaptor.forClass(ConsulCache.Listener.class); PowerMockito.mockStatic(KVCache.class); - PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key1"))).thenReturn(cache1); - PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key2"))).thenReturn(cache2); + PowerMockito.when(KVCache.newCache(any(), eq("key1"))).thenReturn(cache1); + PowerMockito.when(KVCache.newCache(any(), eq("key2"))).thenReturn(cache2); when(register.readConfig(any(Set.class))).thenCallRealMethod(); @@ -128,8 +135,8 @@ public class ConsulConfigurationWatcherRegisterTest { ArgumentCaptor listener2 = ArgumentCaptor.forClass(ConsulCache.Listener.class); PowerMockito.mockStatic(KVCache.class); - PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key1"))).thenReturn(cache1); - PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key2"))).thenReturn(cache2); + PowerMockito.when(KVCache.newCache(any(), eq("key1"))).thenReturn(cache1); + PowerMockito.when(KVCache.newCache(any(), eq("key2"))).thenReturn(cache2); when(register.readConfig(any(Set.class))).thenCallRealMethod(); diff --git a/oap-server/server-configuration/configuration-etcd/pom.xml b/oap-server/server-configuration/configuration-etcd/pom.xml index 8d1da375e5..baf0f074a0 100644 --- a/oap-server/server-configuration/configuration-etcd/pom.xml +++ b/oap-server/server-configuration/configuration-etcd/pom.xml @@ -69,6 +69,19 @@ + + + + maven-compiler-plugin + + ${compiler.version} + ${compiler.version} + ${project.build.sourceEncoding} + + + + + CI-with-IT diff --git a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java deleted file mode 100644 index 4f1f476984..0000000000 --- a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.configuration.etcd; - -import com.google.common.collect.Sets; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import mousio.client.promises.ResponsePromise; -import mousio.etcd4j.EtcdClient; -import mousio.etcd4j.promises.EtcdResponsePromise; -import mousio.etcd4j.requests.EtcdKeyGetRequest; -import mousio.etcd4j.responses.EtcdKeysResponse; -import org.apache.skywalking.oap.server.configuration.api.ConfigTable; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import static junit.framework.TestCase.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.spy; -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.mockStatic; -import static org.powermock.api.mockito.PowerMockito.when; -import static org.powermock.api.mockito.PowerMockito.whenNew; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ - EtcdKeysResponse.class, - EtcdUtils.class, - EtcdClient.class, - URI.class -}) -@PowerMockIgnore({"javax.management.*"}) -public class EtcdConfigWatcherRegisterTest { - - @Before - @Test - public void shouldReadConfigs() throws Exception { - final String group = "skywalking"; - final String testKey1 = "receiver-trace.default.slowDBAccessThreshold"; - final String testVal1 = "test"; - final String testKey2 = "testKey"; - final String testVal2 = "testVal"; - - final EtcdServerSettings mockSettings = mock(EtcdServerSettings.class); - when(mockSettings.getGroup()).thenReturn(group); - mockStatic(EtcdUtils.class); - - List uris = mock(List.class); - when(EtcdUtils.parse(any())).thenReturn(uris); - - final EtcdClient client = PowerMockito.mock(EtcdClient.class); - whenNew(EtcdClient.class).withAnyArguments().thenReturn(client); - - String port = System.getProperty("etcd.port"); - URI uri = new URI("http://localhost:" + port); - List urisArray = spy(ArrayList.class); - urisArray.add(uri); - URI[] array = urisArray.toArray(new URI[] {}); - when(uris.toArray(new URI[] {})).thenReturn(array); - - final EtcdConfigWatcherRegister mockRegister = spy(new EtcdConfigWatcherRegister(mockSettings)); - - Whitebox.setInternalState(mockRegister, "client", client); - Whitebox.setInternalState(mockRegister, "settings", mockSettings); - - final EtcdKeysResponse response = PowerMockito.mock(EtcdKeysResponse.class); - final EtcdKeysResponse response1 = PowerMockito.mock(EtcdKeysResponse.class); - - final EtcdKeyGetRequest request = PowerMockito.mock(EtcdKeyGetRequest.class); - - when(client.get("/skywalking/receiver-trace.default.slowDBAccessThreshold")).thenReturn(request); - when(request.waitForChange()).thenReturn(request); - - final EtcdResponsePromise promise = mock(EtcdResponsePromise.class); - final ResponsePromise responseResponsePromise = mock(ResponsePromise.class); - when(request.send()).thenReturn(promise); - when(promise.get()).thenReturn(response); - when(responseResponsePromise.get()).thenReturn(response); - - final EtcdKeysResponse.EtcdNode node = mock(EtcdKeysResponse.EtcdNode.class); - when(response.getNode()).thenReturn(node); - when(node.getKey()).thenReturn("/skywalking/receiver-trace.default.slowDBAccessThreshold"); - when(node.getValue()).thenReturn("test"); - - final EtcdKeyGetRequest request1 = mock(EtcdKeyGetRequest.class); - when(client.get("/skywalking/testKey")).thenReturn(request1); - when(request1.waitForChange()).thenReturn(request1); - final EtcdResponsePromise promise1 = mock(EtcdResponsePromise.class); - final ResponsePromise responseResponsePromise1 = mock(ResponsePromise.class); - when(request1.send()).thenReturn(promise1); - when(promise1.get()).thenReturn(response1); - when(responseResponsePromise1.get()).thenReturn(response1); - - final EtcdKeysResponse.EtcdNode node1 = mock(EtcdKeysResponse.EtcdNode.class); - when(response1.getNode()).thenReturn(node1); - when(node1.getKey()).thenReturn("/skywalking/testKey"); - when(node1.getValue()).thenReturn("testVal"); - - final ConfigTable configTable = mockRegister.readConfig(Sets.newHashSet(testKey1, testKey2)).get(); - - assertEquals(2, configTable.getItems().size()); - Map kvs = new HashMap<>(); - for (ConfigTable.ConfigItem item : configTable.getItems()) { - kvs.put(item.getName(), item.getValue()); - } - assertEquals(testVal1, kvs.get(testKey1)); - assertEquals(testVal2, kvs.get(testKey2)); - } -} diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java index 2fd449cd2c..45ddf434cc 100644 --- a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java +++ b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java @@ -39,7 +39,7 @@ import org.powermock.modules.junit4.PowerMockRunner; import org.yaml.snakeyaml.Yaml; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) @PrepareForTest({ConfigurationConfigmapInformer.class}) public class ConfigmapConfigWatcherRegisterTest { diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java index 13d967e15e..4090296837 100644 --- a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java +++ b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java @@ -28,7 +28,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class ConfigmapConfigurationProviderTest { private final ConfigmapConfigurationProvider provider = new ConfigmapConfigurationProvider(); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java index 201d4368e6..f6cff89337 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java @@ -56,8 +56,8 @@ public class TimeBucketTest { DownSampling.Day, DAYS, MILLISECONDS.toDays(NOW) - }, - }; + } + }; } private DownSampling downSampling; diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java index 23f4431e75..5267e8f5d0 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java @@ -35,11 +35,13 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) @PrepareForTest({DefaultScopeDefine.class}) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class StorageModelsTest { @BeforeClass public static void setup() { diff --git a/oap-server/server-library/library-util/pom.xml b/oap-server/server-library/library-util/pom.xml index 1e468a14cf..241b7eb229 100644 --- a/oap-server/server-library/library-util/pom.xml +++ b/oap-server/server-library/library-util/pom.xml @@ -17,7 +17,8 @@ ~ --> - + server-library org.apache.skywalking @@ -30,7 +31,6 @@ 1.18.0 - 3.11.4 @@ -57,7 +57,6 @@ com.google.protobuf protobuf-java - ${protobuf-java.version} diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml index c0bd93289c..e9b0251838 100644 --- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml +++ b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml @@ -46,10 +46,14 @@ com.google.protobuf protobuf-java-util - 3.5.1 + ${protobuf-java-util.version} test + + org.apache.tomcat + annotations-api + ${org.apache.tomcat.annotations-api.version} + provided + - - \ No newline at end of file diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java index b3dd3330c1..69bd2d48e1 100644 --- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java +++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java @@ -36,14 +36,14 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) -@PowerMockIgnore({"javax.management.*"}) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class BrowserReportServletHandlerTest { @Mock private HttpServletRequest request; diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java index b47efc2ccd..9a88454206 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java @@ -40,14 +40,14 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import static org.mockito.Mockito.when; @RunWith(PowerMockRunner.class) -@PowerMockIgnore({"javax.management.*"}) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"}) public class TraceSegmentReportServletHandlerTest { @Mock @@ -71,7 +71,7 @@ public class TraceSegmentReportServletHandlerTest { Mockito.when(moduleManager.find(AnalyzerModule.NAME)).thenReturn(analyzerModule); Mockito.when(telemetryProvider.getService(MetricsCreator.class)) - .thenReturn(new MetricsCreatorNoop()); + .thenReturn(new MetricsCreatorNoop()); when(analyzerModuleProvider.getService(ISegmentParserService.class)) .thenReturn(new SegmentParserServiceImpl(moduleManager, new AnalyzerModuleConfig())); diff --git a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java index 189c2aae8a..64a42c238c 100644 --- a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java +++ b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java @@ -46,8 +46,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import org.yaml.snakeyaml.Yaml; @RunWith(PowerMockRunner.class) diff --git a/pom.xml b/pom.xml index 69926e12dc..98586062fc 100755 --- a/pom.xml +++ b/pom.xml @@ -182,19 +182,25 @@ UTF-8 1.8 - 1.6.4 + 2.0.7 6.18 4.12 - 1.10.19 + 3.5.13 1.18.10 - 1.26.0 + 1.10.16 + 1.32.1 + 2.8.6 1.6.2 0.6.1 - 3.3.0 - 1.8.0 + 3.12.0 + 1.32.1 2.0.26.Final + 1.3.2 + 3.1 + + 6.0.53 0.4.13 @@ -219,7 +225,6 @@ 1.5 2.7 true - 1.3.2 @@ -229,18 +234,23 @@ test - org.mockito - mockito-all + org.powermock + powermock-module-junit4 test org.powermock - powermock-module-junit4 + powermock-api-mockito2 test - org.powermock - powermock-api-mockito + net.bytebuddy + byte-buddy-agent + test + + + org.objenesis + objenesis test @@ -275,8 +285,8 @@ org.mockito - mockito-all - ${mockito-all.version} + mockito-core + ${mockito-core.version} test @@ -287,10 +297,22 @@ org.powermock - powermock-api-mockito + powermock-api-mockito2 ${powermock.version} test + + net.bytebuddy + byte-buddy-agent + ${bytebuddy.version} + test + + + org.objenesis + objenesis + ${objenesis.version} + test + org.openjdk.jmh jmh-generator-annprocess diff --git a/test/plugin/scenarios/gson-scenario/pom.xml b/test/plugin/scenarios/gson-scenario/pom.xml index b49aef3178..3beba29e54 100644 --- a/test/plugin/scenarios/gson-scenario/pom.xml +++ b/test/plugin/scenarios/gson-scenario/pom.xml @@ -29,7 +29,6 @@ UTF-8 - 1.8 2.1.6.RELEASE 2.8.5 ${test.framework.version} diff --git a/test/plugin/scenarios/hystrix-scenario/pom.xml b/test/plugin/scenarios/hystrix-scenario/pom.xml index 8aedab1b17..3cab1e4029 100644 --- a/test/plugin/scenarios/hystrix-scenario/pom.xml +++ b/test/plugin/scenarios/hystrix-scenario/pom.xml @@ -29,8 +29,6 @@ UTF-8 - 1.8 - 1.4.20 2.1.6.RELEASE diff --git a/tools/dependencies/known-oap-backend-dependencies-es7.txt b/tools/dependencies/known-oap-backend-dependencies-es7.txt index bb38473d5e..98640ae306 100755 --- a/tools/dependencies/known-oap-backend-dependencies-es7.txt +++ b/tools/dependencies/known-oap-backend-dependencies-es7.txt @@ -44,13 +44,13 @@ freemarker-2.3.28.jar graphql-java-8.0.jar graphql-java-tools-5.2.3.jar groovy-3.0.3.jar -grpc-api-1.26.0.jar -grpc-context-1.26.0.jar -grpc-core-1.26.0.jar -grpc-netty-1.26.0.jar -grpc-protobuf-1.26.0.jar -grpc-protobuf-lite-1.26.0.jar -grpc-stub-1.26.0.jar +grpc-api-1.32.1.jar +grpc-context-1.32.1.jar +grpc-core-1.32.1.jar +grpc-netty-1.32.1.jar +grpc-protobuf-1.32.1.jar +grpc-protobuf-lite-1.32.1.jar +grpc-stub-1.32.1.jar gson-2.8.6.jar gson-fire-1.8.3.jar guava-28.1-jre.jar @@ -131,24 +131,22 @@ netty-buffer-4.1.42.Final.jar netty-codec-4.1.42.Final.jar netty-codec-dns-4.1.42.Final.jar netty-codec-http-4.1.42.Final.jar -netty-codec-http2-4.1.42.Final.jar -netty-codec-socks-4.1.42.Final.jar +netty-codec-http2-4.1.51.Final.jar +netty-codec-socks-4.1.51.Final.jar netty-common-4.1.42.Final.jar netty-handler-4.1.42.Final.jar -netty-handler-proxy-4.1.42.Final.jar +netty-handler-proxy-4.1.51.Final.jar netty-resolver-4.1.42.Final.jar netty-resolver-dns-4.1.42.Final.jar netty-tcnative-boringssl-static-2.0.26.Final.jar netty-transport-4.1.42.Final.jar okhttp-3.9.0.jar okio-1.13.0.jar -opencensus-api-0.24.0.jar -opencensus-contrib-grpc-metrics-0.24.0.jar parent-join-client-7.0.0.jar perfmark-api-0.19.0.jar -proto-google-common-protos-1.12.0.jar -protobuf-java-3.11.4.jar -protobuf-java-util-3.11.4.jar +proto-google-common-protos-1.17.0.jar +protobuf-java-3.13.0.jar +protobuf-java-util-3.12.4.jar rank-eval-client-7.0.0.jar reactive-streams-1.0.2.jar reflectasm-1.11.7.jar diff --git a/tools/dependencies/known-oap-backend-dependencies.txt b/tools/dependencies/known-oap-backend-dependencies.txt index b4391a53da..4dd8f35d16 100755 --- a/tools/dependencies/known-oap-backend-dependencies.txt +++ b/tools/dependencies/known-oap-backend-dependencies.txt @@ -45,13 +45,13 @@ freemarker-2.3.28.jar graphql-java-8.0.jar graphql-java-tools-5.2.3.jar groovy-3.0.3.jar -grpc-api-1.26.0.jar -grpc-context-1.26.0.jar -grpc-core-1.26.0.jar -grpc-netty-1.26.0.jar -grpc-protobuf-1.26.0.jar -grpc-protobuf-lite-1.26.0.jar -grpc-stub-1.26.0.jar +grpc-api-1.32.1.jar +grpc-context-1.32.1.jar +grpc-core-1.32.1.jar +grpc-netty-1.32.1.jar +grpc-protobuf-1.32.1.jar +grpc-protobuf-lite-1.32.1.jar +grpc-stub-1.32.1.jar gson-2.8.6.jar gson-fire-1.8.3.jar guava-28.1-jre.jar @@ -129,24 +129,22 @@ netty-buffer-4.1.42.Final.jar netty-codec-4.1.42.Final.jar netty-codec-dns-4.1.42.Final.jar netty-codec-http-4.1.42.Final.jar -netty-codec-http2-4.1.42.Final.jar -netty-codec-socks-4.1.42.Final.jar +netty-codec-http2-4.1.51.Final.jar +netty-codec-socks-4.1.51.Final.jar netty-common-4.1.42.Final.jar netty-handler-4.1.42.Final.jar -netty-handler-proxy-4.1.42.Final.jar +netty-handler-proxy-4.1.51.Final.jar netty-resolver-4.1.42.Final.jar netty-resolver-dns-4.1.42.Final.jar netty-tcnative-boringssl-static-2.0.26.Final.jar netty-transport-4.1.42.Final.jar okhttp-3.9.0.jar okio-1.13.0.jar -opencensus-api-0.24.0.jar -opencensus-contrib-grpc-metrics-0.24.0.jar parent-join-client-6.3.2.jar perfmark-api-0.19.0.jar -proto-google-common-protos-1.12.0.jar -protobuf-java-3.11.4.jar -protobuf-java-util-3.11.4.jar +proto-google-common-protos-1.17.0.jar +protobuf-java-3.13.0.jar +protobuf-java-util-3.12.4.jar rank-eval-client-6.3.2.jar reactive-streams-1.0.2.jar reflectasm-1.11.7.jar -- GitLab