Matt,
Thanks for the repro test case!
I've let it run for nearly 3mins and didn't get the problem, however I did get an OutOfMemoryException, so there's something not quite right with the test:
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
at java.util.concurrent.FutureTask.report (FutureTask.java:122)
at java.util.concurrent.FutureTask.get (FutureTask.java:191)
at Main.main (Main.java:61)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:297)
at java.lang.Thread.run (Thread.java:834)
I think you should open an issue in the jetty issue tracker, and link to your repro on github and we'll take it from there. Be good if you took another look at the repro and fixed the OOM issue so we aren't muddying the waters.
cheers
Jan