title: Jetty retrying requests when Exception thrown by RequestHandler
body: <p>I notice <code>Jetty</code> is retrying calls to the specified <code>Handler</code> whenever <code>handle</code> throws an Exception. </p>
  
  <p>This is unwelcome behavior but I can't seem to find the configuration setting to stop it.</p>
  
  <p>I've been using Jetty for a while, but recently upgraded my environment to use <code>9.4.9.v20180320</code>. This may or may not be new behavior but I've never noticed it.</p>
  
  <p>Below is a simple use case illustrating my issue. Notice how the there are two lines in the output indicating the body content, however confusingly on the second attempt the body is empty.</p>
  
  <pre><code>public class JettyTest extends AbstractHandler
  {
      @Override
      public void handle(String arg0, Request arg1, HttpServletRequest arg2, HttpServletResponse arg3)
      throws IOException
      {
          //read request body into string
          ByteArrayOutputStream bos = new ByteArrayOutputStream();
          //apache commons copy
          IOUtils.copy(arg1.getInputStream(), bos);
          String body = new String(bos.toByteArray());
          System.out.println("request body: " + body);
          throw new NullPointerException();
      }
  
      public static void main(String args[])
      throws Exception
      {
          Server server = new Server();
          server.setHandler(new JettyTest());
          LocalConnector localConnector = new LocalConnector(server);
          server.addConnector(localConnector);
          server.start();
          String simpleRequest = "GET / http/1.1\r\nHost: localhost:0\r\nContent-Type: text/plain\r\nContent-Length: 2\r\n\r\nhi";
          String response = localConnector.getResponse(simpleRequest);
          server.join();
      }
  
  }
  </code></pre>
  
  <p>Output</p>
  
  <pre><code>2018-03-26 19:47:49.590:INFO:oejs.Server:main: Started @327ms
  
  request body: hi
  
  2018-03-26 19:47:49.660:WARN:oejs.HttpChannel:qtp1349277854-12: /
  java.lang.NullPointerException
      at test.JettyTest.handle(JettyTest.java:28)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.Server.handle(Server.java:531)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
      at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
      at org.eclipse.jetty.io.ByteArrayEndPoint$1.run(ByteArrayEndPoint.java:78)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
      at java.lang.Thread.run(Thread.java:748)
  
  request body: 
  </code></pre>