fixed some more tests after EWYK refactor
This commit is contained in:
parent
3f59bc4c14
commit
fecc03a2f5
|
@ -271,8 +271,8 @@ public class MetaData implements Iterable<HttpField>
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return String.format("%s %s %s%s%s",
|
return String.format("%s{u=%s,%s,h=%d}",
|
||||||
getMethod(), getURI(), getVersion(), System.lineSeparator(), super.toString());
|
getMethod(), getURI(), getVersion(), getFields().size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ public class MetaData implements Iterable<HttpField>
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return String.format("%s %d%s%s", getVersion(), getStatus(), System.lineSeparator(), super.toString());
|
return String.format("%s{s=%d,h=%d}", getVersion(), getStatus(), getFields().size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -656,6 +656,13 @@ public class SslConnection extends AbstractConnection
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (IllegalStateException e)
|
||||||
|
{
|
||||||
|
// Some internal error in SSLEngine
|
||||||
|
LOG.debug(e);
|
||||||
|
getEndPoint().close();
|
||||||
|
throw new EofException(e);
|
||||||
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
getEndPoint().close();
|
getEndPoint().close();
|
||||||
|
|
|
@ -514,12 +514,12 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
|
|
||||||
private class Acceptor implements Runnable
|
private class Acceptor implements Runnable
|
||||||
{
|
{
|
||||||
private final int _acceptor;
|
private final int _id;
|
||||||
private String _name;
|
private String _name;
|
||||||
|
|
||||||
private Acceptor(int id)
|
private Acceptor(int id)
|
||||||
{
|
{
|
||||||
_acceptor = id;
|
_id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -527,7 +527,7 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
{
|
{
|
||||||
final Thread thread = Thread.currentThread();
|
final Thread thread = Thread.currentThread();
|
||||||
String name=thread.getName();
|
String name=thread.getName();
|
||||||
_name=String.format("%s-acceptor-%d@%x-%s",name,_acceptor,hashCode(),AbstractConnector.this.toString());
|
_name=String.format("%s-acceptor-%d@%x-%s",name,_id,hashCode(),AbstractConnector.this.toString());
|
||||||
thread.setName(_name);
|
thread.setName(_name);
|
||||||
|
|
||||||
int priority=thread.getPriority();
|
int priority=thread.getPriority();
|
||||||
|
@ -536,7 +536,7 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
|
|
||||||
synchronized (AbstractConnector.this)
|
synchronized (AbstractConnector.this)
|
||||||
{
|
{
|
||||||
_acceptors[_acceptor] = thread;
|
_acceptors[_id] = thread;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -545,7 +545,7 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
accept(_acceptor);
|
accept(_id);
|
||||||
}
|
}
|
||||||
catch (Throwable e)
|
catch (Throwable e)
|
||||||
{
|
{
|
||||||
|
@ -564,7 +564,7 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
|
|
||||||
synchronized (AbstractConnector.this)
|
synchronized (AbstractConnector.this)
|
||||||
{
|
{
|
||||||
_acceptors[_acceptor] = null;
|
_acceptors[_id] = null;
|
||||||
}
|
}
|
||||||
CountDownLatch stopping=_stopping;
|
CountDownLatch stopping=_stopping;
|
||||||
if (stopping!=null)
|
if (stopping!=null)
|
||||||
|
@ -577,7 +577,7 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
|
||||||
{
|
{
|
||||||
String name=_name;
|
String name=_name;
|
||||||
if (name==null)
|
if (name==null)
|
||||||
return String.format("acceptor-%d@%x", _acceptor, hashCode());
|
return String.format("acceptor-%d@%x", _id, hashCode());
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -563,6 +563,14 @@ public class HttpChannelState
|
||||||
event.cancelTimeoutTask();
|
event.cancelTimeoutTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isIdle()
|
||||||
|
{
|
||||||
|
synchronized (this)
|
||||||
|
{
|
||||||
|
return _state==State.IDLE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isExpired()
|
public boolean isExpired()
|
||||||
{
|
{
|
||||||
synchronized (this)
|
synchronized (this)
|
||||||
|
@ -613,6 +621,7 @@ public class HttpChannelState
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isAsync()
|
public boolean isAsync()
|
||||||
{
|
{
|
||||||
synchronized (this)
|
synchronized (this)
|
||||||
|
|
|
@ -32,6 +32,7 @@ import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
import org.eclipse.jetty.io.Connection;
|
import org.eclipse.jetty.io.Connection;
|
||||||
import org.eclipse.jetty.io.EndPoint;
|
import org.eclipse.jetty.io.EndPoint;
|
||||||
import org.eclipse.jetty.io.EofException;
|
import org.eclipse.jetty.io.EofException;
|
||||||
|
import org.eclipse.jetty.server.HttpChannelState.State;
|
||||||
import org.eclipse.jetty.util.BufferUtil;
|
import org.eclipse.jetty.util.BufferUtil;
|
||||||
import org.eclipse.jetty.util.Callback;
|
import org.eclipse.jetty.util.Callback;
|
||||||
import org.eclipse.jetty.util.IteratingCallback;
|
import org.eclipse.jetty.util.IteratingCallback;
|
||||||
|
@ -197,6 +198,12 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http
|
||||||
LOG.debug("{} onFillable enter {}", this, _channel.getState());
|
LOG.debug("{} onFillable enter {}", this, _channel.getState());
|
||||||
|
|
||||||
final HttpConnection last=setCurrentConnection(this);
|
final HttpConnection last=setCurrentConnection(this);
|
||||||
|
|
||||||
|
// If the channel state is not idle, then a request is in progress and
|
||||||
|
// has previously been dispatched. Thus if this call to onFillable produces
|
||||||
|
// a parsed event, it will be handled by the channel mechanism and this call
|
||||||
|
// does not need to call fillInterested
|
||||||
|
final boolean handling = !_channel.getState().isIdle();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -220,8 +227,8 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http
|
||||||
{
|
{
|
||||||
boolean suspended = !_channel.handle();
|
boolean suspended = !_channel.handle();
|
||||||
|
|
||||||
// We should break iteration if we have suspended or changed connection
|
// We should break iteration if we have suspended or changed connection or this is not the handling thread.
|
||||||
if (suspended || getEndPoint().getConnection() != this )
|
if (suspended || getEndPoint().getConnection() != this || handling )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -356,6 +356,10 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
|
||||||
InputStream is=client.getInputStream();
|
InputStream is=client.getInputStream();
|
||||||
Assert.assertFalse(client.isClosed());
|
Assert.assertFalse(client.isClosed());
|
||||||
|
|
||||||
|
OutputStream os=client.getOutputStream();
|
||||||
|
os.write("GET ".getBytes("utf-8"));
|
||||||
|
os.flush();
|
||||||
|
|
||||||
Thread.sleep(sleepTime);
|
Thread.sleep(sleepTime);
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
try
|
try
|
||||||
|
@ -365,7 +369,35 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
|
||||||
}
|
}
|
||||||
catch(SSLException e)
|
catch(SSLException e)
|
||||||
{
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
Assert.assertTrue(System.currentTimeMillis() - start < maximumTestRuntime);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(timeout=60000)
|
||||||
|
public void testMaxIdleNothingSent() throws Exception
|
||||||
|
{
|
||||||
|
configureServer(new EchoHandler());
|
||||||
|
Socket client=newSocket(_serverURI.getHost(),_serverURI.getPort());
|
||||||
|
client.setSoTimeout(10000);
|
||||||
|
InputStream is=client.getInputStream();
|
||||||
|
Assert.assertFalse(client.isClosed());
|
||||||
|
|
||||||
|
Thread.sleep(sleepTime);
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IO.toString(is);
|
||||||
|
Assert.assertEquals(-1, is.read());
|
||||||
|
}
|
||||||
|
catch(SSLException e)
|
||||||
|
{
|
||||||
|
// e.printStackTrace();
|
||||||
}
|
}
|
||||||
catch(Exception e)
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
||||||
org.eclipse.jetty.LEVEL=DEBUG
|
#org.eclipse.jetty.LEVEL=DEBUG
|
||||||
#org.eclipse.jetty.server.LEVEL=DEBUG
|
#org.eclipse.jetty.server.LEVEL=DEBUG
|
||||||
|
|
|
@ -93,6 +93,7 @@ import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
public class StdErrLog extends AbstractLogger
|
public class StdErrLog extends AbstractLogger
|
||||||
{
|
{
|
||||||
private static final String EOL = System.getProperty("line.separator");
|
private static final String EOL = System.getProperty("line.separator");
|
||||||
|
private static int __tagpad = Integer.getInteger("org.eclipse.jetty.util.log.StdErrLog.TAG_PAD",50);
|
||||||
private static DateCache _dateCache;
|
private static DateCache _dateCache;
|
||||||
private static final Properties __props = new Properties();
|
private static final Properties __props = new Properties();
|
||||||
|
|
||||||
|
@ -100,7 +101,9 @@ public class StdErrLog extends AbstractLogger
|
||||||
Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.SOURCE","false")));
|
Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.SOURCE","false")));
|
||||||
private final static boolean __long = Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.LONG","false"));
|
private final static boolean __long = Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.LONG","false"));
|
||||||
private final static boolean __escape = Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.ESCAPE","true"));
|
private final static boolean __escape = Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.stderr.ESCAPE","true"));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
__props.putAll(Log.__props);
|
__props.putAll(Log.__props);
|
||||||
|
@ -127,6 +130,11 @@ public class StdErrLog extends AbstractLogger
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setTagPad(int pad)
|
||||||
|
{
|
||||||
|
__tagpad=pad;
|
||||||
|
}
|
||||||
|
|
||||||
public static final int LEVEL_ALL = 0;
|
public static final int LEVEL_ALL = 0;
|
||||||
public static final int LEVEL_DEBUG = 1;
|
public static final int LEVEL_DEBUG = 1;
|
||||||
public static final int LEVEL_INFO = 2;
|
public static final int LEVEL_INFO = 2;
|
||||||
|
@ -590,29 +598,23 @@ public class StdErrLog extends AbstractLogger
|
||||||
}
|
}
|
||||||
buffer.append(ms).append(tag);
|
buffer.append(ms).append(tag);
|
||||||
|
|
||||||
int p=buffer.length();
|
String name=_printLongNames?_name:_abbrevname;
|
||||||
if (_printLongNames)
|
String tname=Thread.currentThread().getName();
|
||||||
|
|
||||||
|
int p=__tagpad>0?(name.length()+tname.length()-__tagpad):0;
|
||||||
|
|
||||||
|
if (p<0)
|
||||||
{
|
{
|
||||||
buffer.append(_name);
|
buffer
|
||||||
|
.append(name)
|
||||||
|
.append(':')
|
||||||
|
.append(" ",0,-p)
|
||||||
|
.append(tname);
|
||||||
}
|
}
|
||||||
else
|
else if (p==0)
|
||||||
{
|
{
|
||||||
buffer.append(_abbrevname);
|
buffer.append(name).append(':').append(tname);
|
||||||
}
|
}
|
||||||
p=buffer.length()-p-25;
|
|
||||||
if (p>0)
|
|
||||||
buffer.setLength(buffer.length()-p);
|
|
||||||
else
|
|
||||||
buffer.append(" ",0,-p);
|
|
||||||
buffer.append(':');
|
|
||||||
|
|
||||||
p=buffer.length();
|
|
||||||
buffer.append(Thread.currentThread().getName());
|
|
||||||
p=buffer.length()-p-20;
|
|
||||||
if (p>0)
|
|
||||||
buffer.setLength(buffer.length()-p);
|
|
||||||
else
|
|
||||||
buffer.append(" ",0,-p);
|
|
||||||
buffer.append(':');
|
buffer.append(':');
|
||||||
|
|
||||||
if (_source)
|
if (_source)
|
||||||
|
|
|
@ -38,6 +38,11 @@ import org.junit.Test;
|
||||||
*/
|
*/
|
||||||
public class StdErrLogTest
|
public class StdErrLogTest
|
||||||
{
|
{
|
||||||
|
static
|
||||||
|
{
|
||||||
|
StdErrLog.setTagPad(0);
|
||||||
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void before()
|
public void before()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue