Uploaded image for project: 'Hadoop Distributed Data Store'
  1. Hadoop Distributed Data Store
  2. HDDS-1854

Print intuitive error message at client when the pipeline returned by SCM has no datanode

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Ozone Client
    • Labels:
      None
    • Target Version/s:

      Description

      We are throwing IllegalArgumentException in OzoneClient when the pipeline returned by SCM doesn't have any datanode information. Instead of throwing IllegalArgumentException, we can throw custom user friendly exception which is easy to understand.
      Existing exception trace:

      AssertionError: Ozone get Key failed with output=[java.lang.IllegalArgumentException
             	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)
             	at org.apache.hadoop.hdds.scm.XceiverClientManager.acquireClient(XceiverClientManager.java:150)
             	at org.apache.hadoop.hdds.scm.XceiverClientManager.acquireClientForReadData(XceiverClientManager.java:143)
             	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:222)
             	at org.apache.hadoop.ozone.client.io.KeyInputStream.read(KeyInputStream.java:171)
             	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)]
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nanda Nanda kumar
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: