Uploaded image for project: 'Kylin'
  1. Kylin
  2. KYLIN-3836

Kylin StringUtil.join() may cause NPE if iterator is empty

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • v2.6.1
    • None
    • None

    Description

      public static String join(Iterable<String> parts, String separator) {
          StringBuilder buf = new StringBuilder();
          Iterator<String> iterator = parts.iterator();
          if (iterator == null || (!iterator.hasNext())) {
              return null;
          }
      

      org.apache.kylin.job.exception.ExecuteException: org.apache.kylin.job.exception.ExecuteException: java.lang.NullPointerException
      at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:183)
      at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:114)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: org.apache.kylin.job.exception.ExecuteException: java.lang.NullPointerException
      at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:183)
      at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:71)
      at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:168)
      ... 4 more
      Caused by: java.lang.NullPointerException
      at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
      at com.google.common.base.Splitter.split(Splitter.java:383)
      at org.apache.kylin.common.util.StringUtil.splitAndTrim(StringUtil.java:181)
      at org.apache.kylin.source.hive.GarbageCollectionStep.getIntermediateTables(GarbageCollectionStep.java:95)
      at org.apache.kylin.source.hive.GarbageCollectionStep.cleanUpIntermediateFlatTable(GarbageCollectionStep.java:62)
      at org.apache.kylin.source.hive.GarbageCollectionStep.doWork(GarbageCollectionStep.java:48)
      at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:168)
      ... 6 more

      Attachments

        Issue Links

          Activity

            People

              Wayne0101 Chao Long
              Wayne0101 Chao Long
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: