You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/10/18 13:52:51 UTC
[1/4] qpid-broker-j git commit: QPID-7913: [Java Broker] Log warning
with aggregated details for all orphan messages and unused messages instances
per queue
Repository: qpid-broker-j
Updated Branches:
refs/heads/master 3a6bb20dc -> fa9f46abf
QPID-7913: [Java Broker] Log warning with aggregated details for all orphan messages and unused messages instances per queue
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/fa9f46ab
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/fa9f46ab
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/fa9f46ab
Branch: refs/heads/master
Commit: fa9f46abfc2206f07054d1ec111f9c43aea494e2
Parents: d253bea
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Oct 18 14:52:26 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Oct 18 14:52:42 2017 +0100
----------------------------------------------------------------------
.../AsynchronousMessageStoreRecoverer.java | 44 ++++++++----
.../SynchronousMessageStoreRecoverer.java | 76 ++++++++++++++++----
2 files changed, 91 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/fa9f46ab/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AsynchronousMessageStoreRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AsynchronousMessageStoreRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AsynchronousMessageStoreRecoverer.java
index cfdeba7..675c31f 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AsynchronousMessageStoreRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AsynchronousMessageStoreRecoverer.java
@@ -31,7 +31,6 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import com.google.common.base.Function;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
@@ -46,6 +45,7 @@ import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.plugin.MessageMetaDataType;
+import org.apache.qpid.server.pool.QpidByteBufferDisposingThreadPoolExecutor;
import org.apache.qpid.server.queue.QueueEntry;
import org.apache.qpid.server.store.MessageEnqueueRecord;
import org.apache.qpid.server.store.MessageStore;
@@ -55,14 +55,13 @@ import org.apache.qpid.server.store.Transaction;
import org.apache.qpid.server.store.handler.DistributedTransactionHandler;
import org.apache.qpid.server.store.handler.MessageHandler;
import org.apache.qpid.server.store.handler.MessageInstanceHandler;
+import org.apache.qpid.server.transport.util.Functions;
import org.apache.qpid.server.txn.DtxBranch;
import org.apache.qpid.server.txn.DtxRegistry;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.txn.Xid;
import org.apache.qpid.server.util.Action;
-import org.apache.qpid.server.pool.QpidByteBufferDisposingThreadPoolExecutor;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
-import org.apache.qpid.server.transport.util.Functions;
public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
{
@@ -88,7 +87,6 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
private static class AsynchronousRecoverer
{
- private static final Logger LOGGER = LoggerFactory.getLogger(AsynchronousRecoverer.class);
public static final int THREAD_POOL_SHUTDOWN_TIMEOUT = 5000;
private final QueueManagingVirtualHost<?> _virtualHost;
@@ -172,6 +170,13 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
MessageInstanceVisitor handler = new MessageInstanceVisitor(queue);
_storeReader.visitMessageInstances(queue, handler);
+ if (handler.getNumberOfUnknownMessageInstances() > 0)
+ {
+ _logger.warn("Discarded {} of unknown message instances for queue '{}'.",
+ handler.getNumberOfUnknownMessageInstances(),
+ queue.getName());
+ }
+
getEventLogger().message(getLogSubject(), TransactionLogMessages.RECOVERED(handler.getRecoveredCount(), queue.getName()));
getEventLogger().message(getLogSubject(), TransactionLogMessages.RECOVERY_COMPLETE(queue.getName(), true));
queue.completeRecovery();
@@ -209,19 +214,23 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
return false;
}
});
+ int unusedMessageCounter = 0;
for(StoredMessage<?> storedMessage : messagesToDelete)
{
if (_continueRecovery.get())
{
- if (storedMessage.getMetaData().isPersistent())
- {
- _logger.warn("Message id {} in store, but not in any queue - removing....",
- storedMessage.getMessageNumber());
- }
+ _logger.debug("Message id {} in store, but not in any queue - removing....",
+ storedMessage.getMessageNumber());
storedMessage.remove();
+ unusedMessageCounter++;
}
}
+ if (unusedMessageCounter > 0)
+ {
+ _logger.warn("Discarded {} of orphan messages.", unusedMessageCounter);
+ }
+
messagesToDelete.clear();
_recoveredMessages.clear();
_storeReader.close();
@@ -501,10 +510,12 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
{
private final Queue<?> _queue;
long _recoveredCount;
+ private int _numberOfUnknownMessageInstances;
private MessageInstanceVisitor(Queue<?> queue)
{
_queue = queue;
+ _numberOfUnknownMessageInstances = 0;
}
@Override
@@ -529,14 +540,14 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
}
else
{
- _logger.warn("Message id "
- + messageId
- + " referenced in log as enqueued in queue "
- + queueName
- + " is unknown, entry will be discarded");
+ _logger.debug(
+ "Message id {} referenced in log as enqueued in queue '{}' is unknown, entry will be discarded",
+ messageId,
+ queueName);
Transaction txn = _store.newTransaction();
txn.dequeueMessage(record);
txn.commitTranAsync((Void) null);
+ _numberOfUnknownMessageInstances++;
}
return _continueRecovery.get();
}
@@ -551,6 +562,11 @@ public class AsynchronousMessageStoreRecoverer implements MessageStoreRecoverer
{
return _recoveredCount;
}
+
+ public int getNumberOfUnknownMessageInstances()
+ {
+ return _numberOfUnknownMessageInstances;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/fa9f46ab/broker-core/src/main/java/org/apache/qpid/server/virtualhost/SynchronousMessageStoreRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/SynchronousMessageStoreRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/SynchronousMessageStoreRecoverer.java
index 3ed203f..057b8c3 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/SynchronousMessageStoreRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/SynchronousMessageStoreRecoverer.java
@@ -48,13 +48,13 @@ import org.apache.qpid.server.store.Transaction.EnqueueRecord;
import org.apache.qpid.server.store.handler.DistributedTransactionHandler;
import org.apache.qpid.server.store.handler.MessageHandler;
import org.apache.qpid.server.store.handler.MessageInstanceHandler;
+import org.apache.qpid.server.transport.util.Functions;
import org.apache.qpid.server.txn.DtxBranch;
import org.apache.qpid.server.txn.DtxRegistry;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.txn.Xid;
import org.apache.qpid.server.util.Action;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
-import org.apache.qpid.server.transport.util.Functions;
public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
{
@@ -71,15 +71,37 @@ public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
Map<String, Integer> queueRecoveries = new TreeMap<>();
Map<Long, ServerMessage<?>> recoveredMessages = new HashMap<>();
Map<Long, StoredMessage<?>> unusedMessages = new HashMap<>();
-
+ Map<Object, Integer> unknownMessageInstances = new HashMap<>();
eventLogger.message(logSubject, MessageStoreMessages.RECOVERY_START());
storeReader.visitMessages(new MessageVisitor(recoveredMessages, unusedMessages));
eventLogger.message(logSubject, TransactionLogMessages.RECOVERY_START(null, false));
- storeReader.visitMessageInstances(new MessageInstanceVisitor(virtualHost, store, queueRecoveries,
- recoveredMessages, unusedMessages));
+ try
+ {
+ storeReader.visitMessageInstances(new MessageInstanceVisitor(virtualHost,
+ store,
+ queueRecoveries,
+ recoveredMessages,
+ unusedMessages,
+ unknownMessageInstances));
+ }
+ finally
+ {
+ if (!unknownMessageInstances.isEmpty())
+ {
+ for (Map.Entry<Object, Integer> entry: unknownMessageInstances.entrySet())
+ {
+ Object key = entry.getKey();
+ String logMessage = key instanceof UUID
+ ? "Discarded {} of unknown message instances for unknown queue with id '{}'."
+ : "Discarded {} of unknown message instances for queue '{}'.";
+ _logger.warn(logMessage, entry.getValue(), key);
+ }
+ }
+ }
+
for(Map.Entry<String,Integer> entry : queueRecoveries.entrySet())
{
eventLogger.message(logSubject, TransactionLogMessages.RECOVERED(entry.getValue(), entry.getKey()));
@@ -99,15 +121,18 @@ public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
logSubject, recoveredMessages, unusedMessages));
-
+ int unusedMessageCounter = 0;
for(StoredMessage<?> m : unusedMessages.values())
{
- if (m.getMetaData().isPersistent())
- {
- _logger.warn("Message id {} in store, but not in any queue - removing....", m.getMessageNumber());
- }
+ unusedMessageCounter++;
m.remove();
}
+
+ if (unusedMessageCounter > 0)
+ {
+ _logger.warn("Discarded {} of orphan messages.", unusedMessageCounter);
+ }
+
eventLogger.message(logSubject, TransactionLogMessages.RECOVERY_COMPLETE(null, false));
eventLogger.message(logSubject,
@@ -162,18 +187,21 @@ public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
private final Map<String, Integer> _queueRecoveries;
private final Map<Long, ServerMessage<?>> _recoveredMessages;
private final Map<Long, StoredMessage<?>> _unusedMessages;
+ private final Map<Object, Integer> _unknownMessageInstances;
private MessageInstanceVisitor(final QueueManagingVirtualHost<?> virtualHost,
final MessageStore store,
final Map<String, Integer> queueRecoveries,
final Map<Long, ServerMessage<?>> recoveredMessages,
- final Map<Long, StoredMessage<?>> unusedMessages)
+ final Map<Long, StoredMessage<?>> unusedMessages,
+ final Map<Object, Integer> unknownMessageInstances)
{
_virtualHost = virtualHost;
_store = store;
_queueRecoveries = queueRecoveries;
_recoveredMessages = recoveredMessages;
_unusedMessages = unusedMessages;
+ _unknownMessageInstances = unknownMessageInstances;
}
@Override
@@ -182,6 +210,7 @@ public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
final UUID queueId = record.getQueueId();
long messageId = record.getMessageNumber();
Queue<?> queue = _virtualHost.getAttainedQueue(queueId);
+ boolean unknownMessageInstance = true;
if(queue != null)
{
String queueName = queue.getName();
@@ -204,22 +233,39 @@ public class SynchronousMessageStoreRecoverer implements MessageStoreRecoverer
queue.recover(message, record);
_queueRecoveries.put(queueName, ++count);
+ unknownMessageInstance = false;
}
else
{
- _logger.warn("Message id " + messageId + " referenced in log as enqueued in queue " + queueName + " is unknown, entry will be discarded");
- Transaction txn = _store.newTransaction();
- txn.dequeueMessage(record);
- txn.commitTranAsync((Void) null);
+ _logger.debug(
+ "Message id {} referenced in log as enqueued in queue '{}' is unknown, entry will be discarded",
+ messageId,
+ queueName);
}
}
else
{
- _logger.warn("Message id " + messageId + " in log references queue with id " + queueId + " which is not in the configuration, entry will be discarded");
+ _logger.debug(
+ "Message id {} in log references queue with id '{}' which is not in the configuration, entry will be discarded",
+ messageId,
+ queueId);
+ }
+
+ if (unknownMessageInstance)
+ {
Transaction txn = _store.newTransaction();
txn.dequeueMessage(record);
txn.commitTranAsync((Void) null);
+
+ Object queueNameOrId = queue == null ? queueId : queue.getName();
+ Integer unknownMessageCounter = _unknownMessageInstances.get(queueNameOrId);
+ if (unknownMessageCounter == null)
+ {
+ unknownMessageCounter = 0;
+ }
+ _unknownMessageInstances.put(queueNameOrId, ++unknownMessageCounter);
}
+
return true;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[3/4] qpid-broker-j git commit: QPID-7799: [Java Broker] Modify
broker and virtual host store upgraders to add statistics related context
variables and logging rules
Posted by or...@apache.org.
QPID-7799: [Java Broker] Modify broker and virtual host store upgraders to add statistics related context variables and logging rules
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/d253bea1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/d253bea1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/d253bea1
Branch: refs/heads/master
Commit: d253bea18fb976ec7868e12e1867698211a51afb
Parents: 06a3072
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Oct 18 13:41:45 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Oct 18 14:52:42 2017 +0100
----------------------------------------------------------------------
.../store/BrokerStoreUpgraderAndRecoverer.java | 36 ++++++++++++++++++++
.../VirtualHostStoreUpgraderAndRecoverer.java | 34 +++++++++++++++++-
...irtualHostStoreUpgraderAndRecovererTest.java | 5 +++
3 files changed, 74 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
index 3c04785..e69fe77 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
@@ -569,6 +569,7 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
{
if (record.getType().equals("Broker"))
{
+ boolean rebuildRecord = false;
Map<String, Object> attributes = new HashMap<>(record.getAttributes());
Map<String, String> additionalContext = new HashMap<>();
for (String attributeName : BROKER_ATTRIBUTES_MOVED_INTO_CONTEXT.keySet())
@@ -581,6 +582,20 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
}
}
+ if (attributes.containsKey("statisticsReportingResetEnabled"))
+ {
+ attributes.remove("statisticsReportingResetEnabled");
+ rebuildRecord = true;
+ }
+
+ if (attributes.containsKey("statisticsReportingPeriod")
+ && Integer.parseInt(String.valueOf(attributes.get("statisticsReportingPeriod"))) > 0)
+ {
+ additionalContext.put("qpid.broker.statisticsReportPattern", "messagesIn=${messagesIn}, bytesIn=${bytesIn:byteunit}, messagesOut=${messagesOut}, bytesOut=${bytesOut:byteunit}");
+
+ rebuildRecord = true;
+ }
+
if (!additionalContext.isEmpty())
{
Map<String, String> newContext = new HashMap<>();
@@ -591,6 +606,11 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
newContext.putAll(additionalContext);
attributes.put("context", newContext);
+ rebuildRecord = true;
+ }
+
+ if (rebuildRecord)
+ {
record = new ConfiguredObjectRecordImpl(record.getId(),
record.getType(),
attributes,
@@ -610,6 +630,22 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
upgradeHttpPortIfRequired(record);
}
}
+ else if (record.getType().equals("BrokerLogger"))
+ {
+ Map<String,Object> attributes = new HashMap<>();
+ attributes.put("name", "statistics-" + record.getAttributes().get("name"));
+ attributes.put("level", "INFO");
+ attributes.put("loggerName", "qpid.statistics.*");
+ attributes.put("type", "NameAndLevel");
+
+
+ final ConfiguredObjectRecord filterRecord = new ConfiguredObjectRecordImpl(UUID.randomUUID(),
+ "BrokerLogInclusionRule",
+ attributes,
+ Collections.singletonMap("BrokerLogger",
+ record.getId()));
+ getUpdateMap().put(filterRecord.getId(), filterRecord);
+ }
}
private void upgradeHttpPortIfRequired(final ConfiguredObjectRecord record)
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
index 62fc386..0bf0aef 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
@@ -38,6 +38,7 @@ import org.apache.qpid.server.filter.FilterSupport;
import org.apache.qpid.server.model.AbstractConfigurationChangeListener;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
@@ -631,9 +632,10 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
Map<String, Object> attributes = new HashMap<>(record.getAttributes());
boolean modified = attributes.remove("queue_deadLetterQueueEnabled") != null;
Object context = attributes.get("context");
+ Map<String,Object> contextMap = null;
if(context instanceof Map)
{
- Map<String,Object> contextMap = new HashMap<>((Map<String,Object>) context);
+ contextMap = new HashMap<>((Map<String,Object>) context);
modified |= contextMap.remove("queue.deadLetterQueueEnabled") != null;
if (modified)
{
@@ -641,6 +643,20 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
}
}
+ int brokerStatisticsReportingPeriod = ((Broker) _virtualHostNode.getParent()).getStatisticsReportingPeriod();
+ if (brokerStatisticsReportingPeriod > 0)
+ {
+ attributes.put("statisticsReportingPeriod", brokerStatisticsReportingPeriod);
+ if (contextMap == null)
+ {
+ contextMap = new HashMap<>();
+ }
+
+ contextMap.put("qpid.virtualhost.statisticsReportPattern", "${ancestor:virtualhost:name}: messagesIn=${messagesIn}, bytesIn=${bytesIn:byteunit}, messagesOut=${messagesOut}, bytesOut=${bytesOut:byteunit}");
+ attributes.put("context", contextMap);
+ modified = true;
+ }
+
if (modified)
{
record = new ConfiguredObjectRecordImpl(record.getId(), record.getType(), attributes, record.getParents());
@@ -780,6 +796,22 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
record.getParents()));
}
}
+ else if (record.getType().equals("VirtualHostLogger"))
+ {
+ Map<String,Object> attributes = new HashMap<>();
+ attributes.put("name", "statistics-" + record.getAttributes().get("name"));
+ attributes.put("level", "INFO");
+ attributes.put("loggerName", "qpid.statistics.*");
+ attributes.put("type", "NameAndLevel");
+
+
+ final ConfiguredObjectRecord filterRecord = new ConfiguredObjectRecordImpl(UUID.randomUUID(),
+ "VirtualHostLogInclusionRule",
+ attributes,
+ Collections.singletonMap("VirtualHostLogger",
+ record.getId()));
+ getUpdateMap().put(filterRecord.getId(), filterRecord);
+ }
}
private long convertAttributeValueToLong(final String attributeName,
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
----------------------------------------------------------------------
diff --git a/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java b/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
index cbfa362..40c11ee 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
@@ -21,6 +21,7 @@ package org.apache.qpid.server.store;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.Collections;
@@ -29,6 +30,8 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.OverflowPolicy;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -44,7 +47,9 @@ public class VirtualHostStoreUpgraderAndRecovererTest extends QpidTestCase
{
super.setUp();
+ final Broker broker = mock(Broker.class);
_virtualHostNode = mock(VirtualHostNode.class);
+ when(_virtualHostNode.getParent()).thenReturn(broker);
_store = mock(DurableConfigurationStore.class);
_upgraderAndRecoverer = new VirtualHostStoreUpgraderAndRecoverer(_virtualHostNode);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[4/4] qpid-broker-j git commit: QPID-7799: [Java Broker] Fix typos
and improve documentation for statistics reporting
Posted by or...@apache.org.
QPID-7799: [Java Broker] Fix typos and improve documentation for statistics reporting
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/cec19543
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/cec19543
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/cec19543
Branch: refs/heads/master
Commit: cec195436a4547cff7c652d4689faf902942b818
Parents: 3a6bb20
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Oct 18 10:24:04 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Oct 18 14:52:42 2017 +0100
----------------------------------------------------------------------
.../Java-Broker-Appendix-Statistics-Reporting.xml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/cec19543/doc/java-broker/src/docbkx/Java-Broker-Appendix-Statistics-Reporting.xml
----------------------------------------------------------------------
diff --git a/doc/java-broker/src/docbkx/Java-Broker-Appendix-Statistics-Reporting.xml b/doc/java-broker/src/docbkx/Java-Broker-Appendix-Statistics-Reporting.xml
index 8970cbc..ddc39b2 100644
--- a/doc/java-broker/src/docbkx/Java-Broker-Appendix-Statistics-Reporting.xml
+++ b/doc/java-broker/src/docbkx/Java-Broker-Appendix-Statistics-Reporting.xml
@@ -23,9 +23,9 @@
<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Appendix-Statistics-Reporting">
<title>Statistics Reporting</title>
<para>The Broker has the ability to periodically write statistics of any entity within the system to
- the log. Statistics can be enabled for a single entity (e.g. a queue) or for all entities of a particular
- class (e.g. for all queues). The system can be configured dynamically at runtime without the need for the
- system to be restarted.</para>
+ the log. Statistics reporting can be configured for a single entity (e.g. a queue) or for all entities of a
+ particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need
+ for the system to be restarted.</para>
<para>This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem
diagnosis.</para>
<para>It can be configured Broker-wide or separately for each virtual host.</para>
@@ -42,7 +42,7 @@
<title>Statistic Report Patterns</title>
<para>The statistic report pattern defines the format of a statistic report written to the log.</para>
<para>Statistic report patterns are defined by <link linkend="Java-Broker-Management-Managing-Entities-General">
- content variables</link>. The place where the context variable is definedgoverns the scope i.e. the entities to
+ content variables</link>. The place where the context variable is defined governs the scope i.e. the entities to
which the pattern will be applied.</para>
<para>For instance, to define a statistics reporting pattern for a single queue,
<link linkend="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables">set the contextvariable
@@ -54,8 +54,8 @@
<para>For instance, for queue: <literal>qpid.queue.statisticsReportPattern</literal> and virtualhost:
<literal>qpid.virtualhost.statisticsReportPattern</literal></para>
<para>The value of the context variable is a free text string containing reference(s) to the statistic names that
- are to appear in the report. References are made by surrounding the name of the statistic thus
- <literal>${<statistic-name></literal>.</para>
+ are to appear in the report. References are made by surrounding the name of the statistic with '$' and curly braces,
+ thus <literal>${<statistic-name>}</literal>.</para>
<para>Statistics references allow an optional formatters. The supported formatters are: <literal>:byteunit</literal>
(produces a human readable byte value e.g. 3 MiB), <literal>:duration</literal> (produces a ISO-8601 duration)and
<literal>:datetime</literal> (produces a ISO-8601 date/time).</para>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/4] qpid-broker-j git commit: QPID-7799: [Java Broker] Remove
duplicate code
Posted by or...@apache.org.
QPID-7799: [Java Broker] Remove duplicate code
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/06a30729
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/06a30729
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/06a30729
Branch: refs/heads/master
Commit: 06a30729357dce56da9c27c0aa252eed1b7388df
Parents: cec1954
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Oct 18 10:54:42 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Oct 18 14:52:42 2017 +0100
----------------------------------------------------------------------
.../org/apache/qpid/server/model/ConfiguredObjectFinder.java | 7 +------
.../server/management/plugin/servlet/rest/RestServlet.java | 7 +------
2 files changed, 2 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/06a30729/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
index 8792094..3e385b7 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
@@ -20,7 +20,7 @@
*/
package org.apache.qpid.server.model;
-import static org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.getRawType;
+import static org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.getCollectionMemberType;
import static org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.returnsCollectionOfConfiguredObjects;
import java.lang.reflect.ParameterizedType;
@@ -452,11 +452,6 @@ public class ConfiguredObjectFinder
return hierarchyList;
}
- private Class getCollectionMemberType(ParameterizedType collectionType)
- {
- return getRawType((collectionType).getActualTypeArguments()[0]);
- }
-
public Collection<? extends ConfiguredObject> getAssociatedChildren(final Class<? extends ConfiguredObject> childClass)
{
final ConfiguredObjectOperation<ConfiguredObject<?>> op =
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/06a30729/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
index 319e8ea..8361886 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
@@ -22,6 +22,7 @@ package org.apache.qpid.server.management.plugin.servlet.rest;
import static org.apache.qpid.server.management.plugin.HttpManagementConfiguration.DEFAULT_PREFERENCE_OPERATION_TIMEOUT;
import static org.apache.qpid.server.management.plugin.HttpManagementConfiguration.PREFERENCE_OPERTAION_TIMEOUT_CONTEXT_NAME;
import static org.apache.qpid.server.management.plugin.HttpManagementUtil.ensureFilenameIsRfc2183;
+import static org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.getCollectionMemberType;
import static org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.returnsCollectionOfConfiguredObjects;
import java.io.IOException;
@@ -56,7 +57,6 @@ import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFinder;
import org.apache.qpid.server.model.ConfiguredObjectOperation;
-import org.apache.qpid.server.model.ConfiguredObjectTypeRegistry;
import org.apache.qpid.server.model.Content;
import org.apache.qpid.server.model.IllegalStateTransitionException;
import org.apache.qpid.server.model.IntegrityViolationException;
@@ -700,11 +700,6 @@ public class RestServlet extends AbstractServlet
return target;
}
- private Class getCollectionMemberType(ParameterizedType collectionType)
- {
- return ConfiguredObjectTypeRegistry.getRawType((collectionType).getActualTypeArguments()[0]);
- }
-
private Map<String, Object> getOperationArgumentsAsMap(HttpServletRequest request)
{
Map<String, Object> providedObject;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org