Uploaded image for project: 'Ratis'
  1. Ratis
  2. RATIS-522

NPE on client in LogService from verification

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • LogService
    • None

    Description

      2019-04-09 18:32:17,016 ERROR server.LogStateMachine (VerificationTool.java:waitForCompletion(85)) - Got exception
      java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.IOException: java.io.IOException: java.lang.NullPointerException
          at java.util.concurrent.FutureTask.report(FutureTask.java:122)
          at java.util.concurrent.FutureTask.get(FutureTask.java:192)
          at org.apache.ratis.logservice.tool.VerificationTool.waitForCompletion(VerificationTool.java:79)
          at org.apache.ratis.logservice.tool.VerificationTool.main(VerificationTool.java:72)
      Caused by: java.lang.RuntimeException: java.io.IOException: java.io.IOException: java.lang.NullPointerException
          at org.apache.ratis.logservice.tool.VerificationTool$BulkReader.run(VerificationTool.java:155)
          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:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:748)
      Caused by: java.io.IOException: java.io.IOException: java.lang.NullPointerException
          at org.apache.ratis.logservice.impl.LogReaderImpl.readNext(LogReaderImpl.java:98)
          at org.apache.ratis.logservice.tool.VerificationTool$BulkReader.run(VerificationTool.java:142)
      ... 5 more
      Caused by: java.io.IOException: java.lang.NullPointerException
          at org.apache.ratis.logservice.impl.LogReaderImpl.readNext(LogReaderImpl.java:86)
      ... 6 more
      

      Saw this in the verification step of the VerificationTool. Seems like there is a situation where we don't get an Exception thrown back from the Ratis server.

            ReadLogReplyProto proto = ReadLogReplyProto.parseFrom(reply.getMessage().getContent());
            if (proto.hasException()) {
              LogServiceException e = proto.getException();
              throw new IOException(e.getErrorMsg());
            }
      

      LogReaderImpl.java:86 is on the above new IOException creation, seeming to indicate that the LogServiceException is null.

      Attachments

        Activity

          People

            Unassigned Unassigned
            elserj Josh Elser
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: