Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-22410

CachedStore Prewarm Failure NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Works for Me
    • 2.3.7, 3.1.2
    • 3.1.3
    • Standalone Metastore
    • JDK 1.7.0_40

    Description

      java.lang.NullPointerException
      at org.apache.hadoop.hive.metastore.utils.IncrementalObjectSizeEstimator$ObjectEstimator.estimateArrayElements(IncrementalObjectSizeEstimator.java:501) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.utils.IncrementalObjectSizeEstimator$ObjectEstimator.estimate(IncrementalObjectSizeEstimator.java:443) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.utils.IncrementalObjectSizeEstimator$ObjectEstimator.estimate(IncrementalObjectSizeEstimator.java:433) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.utils.IncrementalObjectSizeEstimator$ObjectEstimator.estimate(IncrementalObjectSizeEstimator.java:369) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.cached.SharedCache.populateTableInCache(SharedCache.java:1028) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.cached.CachedStore.prewarm(CachedStore.java:314) ~[hive-metastore-2.3.5.jar:2.3.5]
      at org.apache.hadoop.hive.metastore.cached.CachedStore$CacheUpdateMasterWork.run(CachedStore.java:492) [hive-metastore-2.3.5.jar:2.3.5]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_40]
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [?:1.7.0_40]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [?:1.7.0_40]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.7.0_40]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_40]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_40]
      at java.lang.Thread.run(Thread.java:724) [?:1.7.0_40]

      reason:
      Methods estimateArrayElements throw NPE

      I found that the last class does not appear in the parent (HashMap<Class<?>, Object Estimator> ), and the parent does not contain the information of the ConcurrentHashMap Class.

      The solution is to initialize the class information before using it.

      Attachments

        1. image-2019-11-01-11-14-42-114.png
          24 kB
          Shilun Fan
        2. HIVE-22410.1.patch
          0.9 kB
          Shilun Fan

        Activity

          People

            slfan1989 Shilun Fan
            slfan1989 Shilun Fan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: