You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/03/17 17:11:19 UTC
svn commit: r1667346 - in /qpid/trunk/qpid/java:
broker-core/src/main/java/org/apache/qpid/server/transport/
broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/
common/src/main/java/org/apache/qpid/transport/ systests...
Author: rgodfrey
Date: Tue Mar 17 16:11:18 2015
New Revision: 1667346
URL: http://svn.apache.org/r1667346
Log:
QPID-6429 : Fix issue when async close is called twice on a session, tidy up debug and logging
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingNetworkTransport.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java Tue Mar 17 16:11:18 2015
@@ -83,12 +83,10 @@ class NetworkConnectionScheduler
{
if (_running.get() == _poolSize)
{
- LOGGER.debug("RGDEBUG: scheduler rescheduling");
schedule(connection);
}
else
{
- LOGGER.debug("RGDEBUG: scheduler rerunning - ( " + _running.get() + "/" + _poolSize + ")");
rerun = true;
}
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingNetworkTransport.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingNetworkTransport.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingNetworkTransport.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingNetworkTransport.java Tue Mar 17 16:11:18 2015
@@ -50,7 +50,7 @@ public class NonBlockingNetworkTransport
private static final int TIMEOUT = Integer.getInteger(CommonProperties.IO_NETWORK_TRANSPORT_TIMEOUT_PROP_NAME,
CommonProperties.IO_NETWORK_TRANSPORT_TIMEOUT_DEFAULT);
private static final int HANDSHAKE_TIMEOUT = Integer.getInteger(CommonProperties.HANDSHAKE_TIMEOUT_PROP_NAME ,
- CommonProperties.HANDSHAKE_TIMEOUT_DEFAULT);
+ CommonProperties.HANDSHAKE_TIMEOUT_DEFAULT);
private final Set<TransportEncryption> _encryptionSet;
private final NetworkTransportConfiguration _config;
private final ProtocolEngineFactory _factory;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java Tue Mar 17 16:11:18 2015
@@ -175,8 +175,6 @@ public class SelectorThread extends Thre
toBeScheduled.add(connection);
try
{
- LOGGER.debug("KWDEBUG# Setting interest to zero (PUC) " + connection);
-
SelectionKey register = connection.getSocketChannel().register(_selector, 0);
register.cancel();
}
@@ -210,7 +208,6 @@ public class SelectorThread extends Thre
| (unregisteredConnection.waitingForWrite() ? SelectionKey.OP_WRITE : 0);
try
{
- LOGGER.debug("KWDEBUG# Registering " + unregisteredConnection);
unregisteredConnection.getSocketChannel().register(_selector, ops, unregisteredConnection);
}
catch (ClosedChannelException e)
@@ -240,8 +237,6 @@ public class SelectorThread extends Thre
try
{
- LOGGER.debug("KWDEBUG# Setting interest to zero (PSK)" + connection);
-
key.channel().register(_selector, 0);
}
catch (ClosedChannelException e)
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java Tue Mar 17 16:11:18 2015
@@ -260,21 +260,24 @@ public class ServerConnection extends Co
@Override
public void performAction(final ServerConnection conn)
{
- ExecutionException ex = new ExecutionException();
- ExecutionErrorCode code = ExecutionErrorCode.INTERNAL_ERROR;
- try
+ if(!session.isClosing())
{
- code = ExecutionErrorCode.get(cause.getCode());
- }
- catch (IllegalArgumentException iae)
- {
- // Ignore, already set to INTERNAL_ERROR
- }
- ex.setErrorCode(code);
- ex.setDescription(message);
- session.invoke(ex);
+ ExecutionException ex = new ExecutionException();
+ ExecutionErrorCode code = ExecutionErrorCode.INTERNAL_ERROR;
+ try
+ {
+ code = ExecutionErrorCode.get(cause.getCode());
+ }
+ catch (IllegalArgumentException iae)
+ {
+ // Ignore, already set to INTERNAL_ERROR
+ }
+ ex.setErrorCode(code);
+ ex.setDescription(message);
+ session.invoke(ex);
- session.close(cause, message);
+ session.close(cause, message);
+ }
}
});
@@ -382,20 +385,23 @@ public class ServerConnection extends Co
@Override
public void performAction(final ServerConnection object)
{
- closeSubscriptions();
- performDeleteTasks();
-
- setState(CLOSING);
- ConnectionCloseCode replyCode = ConnectionCloseCode.NORMAL;
- try
- {
- replyCode = ConnectionCloseCode.get(cause.getCode());
- }
- catch (IllegalArgumentException iae)
+ if(!isClosing())
{
- // Ignore
+ closeSubscriptions();
+ performDeleteTasks();
+
+ setState(CLOSING);
+ ConnectionCloseCode replyCode = ConnectionCloseCode.NORMAL;
+ try
+ {
+ replyCode = ConnectionCloseCode.get(cause.getCode());
+ }
+ catch (IllegalArgumentException iae)
+ {
+ // Ignore
+ }
+ sendConnectionClose(replyCode, message);
}
- sendConnectionClose(replyCode, message);
}
});
}
Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java Tue Mar 17 16:11:18 2015
@@ -622,11 +622,6 @@ public class Connection extends Connecti
close(ConnectionCloseCode.NORMAL, null);
}
- public void mgmtClose()
- {
- close(ConnectionCloseCode.CONNECTION_FORCED, "The connection was closed using the broker's management interface.");
- }
-
protected void sendConnectionClose(ConnectionCloseCode replyCode, String replyText, Option ... _options)
{
@@ -875,4 +870,12 @@ public class Connection extends Connecti
_redirecting.set(redirecting);
}
+ public boolean isClosing()
+ {
+ synchronized (lock)
+ {
+ return state == CLOSING || state == CLOSED;
+ }
+ }
+
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java?rev=1667346&r1=1667345&r2=1667346&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java Tue Mar 17 16:11:18 2015
@@ -49,7 +49,7 @@ public class InternalBrokerHolder implem
@Override
public void start(BrokerOptions options) throws Exception
{
- if (Thread.getDefaultUncaughtExceptionHandler() != null)
+ if (Thread.getDefaultUncaughtExceptionHandler() == null)
{
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org