Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4486

Compaction from Shell hangs on Unknown property

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • 1.8.0
    • None
    • shell, tserver
    • None

    Description

      I was following the sampling example when I mistyped one of the table properties. After realizing this I entered the correct property but didn't remove the bad one. I then ran the "compact" command but the shell hung indefinitely. There was an IllegalArgumentException printed in the log but I believe the bug is how the shell (or Compactor) mishandled the exception, never returning control to the user. Eventually I did get a warning on the shell "WARN : Thread "shell" stuck on IO.." but never regained control of the shell. Here are the commands run:

      createtable sampex
      insert 9255 doc content 'abcde'
      insert 9255 doc url file://foo.txt
      insert 8934 doc content 'accumulo scales'
      insert 8934 doc url file://accumulo_notes.txt
      insert 2317 doc content 'milk, eggs, bread, parmigiano-reggiano'
      insert 2317 doc url file://groceries/9.txt
      insert 3900 doc content 'EC2 ate my homework'
      insert 3900 doc uril file://final_project.txt
      config -t sampex -s table.sampler=org.apache.accumulo.core.client.sample.RowSampler
      config -t sampex -s table.sampler.opt.haser=murmur3_32
      config -t sampex -s table.sampler.opt.hasher=murmur3_32
      config -t sampex -s table.sampler.opt.modulus=3
      compact -t sampex --sf-no-sample
      

      Stacktrace of the exception printed in the tserver log:

      2016-10-05 13:13:25,299 [tablet.Compactor] ERROR: Unknown option : haser
      java.lang.IllegalArgumentException: Unknown option : haser
              at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
              at org.apache.accumulo.core.client.sample.AbstractHashSampler.init(AbstractHashSampler.java:81)
              at org.apache.accumulo.core.sample.impl.SamplerFactory.newSampler(SamplerFactory.java:40)
              at org.apache.accumulo.core.file.rfile.RFileOperations.openWriter(RFileOperations.java:91)
              at org.apache.accumulo.core.file.DispatchingFileFactory.openWriter(DispatchingFileFactory.java:74)
              at org.apache.accumulo.core.file.FileOperations$OpenWriterOperation.build(FileOperations.java:331)
              at org.apache.accumulo.tserver.tablet.Compactor.call(Compactor.java:201)
              at org.apache.accumulo.tserver.tablet.MinorCompactor.call(MinorCompactor.java:111)
              at org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:811)
              at org.apache.accumulo.tserver.tablet.MinorCompactionTask.run(MinorCompactionTask.java:84)
              at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
              at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
              at java.lang.Thread.run(Thread.java:745)
      2016-10-05 13:13:25,299 [tablet.MinorCompactor] WARN : MinC failed (Unknown option : haser) to create hdfs://localhost:10000/accumulo/tables/2/default_tablet/F0000000.rf_tmp retrying ...
      java.lang.IllegalArgumentException: Unknown option : haser
              at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
              at org.apache.accumulo.core.client.sample.AbstractHashSampler.init(AbstractHashSampler.java:81)
              at org.apache.accumulo.core.sample.impl.SamplerFactory.newSampler(SamplerFactory.java:40)
              at org.apache.accumulo.core.file.rfile.RFileOperations.openWriter(RFileOperations.java:91)
              at org.apache.accumulo.core.file.DispatchingFileFactory.openWriter(DispatchingFileFactory.java:74)
              at org.apache.accumulo.core.file.FileOperations$OpenWriterOperation.build(FileOperations.java:331)
              at org.apache.accumulo.tserver.tablet.Compactor.call(Compactor.java:201)
              at org.apache.accumulo.tserver.tablet.MinorCompactor.call(MinorCompactor.java:111)
              at org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:811)
              at org.apache.accumulo.tserver.tablet.MinorCompactionTask.run(MinorCompactionTask.java:84)
              at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
              at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
              at java.lang.Thread.run(Thread.java:745)
      
      

      The thread will then sleep:
      2016-10-05 13:13:25,324 [tablet.MinorCompactor] DEBUG: MinC failed sleeping 10116 ms before retrying

      Attachments

        Activity

          People

            Unassigned Unassigned
            milleruntime Michael Miller
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: