Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17539

LocalFS does not allow setting storage policy so spew running in local mode

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      commit f92a14ade635e4b081f3938620979b5864ac261f
      Author: Yu Li <liyu@apache.org>
      Date: Mon Jan 9 09:52:58 2017 +0800

      HBASE-14061 Support CF-level Storage Policy

      ...added setting storage policy which is nice. Being able to set storage policy came in in hdfs 2.6.0 (HDFS-6584 Support Archival Storage) but you can only do this for DFS, not for local FS.

      Upshot is that starting up hbase in standalone mode, which uses localfs, you get this exception every time:

      2017-01-25 12:26:53,400 WARN  [StoreOpener-93375c645ef2e649620b5d8ed9375985-1] fs.HFileSystem: Failed to set storage policy of [file:/var/folders/d8/8lyxycpd129d4fj7lb684dwh0000gp/T/hbase-stack/hbase/data/hbase/namespace/93375c645ef2e649620b5d8ed9375985/info] to [HOT]
      java.lang.UnsupportedOperationException: Cannot find specified method setStoragePolicy
              at org.apache.hadoop.hbase.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:209)
              at org.apache.hadoop.hbase.fs.HFileSystem.setStoragePolicy(HFileSystem.java:161)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.apache.hadoop.hbase.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:207)
              at org.apache.hadoop.hbase.regionserver.HRegionFileSystem.setStoragePolicy(HRegionFileSystem.java:198)
              at org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:237)
              at org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:5265)
              at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:988)
              at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:985)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NoSuchMethodException: org.apache.hadoop.fs.LocalFileSystem.setStoragePolicy(org.apache.hadoop.fs.Path, java.lang.String)
              at java.lang.Class.getMethod(Class.java:1786)
              at org.apache.hadoop.hbase.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:205)
      ...
      

      It is distracting at the least. Let me fix.

      Attachments

        Activity

          People

            stack Michael Stack
            stack Michael Stack
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: