From faf6e2eb9e7c50e7e2dd507e65cf1da7d8a3ee7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Fri, 1 Apr 2022 00:57:34 +0800 Subject: [PATCH] Add `Error Prone Annotations` dependency to suppress warnings (#8774) --- .lift/config.toml | 6 ++-- CHANGES.md | 3 +- dist-material/release-docs/LICENSE | 2 +- oap-server-bom/pom.xml | 6 ++++ .../oap/meter/analyzer/Analyzer.java | 5 ++- .../oal/rt/parser/AnalysisResult.java | 4 +-- .../skywalking/oal/rt/parser/OALScripts.java | 4 +-- .../oal/rt/parser/PersistenceColumns.java | 12 +++---- oap-server/pom.xml | 9 +++-- .../ClusterModuleZookeeperProvider.java | 3 +- .../zookeeper/SWInstanceSerializer.java | 3 +- .../api/ConfigWatcherRegister.java | 4 +-- .../ZookeeperConfigWatcherRegister.java | 34 ++++++++++--------- .../EndpointCallRelationDispatcher.java | 1 + .../oap/server/core/query/sql/Where.java | 4 +-- .../kafka/provider/handler/LogHandler.java | 2 -- .../server/library/module/BootstrapFlow.java | 11 +++--- .../library/server/ssl/PrivateKeyUtil.java | 2 +- .../server/library/util/ResourceUtils.java | 3 +- .../oap/query/graphql/resolver/Mutation.java | 5 ++- .../oap/query/graphql/resolver/Query.java | 3 +- .../ErrorLogParserListenerManager.java | 4 +-- .../PerfDataParserListenerManager.java | 4 +-- .../server/ReceiverGRPCHandlerRegister.java | 4 +-- .../query/ProfileThreadSnapshotQuery.java | 5 ++- .../plugin/influxdb/query/TraceQuery.java | 1 + .../jdbc/h2/dao/H2ProfileTaskLogQueryDAO.java | 16 ++++----- .../telemetry/api/HistogramMetrics.java | 2 +- .../PrometheusMetricsCollector.java | 3 +- .../known-oap-backend-dependencies.txt | 2 +- 30 files changed, 91 insertions(+), 76 deletions(-) diff --git a/.lift/config.toml b/.lift/config.toml index e5795088a5..fe723bcdf4 100644 --- a/.lift/config.toml +++ b/.lift/config.toml @@ -2,7 +2,9 @@ jdk11 = true ignoreRules = [ "THREAD_SAFETY_VIOLATION", "MissingSummary", "SameNameButDifferent", "NonAtomicVolatileUpdate", "EqualsGetClass"] setup = ".lift/setup.sh" ignoreFiles = """ -skywalking-ui/ +skywalking-ui/** **/target/** -/dist-material/release-docs/ +/dist-material/release-docs/** +test/e2e-v2/cases/** +test/e2e-v2/java-test-service/** """ diff --git a/CHANGES.md b/CHANGES.md index 511d180443..10850c2c09 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -151,7 +151,8 @@ NOTICE, this sharding concept is NOT just for splitting data into different data * E2E: Add verify OAP eBPF Profiling. * Let `multiGet` could query without tag value in the `InfluxDB` storage plugin. * Adjust MAL for V9, remove some groups, add a new Service function for the custom delimiter. -* Fix `DatabaseSlowStatement` miss set service catalog. +* Add service catalog `DatabaseSlowStatement`. +* Add `Error Prone Annotations` dependency to suppress warnings, which are not errors. #### UI diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE index c69e7f88cb..f9e4813c42 100755 --- a/dist-material/release-docs/LICENSE +++ b/dist-material/release-docs/LICENSE @@ -260,7 +260,7 @@ The text of each license is the standard Apache 2.0 license. netty: netty-tcnative-boringssl-static 2.0.43: https://github.com/netty/netty-tcnative, Apache 2.0 annotations 13.0: http://www.jetbrains.org, Apache 2.0 compiler 0.9.6: https://github.com/spullara/mustache.java, Apache 2.0 - error_prone_annotations 2.3.2: https://github.com/google/error-prone, Apache 2.0 + error_prone_annotations 2.11.0: https://github.com/google/error-prone, Apache 2.0 instrumentation-api 0.4.3: https://github.com/google/instrumentation-java, Apache 2.0 jackson-annotations 2.8.0: https://github.com/FasterXML/jackson-annotations, Apache 2.0 jackson-core 2.12.2: https://github.com/FasterXML/jackson-core, Apache 2.0 diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml index fee971fea5..9bde48c8ba 100644 --- a/oap-server-bom/pom.xml +++ b/oap-server-bom/pom.xml @@ -30,6 +30,7 @@ 1.7.30 2.17.1 + 2.11.0 12.0.2 17.3 17.0 @@ -122,6 +123,11 @@ log4j-api ${log4j.version} + + com.google.errorprone + error_prone_annotations + ${google.error_prone_annotations} + com.graphql-java-kickstart graphql-java-tools diff --git a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/Analyzer.java b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/Analyzer.java index f4c1ef3ecb..7608b16d6f 100644 --- a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/Analyzer.java +++ b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/Analyzer.java @@ -92,8 +92,6 @@ public class Analyzer { return analyzer; } - private static final String FUNCTION_NAME_TEMP = "%s%s"; - private List samples; private final String metricName; @@ -250,7 +248,7 @@ public class Analyzer { final String dataType, final DownsamplingType downsamplingType) { String functionName = String.format( - FUNCTION_NAME_TEMP, downsamplingType.toString().toLowerCase(), StringUtils.capitalize(dataType)); + "%s%s", downsamplingType.toString().toLowerCase(), StringUtils.capitalize(dataType)); meterSystem.create(metricName, functionName, scopeType); } @@ -272,6 +270,7 @@ public class Analyzer { toService(requireNonNull(entity.getSourceServiceName()), entity.getLayer()); clientSide(entity); break; + default: } } else { toService(requireNonNull(entity.getServiceName()), entity.getLayer()); diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/AnalysisResult.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/AnalysisResult.java index acaa5e9afe..68c493985e 100644 --- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/AnalysisResult.java +++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/AnalysisResult.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oal.rt.parser; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import lombok.Getter; import lombok.Setter; @@ -91,7 +91,7 @@ public class AnalysisResult { public void addPersistentField(String fieldName, String columnName, Class type) { if (persistentFields == null) { - persistentFields = new LinkedList<>(); + persistentFields = new ArrayList<>(); } DataColumn dataColumn = new DataColumn(fieldName, columnName, type); persistentFields.add(dataColumn); diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/OALScripts.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/OALScripts.java index 08deadd943..18f16a2aa3 100644 --- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/OALScripts.java +++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/OALScripts.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oal.rt.parser; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import lombok.Getter; @@ -28,7 +28,7 @@ public class OALScripts { private DisableCollection disableCollection; public OALScripts() { - metricsStmts = new LinkedList<>(); + metricsStmts = new ArrayList<>(); disableCollection = new DisableCollection(); } } diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/PersistenceColumns.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/PersistenceColumns.java index 195e3f8474..30280c22a4 100644 --- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/PersistenceColumns.java +++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/PersistenceColumns.java @@ -18,15 +18,15 @@ package org.apache.skywalking.oal.rt.parser; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; public class PersistenceColumns { - private List stringFields = new LinkedList<>(); - private List longFields = new LinkedList<>(); - private List doubleFields = new LinkedList<>(); - private List intFields = new LinkedList<>(); - private List objectFields = new LinkedList<>(); + private List stringFields = new ArrayList<>(); + private List longFields = new ArrayList<>(); + private List doubleFields = new ArrayList<>(); + private List intFields = new ArrayList<>(); + private List objectFields = new ArrayList<>(); public void addStringField(String fieldName) { stringFields.add(new PersistenceField(fieldName, "String")); diff --git a/oap-server/pom.xml b/oap-server/pom.xml index 4773dac3cf..f80a53fc77 100755 --- a/oap-server/pom.xml +++ b/oap-server/pom.xml @@ -17,7 +17,8 @@ ~ --> - + apm org.apache.skywalking @@ -51,7 +52,7 @@ UTF-8 - + 2.4.1 2.4.6.RELEASE @@ -87,6 +88,10 @@ org.testcontainers testcontainers + + com.google.errorprone + error_prone_annotations + diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java index 2768c718a9..542ce7d8d0 100644 --- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java +++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.cluster.plugin.zookeeper; import com.google.common.collect.Lists; +import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; import java.util.List; import org.apache.curator.RetryPolicy; @@ -114,7 +115,7 @@ public class ClusterModuleZookeeperProvider extends ModuleProvider { } }; builder.aclProvider(provider); - builder.authorization(config.getSchema(), config.getExpression().getBytes()); + builder.authorization(config.getSchema(), config.getExpression().getBytes(StandardCharsets.UTF_8)); } client = builder.build(); diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/SWInstanceSerializer.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/SWInstanceSerializer.java index 243fceab1d..ef879a1a90 100644 --- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/SWInstanceSerializer.java +++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/SWInstanceSerializer.java @@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.cluster.plugin.zookeeper; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import java.nio.charset.StandardCharsets; import org.apache.curator.x.discovery.ServiceInstance; import org.apache.curator.x.discovery.details.InstanceSerializer; import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; @@ -30,7 +31,7 @@ public class SWInstanceSerializer implements InstanceSerializer @Override public byte[] serialize(ServiceInstance instance) throws Exception { - return gson.toJson(instance).getBytes(); + return gson.toJson(instance).getBytes(StandardCharsets.UTF_8); } @Override diff --git a/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegister.java b/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegister.java index 604d2b16e3..e4ae9c83cb 100644 --- a/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegister.java +++ b/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegister.java @@ -208,7 +208,7 @@ public abstract class ConfigWatcherRegister implements DynamicConfigurationServi public abstract Optional readGroupConfig(Set keys); - public class Register { + static class Register { private Map register = new HashMap<>(); private boolean containsKey(String key) { @@ -255,7 +255,7 @@ public abstract class ConfigWatcherRegister implements DynamicConfigurationServi } @Getter - protected class WatcherHolder { + protected static class WatcherHolder { private ConfigChangeWatcher watcher; private final String key; diff --git a/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigWatcherRegister.java b/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigWatcherRegister.java index 74f459b712..82eb49798c 100644 --- a/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigWatcherRegister.java +++ b/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigWatcherRegister.java @@ -18,6 +18,7 @@ package org.apache.skywalking.oap.server.configuration.zookeeper; +import java.nio.charset.StandardCharsets; import java.util.Optional; import java.util.Set; import lombok.extern.slf4j.Slf4j; @@ -54,7 +55,7 @@ public class ZookeeperConfigWatcherRegister extends ConfigWatcherRegister { ChildData data = this.childrenCache.getCurrentData(this.prefix + s); String itemValue = null; if (data != null && data.getData() != null) { - itemValue = new String(data.getData()); + itemValue = new String(data.getData(), StandardCharsets.UTF_8); } table.add(new ConfigTable.ConfigItem(s, itemValue)); }); @@ -66,21 +67,22 @@ public class ZookeeperConfigWatcherRegister extends ConfigWatcherRegister { GroupConfigTable table = new GroupConfigTable(); keys.forEach(key -> { GroupConfigTable.GroupConfigItems groupConfigItems = new GroupConfigTable.GroupConfigItems(key); - try { - client.getChildren().forPath(this.prefix + key).forEach(itemName -> { - byte[] data = null; - try { - data = client.getData().forPath(this.prefix + key + "/" + itemName); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - groupConfigItems.add( - new ConfigTable.ConfigItem(itemName, data == null ? null : new String(data))); - }); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - table.addGroupConfigItems(groupConfigItems); + try { + client.getChildren().forPath(this.prefix + key).forEach(itemName -> { + byte[] data = null; + try { + data = client.getData().forPath(this.prefix + key + "/" + itemName); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + groupConfigItems.add( + new ConfigTable.ConfigItem( + itemName, data == null ? null : new String(data, StandardCharsets.UTF_8))); + }); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + table.addGroupConfigItems(groupConfigItems); }); return Optional.of(table); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointCallRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointCallRelationDispatcher.java index 562b27ebb2..eebd98e63f 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointCallRelationDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointCallRelationDispatcher.java @@ -31,6 +31,7 @@ public class EndpointCallRelationDispatcher implements SourceDispatcher keyValues = new LinkedList<>(); + private List keyValues = new ArrayList<>(); } diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/LogHandler.java b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/LogHandler.java index 76ff9ad1a2..ac7e8a2552 100644 --- a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/LogHandler.java +++ b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/LogHandler.java @@ -34,7 +34,6 @@ import org.apache.skywalking.oap.server.telemetry.api.MetricsTag; @Slf4j public class LogHandler extends AbstractKafkaHandler { - private final KafkaFetcherConfig config; private final HistogramMetrics histogram; private final CounterMetrics errorCounter; private final ILogAnalyzerService logAnalyzerService; @@ -42,7 +41,6 @@ public class LogHandler extends AbstractKafkaHandler { public LogHandler(final ModuleManager moduleManager, final KafkaFetcherConfig config) { super(moduleManager, config); - this.config = config; this.logAnalyzerService = moduleManager.find(LogAnalyzerModule.NAME) .provider() .getService(ILogAnalyzerService.class); diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java index 7a9f6e99aa..c79ca98b47 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java @@ -19,22 +19,19 @@ package org.apache.skywalking.oap.server.library.module; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import java.util.Map; +import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.oap.server.library.util.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j class BootstrapFlow { - private static final Logger LOGGER = LoggerFactory.getLogger(BootstrapFlow.class); - private Map loadedModules; private List startupSequence; BootstrapFlow(Map loadedModules) throws CycleDependencyException, ModuleNotFoundException { this.loadedModules = loadedModules; - startupSequence = new LinkedList<>(); + startupSequence = new ArrayList<>(); makeSequence(); } @@ -43,7 +40,7 @@ class BootstrapFlow { void start( ModuleManager moduleManager) throws ModuleNotFoundException, ServiceNotProvidedException, ModuleStartException { for (ModuleProvider provider : startupSequence) { - LOGGER.info("start the provider {} in {} module.", provider.name(), provider.getModuleName()); + log.info("start the provider {} in {} module.", provider.name(), provider.getModuleName()); provider.requiredCheck(provider.getModule().services()); provider.start(); diff --git a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/ssl/PrivateKeyUtil.java b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/ssl/PrivateKeyUtil.java index 7128d2fb9b..59b227ecea 100644 --- a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/ssl/PrivateKeyUtil.java +++ b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/ssl/PrivateKeyUtil.java @@ -67,7 +67,7 @@ public class PrivateKeyUtil { 0x4, (byte) 0x82, (byte) ((pkcs1Length >> 8) & 0xff), (byte) (pkcs1Length & 0xff) // Octet string + length }; StringBuilder pkcs8 = new StringBuilder(PKCS_8_PEM_HEADER); - pkcs8.append("\n").append(new String(Base64.getEncoder().encode(join(pkcs8Header, pkcs1Bytes)))); + pkcs8.append("\n").append(new String(Base64.getEncoder().encode(join(pkcs8Header, pkcs1Bytes)), StandardCharsets.UTF_8)); pkcs8.append("\n").append(PKCS_8_PEM_FOOTER); return new ByteArrayInputStream(pkcs8.toString().getBytes()); } diff --git a/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/ResourceUtils.java b/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/ResourceUtils.java index 93b26207a7..343063b5cd 100644 --- a/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/ResourceUtils.java +++ b/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/ResourceUtils.java @@ -24,6 +24,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; @@ -34,7 +35,7 @@ import java.util.Set; public class ResourceUtils { public static Reader read(String fileName) throws FileNotFoundException { - return new InputStreamReader(readToStream(fileName)); + return new InputStreamReader(readToStream(fileName), StandardCharsets.UTF_8); } public static InputStream readToStream(String fileName) throws FileNotFoundException { diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java index d0ebe77e9a..a6988f8b56 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Mutation.java @@ -18,11 +18,14 @@ package org.apache.skywalking.oap.query.graphql.resolver; +import com.google.errorprone.annotations.Keep; import graphql.kickstart.tools.GraphQLMutationResolver; +import org.apache.skywalking.oap.server.core.version.Version; /** * Root mutation resolver. */ public class Mutation implements GraphQLMutationResolver { - private String version = "8.0"; + @Keep // GraphQL picks this as version + private String version = Version.CURRENT.toString(); } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java index 565e2a1120..1186c194c3 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/Query.java @@ -18,6 +18,7 @@ package org.apache.skywalking.oap.query.graphql.resolver; +import com.google.errorprone.annotations.Keep; import graphql.kickstart.tools.GraphQLQueryResolver; import org.apache.skywalking.oap.server.core.version.Version; @@ -25,6 +26,6 @@ import org.apache.skywalking.oap.server.core.version.Version; * Root Query Resolver. */ public class Query implements GraphQLQueryResolver { - @SuppressWarnings("unused") // Used in GraphQL query + @Keep // GraphQL picks this as version private final String version = Version.CURRENT.toString(); } diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/ErrorLogParserListenerManager.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/ErrorLogParserListenerManager.java index f7aea0f505..47fd9d5444 100644 --- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/ErrorLogParserListenerManager.java +++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/ErrorLogParserListenerManager.java @@ -17,14 +17,14 @@ package org.apache.skywalking.oap.server.receiver.browser.provider.parser.errorlog; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import lombok.Getter; import org.apache.skywalking.oap.server.receiver.browser.provider.parser.errorlog.listener.ErrorLogListenerFactory; public class ErrorLogParserListenerManager { @Getter - private final List errorLogAnalysisListeners = new LinkedList<>(); + private final List errorLogAnalysisListeners = new ArrayList<>(); public void add(final ErrorLogListenerFactory factory) { errorLogAnalysisListeners.add(factory); diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/performance/PerfDataParserListenerManager.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/performance/PerfDataParserListenerManager.java index 1d369c233e..46b8ae7182 100644 --- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/performance/PerfDataParserListenerManager.java +++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/performance/PerfDataParserListenerManager.java @@ -17,14 +17,14 @@ package org.apache.skywalking.oap.server.receiver.browser.provider.parser.performance; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import lombok.Getter; import org.apache.skywalking.oap.server.receiver.browser.provider.parser.performance.listener.PerfDataListenerFactory; public class PerfDataParserListenerManager { @Getter - private final List perfDataListenerFactories = new LinkedList<>(); + private final List perfDataListenerFactories = new ArrayList<>(); public void add(final PerfDataListenerFactory factory) { perfDataListenerFactories.add(factory); diff --git a/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/ReceiverGRPCHandlerRegister.java b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/ReceiverGRPCHandlerRegister.java index 9bacdb94cd..69c7f400f8 100644 --- a/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/ReceiverGRPCHandlerRegister.java +++ b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/ReceiverGRPCHandlerRegister.java @@ -22,7 +22,7 @@ import io.grpc.BindableService; import io.grpc.ServerInterceptor; import io.grpc.ServerInterceptors; import io.grpc.ServerServiceDefinition; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import lombok.Setter; import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister; @@ -31,7 +31,7 @@ public class ReceiverGRPCHandlerRegister implements GRPCHandlerRegister { @Setter private GRPCHandlerRegister grpcHandlerRegister; - private List interceptors = new LinkedList<>(); + private List interceptors = new ArrayList<>(); @Override public void addHandler(BindableService handler) { diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/ProfileThreadSnapshotQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/ProfileThreadSnapshotQuery.java index 4adf3ce559..866e9aca14 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/ProfileThreadSnapshotQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/ProfileThreadSnapshotQuery.java @@ -25,17 +25,16 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Base64; import java.util.Collections; -import java.util.LinkedList; import java.util.List; import java.util.Objects; import lombok.extern.slf4j.Slf4j; -import org.apache.skywalking.oap.server.library.util.StringUtil; import org.apache.skywalking.oap.server.core.analysis.IDManager; import org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord; import org.apache.skywalking.oap.server.core.profiling.trace.ProfileThreadSnapshotRecord; import org.apache.skywalking.oap.server.core.query.type.BasicTrace; import org.apache.skywalking.oap.server.core.storage.profiling.trace.IProfileThreadSnapshotQueryDAO; import org.apache.skywalking.oap.server.library.util.BooleanUtils; +import org.apache.skywalking.oap.server.library.util.StringUtil; import org.apache.skywalking.oap.server.storage.plugin.influxdb.InfluxClient; import org.apache.skywalking.oap.server.storage.plugin.influxdb.InfluxConstants; import org.influxdb.dto.QueryResult; @@ -65,7 +64,7 @@ public class ProfileThreadSnapshotQuery implements IProfileThreadSnapshotQueryDA countQuery.and(eq(ProfileThreadSnapshotRecord.TASK_ID, taskId)) .and(eq(ProfileThreadSnapshotRecord.SEQUENCE, 0)); - final LinkedList segments = new LinkedList<>(); + final List segments = new ArrayList<>(); QueryResult.Series series = client.queryForSingleSeries(countQuery); if (Objects.isNull(series)) { return Collections.emptyList(); diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TraceQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TraceQuery.java index b19eae6599..42df36280e 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TraceQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TraceQuery.java @@ -121,6 +121,7 @@ public class TraceQuery implements ITraceQueryDAO { case SUCCESS: recallQuery.and(eq(SegmentRecord.IS_ERROR, BooleanUtils.FALSE)); break; + default: } if (CollectionUtils.isNotEmpty(tags)) { WhereNested> nested = recallQuery.andNested(); diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2ProfileTaskLogQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2ProfileTaskLogQueryDAO.java index 95757f8fe3..3eca06a479 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2ProfileTaskLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2ProfileTaskLogQueryDAO.java @@ -18,6 +18,12 @@ package org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao; +import java.io.IOException; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskLogRecord; import org.apache.skywalking.oap.server.core.query.type.ProfileTaskLog; import org.apache.skywalking.oap.server.core.query.type.ProfileTaskLogOperationType; @@ -25,14 +31,6 @@ import org.apache.skywalking.oap.server.core.storage.profiling.trace.IProfileTas import org.apache.skywalking.oap.server.library.client.jdbc.JDBCClientException; import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient; -import java.io.IOException; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - public class H2ProfileTaskLogQueryDAO implements IProfileTaskLogQueryDAO { private JDBCHikariCPClient h2Client; @@ -50,7 +48,7 @@ public class H2ProfileTaskLogQueryDAO implements IProfileTaskLogQueryDAO { try (Connection connection = h2Client.getConnection()) { try (ResultSet resultSet = h2Client.executeQuery(connection, sql.toString(), condition.toArray(new Object[0]))) { - final LinkedList tasks = new LinkedList<>(); + final List tasks = new ArrayList<>(); while (resultSet.next()) { tasks.add(parseLog(resultSet)); } diff --git a/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/api/HistogramMetrics.java b/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/api/HistogramMetrics.java index a3215a2035..dd78e378fd 100644 --- a/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/api/HistogramMetrics.java +++ b/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/api/HistogramMetrics.java @@ -36,7 +36,7 @@ public abstract class HistogramMetrics { */ public abstract void observe(double value); - public class Timer implements Closeable { + public static class Timer implements Closeable { private final HistogramMetrics metrics; private final long startNanos; private double duration; diff --git a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusMetricsCollector.java b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusMetricsCollector.java index 382ce83878..6db4250e1f 100644 --- a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusMetricsCollector.java +++ b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusMetricsCollector.java @@ -22,7 +22,6 @@ import io.prometheus.client.Collector; import io.prometheus.client.CollectorRegistry; import java.util.ArrayList; import java.util.Enumeration; -import java.util.LinkedList; import java.util.List; import org.apache.skywalking.oap.server.telemetry.api.MetricFamily; import org.apache.skywalking.oap.server.telemetry.api.MetricsCollector; @@ -30,7 +29,7 @@ import org.apache.skywalking.oap.server.telemetry.api.MetricsCollector; public class PrometheusMetricsCollector implements MetricsCollector { @Override public Iterable collect() { Enumeration mfs = CollectorRegistry.defaultRegistry.metricFamilySamples(); - List result = new LinkedList<>(); + List result = new ArrayList<>(); while (mfs.hasMoreElements()) { Collector.MetricFamilySamples metricFamilySamples = mfs.nextElement(); List samples = new ArrayList<>(metricFamilySamples.samples.size()); diff --git a/tools/dependencies/known-oap-backend-dependencies.txt b/tools/dependencies/known-oap-backend-dependencies.txt index 4da9f858ba..341a39a5da 100755 --- a/tools/dependencies/known-oap-backend-dependencies.txt +++ b/tools/dependencies/known-oap-backend-dependencies.txt @@ -39,7 +39,7 @@ curator-client-4.3.0.jar curator-framework-4.3.0.jar curator-recipes-4.3.0.jar curator-x-discovery-4.3.0.jar -error_prone_annotations-2.3.2.jar +error_prone_annotations-2.11.0.jar failsafe-2.3.4.jar failureaccess-1.0.1.jar flatbuffers-java-1.12.0.jar