You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/05/16 13:08:52 UTC
svn commit: r1595155 - in /qpid/trunk/qpid/java:
broker-core/src/main/java/org/apache/qpid/server/model/adapter/
broker-core/src/main/java/org/apache/qpid/server/stats/
broker-core/src/main/java/org/apache/qpid/server/virtualhost/
broker-core/src/test/...
Author: kwall
Date: Fri May 16 11:08:51 2014
New Revision: 1595155
URL: http://svn.apache.org/r1595155
Log:
QPID-5766: Intitialisation of StatisticsCounter objects can lead to NPE.
Patch Supplied by Andrew MacBean <an...@gmail.com>.
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.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/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ssl/SSLTest.java
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Fri May 16 11:08:51 2014
@@ -82,7 +82,7 @@ public class BrokerAdapter extends Abstr
private BrokerOptions _brokerOptions;
private Timer _reportingTimer;
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
@ManagedAttributeField
private String _defaultVirtualHost;
@@ -119,7 +119,10 @@ public class BrokerAdapter extends Abstr
authManager.addUser(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _brokerOptions.getManagementModePassword());
_managementModeAuthenticationProvider = authManager;
}
- initialiseStatistics();
+ _messagesDelivered = new StatisticsCounter("messages-delivered");
+ _dataDelivered = new StatisticsCounter("bytes-delivered");
+ _messagesReceived = new StatisticsCounter("messages-received");
+ _dataReceived = new StatisticsCounter("bytes-received");
}
public void onValidate()
@@ -243,9 +246,6 @@ public class BrokerAdapter extends Abstr
addVirtualHostNode(virtualHostNode);
}
-
- initialiseStatistics();
-
initialiseStatisticsReporting();
// changeChildState(State.ACTIVE, false);
if (isManagementMode())
@@ -995,14 +995,6 @@ public class BrokerAdapter extends Abstr
}
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered");
- _dataDelivered = new StatisticsCounter("bytes-delivered");
- _messagesReceived = new StatisticsCounter("messages-received");
- _dataReceived = new StatisticsCounter("bytes-received");
- }
-
private class StatisticsReportingTask extends TimerTask
{
private final int DELIVERED = 0;
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java Fri May 16 11:08:51 2014
@@ -36,17 +36,6 @@ package org.apache.qpid.server.stats;
public interface StatisticsGatherer
{
/**
- * Initialise the statistics gathering for this object.
- *
- * This method is responsible for creating any {@link StatisticsCounter}
- * objects and for determining whether statistics generation should be
- * enabled, by checking broker and system configuration.
- *
- * @see StatisticsCounter#DISABLE_STATISTICS
- */
- void initialiseStatistics();
-
- /**
* This method is responsible for registering the receipt of a message
* with the counters, and also for passing this notification to any parent
* {@link StatisticsGatherer}s. If statistics generation is not enabled,
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Fri May 16 11:08:51 2014
@@ -110,7 +110,7 @@ public abstract class AbstractVirtualHos
private volatile VirtualHostState _state = VirtualHostState.INITIALISING;
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
private final Map<String, LinkRegistry> _linkRegistry = new HashMap<String, LinkRegistry>();
private boolean _blocked;
@@ -173,6 +173,10 @@ public abstract class AbstractVirtualHos
_defaultDestination = new DefaultDestination(this);
+ _messagesDelivered = new StatisticsCounter("messages-delivered-" + getName());
+ _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName());
+ _messagesReceived = new StatisticsCounter("messages-received-" + getName());
+ _dataReceived = new StatisticsCounter("bytes-received-" + getName());
}
public void onValidate()
@@ -245,8 +249,6 @@ public abstract class AbstractVirtualHos
registerSystemNodes();
- initialiseStatistics();
-
Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new PrivilegedAction<Object>()
{
@Override
@@ -790,14 +792,6 @@ public abstract class AbstractVirtualHos
}
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered-" + getName());
- _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName());
- _messagesReceived = new StatisticsCounter("messages-received-" + getName());
- _dataReceived = new StatisticsCounter("bytes-received-" + getName());
- }
-
public synchronized LinkRegistry getLinkRegistry(String remoteContainerId)
{
LinkRegistry linkRegistry = _linkRegistry.get(remoteContainerId);
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java Fri May 16 11:08:51 2014
@@ -414,10 +414,6 @@ public class MockConsumer implements Con
private static class MockConnectionModel implements AMQConnectionModel
{
- @Override
- public void initialiseStatistics()
- {
- }
@Override
public void registerMessageReceived(long messageSize, long timestamp)
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java Fri May 16 11:08:51 2014
@@ -569,11 +569,6 @@ public class MockVirtualHost implements
return null;
}
- public void initialiseStatistics()
- {
-
- }
-
public void registerMessageDelivered(long messageSize)
{
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=1595155&r1=1595154&r2=1595155&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 Fri May 16 11:08:51 2014
@@ -71,7 +71,7 @@ public class ServerConnection extends Co
private final Subject _authorizedSubject = new Subject();
private Principal _authorizedPrincipal = null;
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
private final long _connectionId;
private final Object _reference = new Object();
private VirtualHostImpl _virtualHost;
@@ -93,6 +93,11 @@ public class ServerConnection extends Co
_connectionId = connectionId;
_authorizedSubject.getPrincipals().add(new ConnectionPrincipal(this));
_broker = broker;
+
+ _messagesDelivered = new StatisticsCounter("messages-delivered-" + getConnectionId());
+ _dataDelivered = new StatisticsCounter("data-delivered-" + getConnectionId());
+ _messagesReceived = new StatisticsCounter("messages-received-" + getConnectionId());
+ _dataReceived = new StatisticsCounter("data-received-" + getConnectionId());
}
public Object getReference()
@@ -175,8 +180,6 @@ public class ServerConnection extends Co
public void setVirtualHost(VirtualHostImpl virtualHost)
{
_virtualHost = virtualHost;
-
- initialiseStatistics();
}
@Override
@@ -455,14 +458,6 @@ public class ServerConnection extends Co
_dataReceived.reset();
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered-" + getConnectionId());
- _dataDelivered = new StatisticsCounter("data-delivered-" + getConnectionId());
- _messagesReceived = new StatisticsCounter("messages-received-" + getConnectionId());
- _dataReceived = new StatisticsCounter("data-received-" + getConnectionId());
- }
-
/**
* @return authorizedSubject
*/
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java Fri May 16 11:08:51 2014
@@ -154,7 +154,7 @@ public class AMQProtocolEngine implement
private long _maxFrameSize;
private final AtomicBoolean _closing = new AtomicBoolean(false);
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
private NetworkConnection _network;
private Sender<ByteBuffer> _sender;
@@ -201,12 +201,14 @@ public class AMQProtocolEngine implement
_closeWhenNoRoute = _broker.getConnection_closeWhenNoRoute();
- initialiseStatistics();
-
return null;
}
});
+ _messagesDelivered = new StatisticsCounter("messages-delivered-" + getSessionID());
+ _dataDelivered = new StatisticsCounter("data-delivered-" + getSessionID());
+ _messagesReceived = new StatisticsCounter("messages-received-" + getSessionID());
+ _dataReceived = new StatisticsCounter("data-received-" + getSessionID());
}
private <T> T runAsSubject(PrivilegedAction<T> action)
@@ -1500,14 +1502,6 @@ public class AMQProtocolEngine implement
_dataReceived.reset();
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered-" + getSessionID());
- _dataDelivered = new StatisticsCounter("data-delivered-" + getSessionID());
- _messagesReceived = new StatisticsCounter("messages-received-" + getSessionID());
- _dataReceived = new StatisticsCounter("data-received-" + getSessionID());
- }
-
public boolean isSessionNameUnique(byte[] name)
{
// 0-8/0-9/0-9-1 sessions don't have names
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java Fri May 16 11:08:51 2014
@@ -76,10 +76,7 @@ public class Connection_1_0 implements C
private final CopyOnWriteArrayList<SessionModelListener> _sessionListeners =
new CopyOnWriteArrayList<SessionModelListener>();
- private StatisticsCounter _messageDeliveryStatistics = new StatisticsCounter();
- private StatisticsCounter _messageReceiptStatistics = new StatisticsCounter();
- private StatisticsCounter _dataDeliveryStatistics = new StatisticsCounter();
- private StatisticsCounter _dataReceiptStatistics = new StatisticsCounter();
+ private final StatisticsCounter _messageDeliveryStatistics, _messageReceiptStatistics, _dataDeliveryStatistics, _dataReceiptStatistics;
private final LogSubject _logSubject = new LogSubject()
{
@@ -118,7 +115,10 @@ public class Connection_1_0 implements C
_connectionId = connectionId;
_subject.getPrincipals().add(new ConnectionPrincipal(this));
_subjectCreator = subjectCreator;
-
+ _messageDeliveryStatistics = new StatisticsCounter("messages-delivered-" + getConnectionId());
+ _dataDeliveryStatistics = new StatisticsCounter("data-delivered-" + getConnectionId());
+ _messageReceiptStatistics = new StatisticsCounter("messages-received-" + getConnectionId());
+ _dataReceiptStatistics = new StatisticsCounter("data-received-" + getConnectionId());
}
public Object getReference()
@@ -368,15 +368,6 @@ public class Connection_1_0 implements C
}
@Override
- public void initialiseStatistics()
- {
- _messageDeliveryStatistics = new StatisticsCounter("messages-delivered-" + getConnectionId());
- _dataDeliveryStatistics = new StatisticsCounter("data-delivered-" + getConnectionId());
- _messageReceiptStatistics = new StatisticsCounter("messages-received-" + getConnectionId());
- _dataReceiptStatistics = new StatisticsCounter("data-received-" + getConnectionId());
- }
-
- @Override
public void registerMessageReceived(long messageSize, long timestamp)
{
_messageReceiptStatistics.registerEvent(1L, timestamp);
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ssl/SSLTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ssl/SSLTest.java?rev=1595155&r1=1595154&r2=1595155&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ssl/SSLTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ssl/SSLTest.java Fri May 16 11:08:51 2014
@@ -43,9 +43,13 @@ import org.apache.qpid.server.model.Port
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class SSLTest extends QpidBrokerTestCase
{
+ private static final Logger LOGGER = LoggerFactory.getLogger(SSLTest.class);
+
private static final String CERT_ALIAS_APP1 = "app1";
private static final String CERT_ALIAS_APP2 = "app2";
@@ -209,6 +213,7 @@ public class SSLTest extends QpidBrokerT
private void verifyExceptionCausesContains(Exception e, String expectedString)
{
+ LOGGER.debug("verifying that the following exception contains " + expectedString, e);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
e.printStackTrace(new PrintStream(bout));
String strace = bout.toString();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org