You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/03/31 10:50:14 UTC

[kylin] branch master updated: minor, fix several findbugs issues

This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 6745acb  minor, fix several findbugs issues
6745acb is described below

commit 6745acb9d6c2732261938aebabd801b9bcea3963
Author: shaofengshi <sh...@apache.org>
AuthorDate: Tue Mar 31 13:26:54 2020 +0800

    minor, fix several findbugs issues
---
 .../main/java/org/apache/kylin/cube/CubeManager.java  | 19 +++++++++----------
 .../java/org/apache/kylin/metrics/MetricsManager.java | 18 +++++++++++-------
 2 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 61e794e..6378a91 100755
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -135,7 +135,7 @@ public class CubeManager implements IRealizationProvider {
     private CubeManager(KylinConfig cfg) throws IOException {
         logger.info("Initializing CubeManager with config {}", cfg);
         this.config = cfg;
-        this.cubeMap = new CaseInsensitiveStringCache<CubeInstance>(config, "cube");
+        this.cubeMap = new CaseInsensitiveStringCache<>(config, "cube");
         this.crud = new CachedCrudAssist<CubeInstance>(getStore(), ResourceStore.CUBE_RESOURCE_ROOT, CubeInstance.class,
                 cubeMap) {
             @Override
@@ -191,7 +191,7 @@ public class CubeManager implements IRealizationProvider {
      */
     public List<CubeInstance> listAllCubes() {
         try (AutoLock lock = cubeMapLock.lockForRead()) {
-            return new ArrayList<CubeInstance>(cubeMap.values());
+            return new ArrayList<>(cubeMap.values());
         }
     }
 
@@ -237,7 +237,7 @@ public class CubeManager implements IRealizationProvider {
     public List<CubeInstance> getCubesByDesc(String descName) {
         try (AutoLock lock = cubeMapLock.lockForRead()) {
             List<CubeInstance> list = listAllCubes();
-            List<CubeInstance> result = new ArrayList<CubeInstance>();
+            List<CubeInstance> result = new ArrayList<>();
             Iterator<CubeInstance> it = list.iterator();
             while (it.hasNext()) {
                 CubeInstance ci = it.next();
@@ -301,8 +301,7 @@ public class CubeManager implements IRealizationProvider {
     // try minimize the use of this method, use udpateCubeXXX() instead
     public CubeInstance updateCube(CubeUpdate update) throws IOException {
         try (AutoLock lock = cubeMapLock.lockForWrite()) {
-            CubeInstance cube = updateCubeWithRetry(update, 0);
-            return cube;
+            return updateCubeWithRetry(update, 0);
         }
     }
 
@@ -318,7 +317,7 @@ public class CubeManager implements IRealizationProvider {
 
     public CubeInstance updateCubeDropSegments(CubeInstance cube, Collection<CubeSegment> segsToDrop)
             throws IOException {
-        CubeSegment[] arr = (CubeSegment[]) segsToDrop.toArray(new CubeSegment[segsToDrop.size()]);
+        CubeSegment[] arr = segsToDrop.toArray(new CubeSegment[segsToDrop.size()]);
         return updateCubeDropSegments(cube, arr);
     }
 
@@ -593,7 +592,7 @@ public class CubeManager implements IRealizationProvider {
         String namespace = config.getHBaseStorageNameSpace();
         String tableName = "";
         do {
-            StringBuffer sb = new StringBuffer();
+            StringBuilder sb = new StringBuilder();
             if ((namespace.equals("default") || namespace.equals("")) == false) {
                 sb.append(namespace).append(":");
             }
@@ -897,7 +896,7 @@ public class CubeManager implements IRealizationProvider {
                 }
             }
 
-            if (emptySegment.size() > 0) {
+            if (!emptySegment.isEmpty()) {
                 throw new IllegalArgumentException(
                         "Empty cube segment found, couldn't merge unless 'forceMergeEmptySegment' set to true: "
                                 + emptySegment);
@@ -1078,7 +1077,7 @@ public class CubeManager implements IRealizationProvider {
             Preconditions.checkNotNull(cube);
             final List<CubeSegment> segments = cube.getSegments();
             logger.info("totally {} cubeSegments", segments.size());
-            if (segments.size() == 0) {
+            if (segments.isEmpty()) {
                 return holes;
             }
 
@@ -1213,7 +1212,7 @@ public class CubeManager implements IRealizationProvider {
                 throw new IllegalStateException("Failed to get dictionary for cube segment" + cubeSeg + ", col" + col,
                         e);
             }
-            return (Dictionary<String>) info.getDictionaryObject();
+            return info.getDictionaryObject();
         }
 
         public SnapshotTable buildSnapshotTable(CubeSegment cubeSeg, String lookupTable, String uuid)
diff --git a/core-metrics/src/main/java/org/apache/kylin/metrics/MetricsManager.java b/core-metrics/src/main/java/org/apache/kylin/metrics/MetricsManager.java
index c0fce0b..2f41220 100644
--- a/core-metrics/src/main/java/org/apache/kylin/metrics/MetricsManager.java
+++ b/core-metrics/src/main/java/org/apache/kylin/metrics/MetricsManager.java
@@ -89,17 +89,19 @@ public class MetricsManager {
             }
         }
         scSink = systemCubeSink;
-        System.gc();
     }
 
     private static void setSourceReporterBindProps(
             Map<ActiveReservoir, List<Pair<String, Properties>>> sourceReporterBindProperties) {
         sourceReporterBindProps = Maps.newHashMapWithExpectedSize(sourceReporterBindProperties.size());
-        for (ActiveReservoir activeReservoir : sourceReporterBindProperties.keySet()) {
+        for (Map.Entry<ActiveReservoir, List<Pair<String, Properties>>> entry1 : sourceReporterBindProperties
+                .entrySet()) {
+
+            ActiveReservoir activeReservoir = entry1.getKey();
             List<Pair<Class<? extends ActiveReservoirReporter>, Properties>> values = Lists
-                    .newArrayListWithExpectedSize(sourceReporterBindProperties.get(activeReservoir).size());
+                    .newArrayListWithExpectedSize(entry1.getValue().size());
             sourceReporterBindProps.put(activeReservoir, values);
-            for (Pair<String, Properties> entry : sourceReporterBindProperties.get(activeReservoir)) {
+            for (Pair<String, Properties> entry : entry1.getValue()) {
                 try {
                     Class clz = Class.forName(entry.getFirst());
                     if (ActiveReservoirReporter.class.isAssignableFrom(clz)) {
@@ -118,12 +120,14 @@ public class MetricsManager {
         if (KylinConfig.getInstanceFromEnv().isKylinMetricsMonitorEnabled()) {
             logger.info("Kylin metrics monitor is enabled.");
             int nameIdx = 0;
-            for (ActiveReservoir activeReservoir : sourceReporterBindProps.keySet()) {
+            for (Map.Entry<ActiveReservoir, List<Pair<Class<? extends ActiveReservoirReporter>, Properties>>> entry1 : sourceReporterBindProps
+                    .entrySet()) {
+                ActiveReservoir activeReservoir = entry1.getKey();
+
                 String registerName = MetricsSystem.name(MetricsManager.class,
                         "-" + nameIdx + "-" + activeReservoir.toString());
                 activeReservoirPointers.add(registerName);
-                List<Pair<Class<? extends ActiveReservoirReporter>, Properties>> reportProps = sourceReporterBindProps
-                        .get(activeReservoir);
+                List<Pair<Class<? extends ActiveReservoirReporter>, Properties>> reportProps = entry1.getValue();
                 for (Pair<Class<? extends ActiveReservoirReporter>, Properties> subEntry : reportProps) {
                     try {
                         Method method = subEntry.getFirst().getMethod(METHOD_FOR_REGISTRY, ActiveReservoir.class);