Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-2406

ozone shell key get throws IllegalArgumentException if pipeline is empty

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.0.0
    • Ozone CLI
    • None

    Description

      ozone shell key get throws when trying to get a key from a pipeline whose datanodes are all down:

      java.lang.IllegalArgumentException
      	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)
      	at org.apache.hadoop.hdds.scm.XceiverClientManager.acquireClient(XceiverClientManager.java:169)
      	at org.apache.hadoop.hdds.scm.XceiverClientManager.acquireClientForReadData(XceiverClientManager.java:162)
      	at org.apache.hadoop.hdds.scm.storage.BlockInputStream.getChunkInfos(BlockInputStream.java:154)
      	at org.apache.hadoop.hdds.scm.storage.BlockInputStream.initialize(BlockInputStream.java:118)
      	at org.apache.hadoop.hdds.scm.storage.BlockInputStream.read(BlockInputStream.java:224)
      	at org.apache.hadoop.ozone.client.io.KeyInputStream.read(KeyInputStream.java:173)
      	at org.apache.hadoop.ozone.client.io.OzoneInputStream.read(OzoneInputStream.java:47)
      	at java.base/java.io.InputStream.read(InputStream.java:205)
      	at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:94)
      	at org.apache.hadoop.ozone.web.ozShell.keys.GetKeyHandler.call(GetKeyHandler.java:98)
      	at org.apache.hadoop.ozone.web.ozShell.keys.GetKeyHandler.call(GetKeyHandler.java:48)
      	at picocli.CommandLine.execute(CommandLine.java:1173)
      	at picocli.CommandLine.access$800(CommandLine.java:141)
      	at picocli.CommandLine$RunLast.handle(CommandLine.java:1367)
      	at picocli.CommandLine$RunLast.handle(CommandLine.java:1335)
      	at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243)
      	at picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)
      	at picocli.CommandLine.parseWithHandler(CommandLine.java:1465)
      	at org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:65)
      	at org.apache.hadoop.ozone.web.ozShell.OzoneShell.execute(OzoneShell.java:60)
      	at org.apache.hadoop.hdds.cli.GenericCli.run(GenericCli.java:56)
      	at org.apache.hadoop.ozone.web.ozShell.OzoneShell.main(OzoneShell.java:53)
      

      I think the exception should be caught and shell should output a more friendly / less verbose message.

      Attachments

        Issue Links

          Activity

            People

              flirmnave Huang-Mu Zheng
              adoroszlai Attila Doroszlai
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: