Merge remote-tracking branch 'origin/jetty-9.4.x'

This commit is contained in:
Greg Wilkins 2017-10-20 10:45:46 +11:00
commit a210add95a
4 changed files with 21 additions and 8 deletions

View File

@ -203,10 +203,10 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable
{ {
EndPoint endPoint = _selectorManager.newEndPoint(channel, this, selectionKey); EndPoint endPoint = _selectorManager.newEndPoint(channel, this, selectionKey);
endPoint.onOpen(); endPoint.onOpen();
_selectorManager.endPointOpened(endPoint);
Connection connection = _selectorManager.newConnection(channel, endPoint, selectionKey.attachment()); Connection connection = _selectorManager.newConnection(channel, endPoint, selectionKey.attachment());
endPoint.setConnection(connection); endPoint.setConnection(connection);
selectionKey.attach(endPoint); selectionKey.attach(endPoint);
_selectorManager.endPointOpened(endPoint);
_selectorManager.connectionOpened(connection); _selectorManager.connectionOpened(connection);
if (LOG.isDebugEnabled()) if (LOG.isDebugEnabled())
LOG.debug("Created {}", endPoint); LOG.debug("Created {}", endPoint);

View File

@ -203,11 +203,12 @@ public class LocalConnector extends AbstractConnector
if (LOG.isDebugEnabled()) if (LOG.isDebugEnabled())
LOG.debug("accepting {}", acceptorID); LOG.debug("accepting {}", acceptorID);
LocalEndPoint endPoint = _connects.take(); LocalEndPoint endPoint = _connects.take();
endPoint.onOpen();
onEndPointOpened(endPoint);
Connection connection = getDefaultConnectionFactory().newConnection(this, endPoint); Connection connection = getDefaultConnectionFactory().newConnection(this, endPoint);
endPoint.setConnection(connection); endPoint.setConnection(connection);
endPoint.onOpen();
onEndPointOpened(endPoint);
connection.onOpen(); connection.onOpen();
} }

View File

@ -526,15 +526,27 @@ public class QueuedThreadPool extends AbstractLifeCycle implements SizedThreadPo
String knownMethod = ""; String knownMethod = "";
for (StackTraceElement t : trace) for (StackTraceElement t : trace)
{ {
if ("idleJobPoll".equals(t.getMethodName())) if ("idleJobPoll".equals(t.getMethodName()) && t.getClassName().endsWith("QueuedThreadPool"))
{ {
knownMethod = "IDLE "; knownMethod = "IDLE ";
break; break;
} }
if ("preallocatedWait".equals(t.getMethodName())) if ("reservedWait".equals(t.getMethodName()) && t.getClassName().endsWith("ReservedThread"))
{ {
knownMethod = "PREALLOCATED "; knownMethod = "RESERVED ";
break;
}
if ("select".equals(t.getMethodName()) && t.getClassName().endsWith("SelectorProducer"))
{
knownMethod = "SELECTING ";
break;
}
if ("accept".equals(t.getMethodName()) && t.getClassName().contains("ServerConnector"))
{
knownMethod = "ACCEPTING ";
break; break;
} }
} }

View File

@ -256,8 +256,8 @@ public class ReservedThreadExecutor extends AbstractLifeCycle implements Executo
public String toString() public String toString()
{ {
if (_owner==null) if (_owner==null)
return String.format("%s@%x{s=%d,p=%d}",this.getClass().getSimpleName(),hashCode(),_size.get(),_pending.get()); return String.format("%s@%x{s=%d/%d,p=%d}",this.getClass().getSimpleName(),hashCode(),_size.get(),_capacity,_pending.get());
return String.format("%s@%s{s=%d,p=%d}",this.getClass().getSimpleName(),_owner,_size.get(),_pending.get()); return String.format("%s@%s{s=%d/%d,p=%d}",this.getClass().getSimpleName(),_owner,_size.get(),_capacity,_pending.get());
} }
private class ReservedThread extends ConcurrentStack.Node implements Runnable private class ReservedThread extends ConcurrentStack.Node implements Runnable