[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16356148#comment-16356148 ] ASF GitHub Bot commented on ARTEMIS-853: Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1856 @clebertsuconic as per your comment to look at an alternative QueueImpl with it having separate flow without counters for exclusive. IMO i don't think this is a better approach, but i want to offer it to you. There is an amount of logic that is almost similar but not re-usable or abstract-able (ive done what i could). This is why i followed the same logic that MessageGroups does when a group already is assigned, which is to override the consumer and then don't update the pos, as it made for a lot smaller change, less intrusive change following a pattern already done with msg groups. Anyhow if you prefer this then im not dead opposed to this approach just don't think its better, but i offer it for your review. > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16356137#comment-16356137 ] ASF GitHub Bot commented on ARTEMIS-853: GitHub user michaelandrepearce opened a pull request: https://github.com/apache/activemq-artemis/pull/1856 ARTEMIS-853 Support for exclusive consumers Alternative QueueImpl - Seperated logic without counters You can merge this pull request into a Git repository by running: $ git pull https://github.com/michaelandrepearce/activemq-artemis ARTEMIS-853-2 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1856.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1856 commit 87ecda7ed5b09774c23f3de16bff2b20971db015 Author: Michael André PearceDate: 2018-02-07T21:07:44Z ARTEMIS-853 Support for exclusive consumers Alternative QueueImpl - Seperated logic without counters > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AMQ-6894) Excessive number of connections by failover transport with priorityBackup
[ https://issues.apache.org/jira/browse/AMQ-6894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355856#comment-16355856 ] ASF GitHub Bot commented on AMQ-6894: - GitHub user ashakirin opened a pull request: https://github.com/apache/activemq/pull/274 AMQ-6894: limit poison exception message to 1024 AMQ-6894: Limit poison exception message to 1024 to avoid IOException be encoding You can merge this pull request into a Git repository by running: $ git pull https://github.com/ashakirin/activemq master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq/pull/274.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #274 commit d0dab2e88b44702d26dd0883c9940b97ee03fdeb Author: Andrei ShakirinDate: 2018-02-07T18:28:55Z AMQ-6894: limit poison exception message to 1024 > Excessive number of connections by failover transport with priorityBackup > - > > Key: AMQ-6894 > URL: https://issues.apache.org/jira/browse/AMQ-6894 > Project: ActiveMQ > Issue Type: Bug > Components: Broker >Affects Versions: 5.14.5 >Reporter: Andrei Shakirin >Assignee: Jean-Baptiste Onofré >Priority: Major > Attachments: activemq-part.zip > > > My clients connect to AMQ with this connection string: > (tcp://amq1:61616,tcp://amq2:61616)?randomize=false=true > It works - for some time. But sooner or later my AMQ server becomes > unresponsive because the host it runs on runs out of resources (threads). > Suddenly AMQ Server log explodes with the messages like: > {code} > 2018-01-26 09:26:16,909 | WARN | Failed to register MBean > org.apache.activemq > :type=Broker,brokerName=activemq-vm-primary,connector=clientConnectors,connect > orName=default,connectionViewType=clientId,connectionName=ID_ca8f70e115d0-3708 > 7-1516883370639-0_22 | org.apache.activemq.broker.jmx.ManagedTransportConnecti > on | ActiveMQ Transport: tcp:///172.10.7.56:55548@61616 > 2018-01-26 09:26:21,375 | WARN | Ignoring ack received before dispatch; > result of failover with an outstanding ack. Acked messages will be replayed > if present on this broker. Ignored ack: MessageAck \{commandId = 157, > responseRequired = false, ackType = 2, consumerId = > ID:ca8f70e115d0-37087-1516883370639-1:22:10:1, firstMessageId = > ID:a95345a9c0df-33771-1516883685728-1:17:5:1:23, lastMessageId = > ID:a95345a9c0df-33771-1516883685728-1:17:5:1:23, destination = > queue://MY_QUEUE_OUT, transactionId = null, messageCount = 1, poisonCause = > null} | org.apache.activemq.broker.region.PrefetchSubscription | ActiveMQ > Transport: tcp:///172.16.6.56:55464@61616 > 2018-01-26 09:26:39,211 | WARN | Transport Connection to: > tcp://172.10.6.56:55860 failed: java.net.SocketException: Connection reset | > org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ > InactivityMonitor Worker > 2018-01-26 09:26:47,175 | WARN | Transport Connection to: > tcp://172.10.6.56:57012 failed: java.net.SocketException: Broken pipe (Write > failed) | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ > InactivityMonitor Worker > {code} > After short period of time AMQ server comes out of resources with > "java.lang.OutOfMemoryError: unable to create new native thread" error. The > AMQ service process in this case has a huge number of threads (some thousands) > > The client side log contains a lot of reconnection attempts messages like: > {code} > 2018-01-26 00:10:31,387 WARN > [\{{bundle.name,org.apache.activemq.activemq-osgi}{bundle.version,5.14.1}\{bundle.id,181}}] > [null] org.apache.activemq.transport.failover.FailoverTransport > Failed to connect to [tcp://activemq-vm-primary:61616, > tcp://activemq-vm-secondary:61616] after: 810 attempt(s) continuing to retry. > {code} > It seems that client creates a huge number of connections by failover retry > and after some time kills the server. > Issue looks very similar to described in > https://issues.apache.org/jira/browse/AMQ-6603, however server isn't > configured with access control settings. > I found the description of similar problem into > [http://activemq.2283324.n4.nabble.com/ActiveMQ-5-2-OutOfMemoryError-unable-to-create-new-native-thread-td2366585.html], > but without concrete suggestion. > > Part of server log is attached -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355830#comment-16355830 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 Had to update the PR again as something got messed up when rebasing > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355808#comment-16355808 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166700570 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageSubscriptionImpl.java --- @@ -439,7 +453,7 @@ public void confirmPosition(final Transaction tx, final PagePosition position) t public void ackTx(final Transaction tx, final PagedReference reference) throws Exception { confirmPosition(tx, reference.getPosition()); - counter.increment(tx, -1); + counter.increment(tx, -1, -getPersistentSize(reference)); --- End diff -- @michaelandrepearce - So because of this line here we can't really default the persistentSize to -1, it needs to be 0. This call here will store a new PageCountRecordInc() record to the journal with a negative count and negative size on message ack to decrement the counters. Because of this a negative can actually be a valid value and really 0 should mean not set (we should never have a message size of 0) > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355801#comment-16355801 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 @clebertsuconic - I did some cleanup work and I added a couple of basic tests to the compatibility test. It doesn't do much but show that the current snapshot can load a 2.4 journal successfully (and it can load the paging store as well). We can expand the tests with more if you want. Also, I removed the persistentSize from the PageCountPendingImpl class as the size (and the count apparently) aren't actually used and not needed. On recovery we can recover the size from the paged reference. Do you think this is ready to merge? > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355796#comment-16355796 ] ASF GitHub Bot commented on ARTEMIS-853: Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1832 We do the same as if message group which doesn’t increase the pos if it’s exclusive just like it doesn’t if exclusive. We can enhance this if needed. Ping me on IRC tomorrow? happy to make further enhancements if needed. > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355781#comment-16355781 ] ASF GitHub Bot commented on ARTEMIS-853: Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1832 @michaelandrepearce I think the logic should have been updated on QueueImpl for the exclusive consumer... You should just had the pos always 0. or have a different logic without using counters at all. The code became non consistent. the pos increases but then there is a statement to always get position 0 if exclusive. > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355590#comment-16355590 ] ASF subversion and git services commented on ARTEMIS-853: - Commit 38c45c92142cd6a3b9f49f2d436d7a0665309c00 in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=38c45c9 ] ARTEMIS-853 Support for exclusive consumers Rationalise and re-use URISupport. > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355589#comment-16355589 ] ASF subversion and git services commented on ARTEMIS-853: - Commit dc41f3ca491e96e199290a225fdaa07ac05d66df in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=dc41f3c ] ARTEMIS-853 Support for exclusive consumers Support exlusive consumer Allow default address level settings for exclusive consumer Allow queue level setting in broker.xml Add the ability to set queue settings via Core JMS using address. Similar to ActiveMQ 5.X Allow for Core JMS client to define exclusive consumer using address parameters Add tests > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355578#comment-16355578 ] ASF subversion and git services commented on ARTEMIS-853: - Commit 47c9a90dcb16b70aeef3a09c89400669add083f5 in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=47c9a90 ] ARTEMIS-853 Support for exclusive consumers Support exlusive consumer Allow default address level settings for exclusive consumer Allow queue level setting in broker.xml Add the ability to set queue settings via Core JMS using address. Similar to ActiveMQ 5.X Allow for Core JMS client to define exclusive consumer using address parameters Add tests > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1666) List of prepared transaction details returns Object.toString() instead of Json string
[ https://issues.apache.org/jira/browse/ARTEMIS-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355560#comment-16355560 ] ASF GitHub Bot commented on ARTEMIS-1666: - GitHub user yersan opened a pull request: https://github.com/apache/activemq-artemis/pull/1854 [ARTEMIS-1666] List of prepared transaction details returns Object.toString() instead of Json string Issue: https://issues.apache.org/jira/browse/ARTEMIS-1666 JBEAP Issue: https://issues.jboss.org/browse/JBEAP-14177 You can merge this pull request into a Git repository by running: $ git pull https://github.com/yersan/activemq-artemis bugs/ARTEMIS-1666 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1854.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1854 commit ecc13750929f7969c7cd36da357af7273a88f607 Author: Yeray BorgesDate: 2018-02-07T14:56:37Z [ARTEMIS-1666] List of prepared transaction details returns Object.toString() instead of Json string > List of prepared transaction details returns Object.toString() instead of > Json string > - > > Key: ARTEMIS-1666 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1666 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 1.5.5 >Reporter: Yeray Borges >Priority: Major > > {{JMSServerManagerImpl#listPreparedTransactionDetailsAsJSON}} returns a > {{JsonArrayBuilder}} string representation instead of the JSon representation. > There is a missing {{JsonArrayBuilder#buid}} call in the method. > This issue can be easily reproduced checking the output of > {{JMSServerControlTest#testListPreparedTransactionDetails}} test. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355542#comment-16355542 ] ASF GitHub Bot commented on ARTEMIS-853: Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1832 @michaelandrepearce i don't have the chance to merge it yet :( Anyway it seems that there aren't any objections so I suppose it is ok > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355535#comment-16355535 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166636796 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PageCountPendingImpl.java --- @@ -62,21 +67,41 @@ public long getPageID() { return pageID; } + /** +* @return the persistentSize +*/ + @Override + public long getPersistentSize() { + return persistentSize; + } + + /** +* @param persistentSize the persistentSize to set +*/ + public void setPersistentSize(long persistentSize) { + this.persistentSize = persistentSize; + } + @Override public int getEncodeSize() { - return DataConstants.SIZE_LONG * 2; + return DataConstants.SIZE_LONG * 3; } @Override public void encode(ActiveMQBuffer buffer) { buffer.writeLong(queueID); buffer.writeLong(pageID); + buffer.writeLong(persistentSize); --- End diff -- JournalCompatibilityTest under compatibility-tests. I don't think the test is using paging. we should just extend the test to use paging. I can help you with that if you have questions. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355515#comment-16355515 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166632761 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PageCountPendingImpl.java --- @@ -62,21 +67,41 @@ public long getPageID() { return pageID; } + /** +* @return the persistentSize +*/ + @Override + public long getPersistentSize() { + return persistentSize; + } + + /** +* @param persistentSize the persistentSize to set +*/ + public void setPersistentSize(long persistentSize) { + this.persistentSize = persistentSize; + } + @Override public int getEncodeSize() { - return DataConstants.SIZE_LONG * 2; + return DataConstants.SIZE_LONG * 3; } @Override public void encode(ActiveMQBuffer buffer) { buffer.writeLong(queueID); buffer.writeLong(pageID); + buffer.writeLong(persistentSize); --- End diff -- I can add a compatibility test. The value will just be a default (@michaelandrepearce wants me to use -1 instead of 0 and i guess we just would ignore it if not set for the count). Where's the journal test located in the test suite? > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355503#comment-16355503 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166630869 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PageCountPendingImpl.java --- @@ -62,21 +67,41 @@ public long getPageID() { return pageID; } + /** +* @return the persistentSize +*/ + @Override + public long getPersistentSize() { + return persistentSize; + } + + /** +* @param persistentSize the persistentSize to set +*/ + public void setPersistentSize(long persistentSize) { + this.persistentSize = persistentSize; + } + @Override public int getEncodeSize() { - return DataConstants.SIZE_LONG * 2; + return DataConstants.SIZE_LONG * 3; } @Override public void encode(ActiveMQBuffer buffer) { buffer.writeLong(queueID); buffer.writeLong(pageID); + buffer.writeLong(persistentSize); --- End diff -- OIC.. you already implemented it.. I would like to have a compatibility test validating that.. there's a journal test on the new compatibility testsuite already... but not one with paging.. and validating the counters... If you have a way to do it.. it would be great.. otherwise let me know and I will do it. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355496#comment-16355496 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 @clebertsuconic - The metric in the page counters is persisted along with the page counters now. When the page counters are written to the journal that metric is encoded to disk and reloaded on restart. Older versions of the journal are compatible, they will just not have that size value loaded as it won't have been saved previously. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (ARTEMIS-1668) The list of subscribers does not return json array of consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yeray Borges updated ARTEMIS-1668: -- Affects Version/s: (was: 2.4.0) > The list of subscribers does not return json array of consumers > --- > > Key: ARTEMIS-1668 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1668 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 1.5.5 >Reporter: Yeray Borges >Priority: Major > > Output of {{listAllSubscriptionsAsJSON}}, {{listDurableSubscriptionsAsJSON}}, > {{listNonDurableSubscriptionsAsJSON}} contains attribute {{consumers}}. The > json produced by these operations contains {{consumers}} value escaped and > presented as a plain String. For example: > {noformat} > [ > { > "queueName": > "b7348eab-e13f-437b-a4ca-1e6f2be490c22.c740ec86-5cbe-4b7a-8ee5-073a746f7c3a2", > "clientID": "b7348eab-e13f-437b-a4ca-1e6f2be490c22", > "selector": null, > "name": "c740ec86-5cbe-4b7a-8ee5-073a746f7c3a2", > "durable": true, > "messageCount": 0, > "deliveringCount": 0, > "consumers": > "[{\"consumerID\":0,\"connectionID\":\"4361e1bc-0c08-11e8-9e9e-a860b61ba3b9\",\"sessionID\":\"43622fe0-0c08-11e8-9e9e-a860b61ba3b9\",\"browseOnly\":false,\"creationTime\":1518009026461}]" > } > ] > {noformat} > If some external tooling reads value of attribute {{consumers}}, it can not > be treated like a Json array of objects. It must be handled as a regular > String instead. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355475#comment-16355475 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 @cshannon although looking at the PR now you added persistent size into page counters... but as I read it, it is not persistent... We should go all the way in.. i.e... persist the new size metric along with the page counters... or all the way back.. i.e... only give user's paging metrics through page size... Implementing the counter on the journal is no big deal.. but I would like to keep it compatible... older versions of the journal should still be compatible. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1668) The list of subscribers does not return json array of consumers
Yeray Borges created ARTEMIS-1668: - Summary: The list of subscribers does not return json array of consumers Key: ARTEMIS-1668 URL: https://issues.apache.org/jira/browse/ARTEMIS-1668 Project: ActiveMQ Artemis Issue Type: Bug Affects Versions: 2.4.0, 1.5.5 Reporter: Yeray Borges Output of {{listAllSubscriptionsAsJSON}}, {{listDurableSubscriptionsAsJSON}}, {{listNonDurableSubscriptionsAsJSON}} contains attribute {{consumers}}. The json produced by these operations contains {{consumers}} value escaped and presented as a plain String. For example: {noformat} [ { "queueName": "b7348eab-e13f-437b-a4ca-1e6f2be490c22.c740ec86-5cbe-4b7a-8ee5-073a746f7c3a2", "clientID": "b7348eab-e13f-437b-a4ca-1e6f2be490c22", "selector": null, "name": "c740ec86-5cbe-4b7a-8ee5-073a746f7c3a2", "durable": true, "messageCount": 0, "deliveringCount": 0, "consumers": "[{\"consumerID\":0,\"connectionID\":\"4361e1bc-0c08-11e8-9e9e-a860b61ba3b9\",\"sessionID\":\"43622fe0-0c08-11e8-9e9e-a860b61ba3b9\",\"browseOnly\":false,\"creationTime\":1518009026461}]" } ] {noformat} If some external tooling reads value of attribute {{consumers}}, it can not be treated like a Json array of objects. It must be handled as a regular String instead. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355408#comment-16355408 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 Oh ok I get it now. Yeah you are right that the PagingStore interface has a method to get the number of pages and the page size which can be used to get an idea of consumption. This value is exposed through AddressControl so users can see it. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355388#comment-16355388 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 I was just saying paging metrics should be exposed. Even if the files are to be GCed but if something happened and they are not the user should have the metrics exposed about pages. I think we do have them but i don’t remember now. I’m away from a computer and I can’t check now. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355384#comment-16355384 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 @clebertsuconic - I don't think we need to re-calculate anything if the values are missing for paging. The point of this metric isn't to give the user information on storage consumption as that data already exists. They can find out how many page files are being used and disk usage already, etc. The point of these metrics is to know exactly how much data on a queue is left to consume. So there might be a 5 megabyte page file but only 2 messages left to consume and the rest of the file is just waiting to be GC'd. This metric only includes the 2 messages to be consumed and not the rest of the file. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355380#comment-16355380 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1853 I think paging should be measured just in number of pages (files) on the address. That would give users an idea about storage consumption. It wouldn’t indeed be practical to load it to calculate sizes. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355376#comment-16355376 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user cshannon commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166601621 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PageCountRecordInc.java --- @@ -26,17 +26,20 @@ private int value; + private long persistentSize; --- End diff -- @michaelandrepearce - That is fine I will make those values -1, but I don't think we would try and re-calculate a correct value. When loading the journal you'd have to re-load the messages to calculate from the paging store which we don't want to do. I think the proper behavior is to just ignore it and not use the value in the calculations. Then over time as new records come in the values would be filled in and correct. If I change the value to -1 on the record, are you thinking we should just have the getter do the negative check and return 0 if it's -1 or were you thinking to just return -1 from the getter and then check for negative everywhere else the value is used? > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1667) init pagingFactory with journalBufferTimeout_NIO
yangwei created ARTEMIS-1667: Summary: init pagingFactory with journalBufferTimeout_NIO Key: ARTEMIS-1667 URL: https://issues.apache.org/jira/browse/ARTEMIS-1667 Project: ActiveMQ Artemis Issue Type: Bug Components: Broker Affects Versions: 2.4.0 Reporter: yangwei PagingFactory is wrongly initialized with journalBufferSize_NIO not journalBufferTimeout_NIO. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (ARTEMIS-1666) List of prepared transaction details returns Object.toString() instead of Json string
[ https://issues.apache.org/jira/browse/ARTEMIS-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yeray Borges updated ARTEMIS-1666: -- Summary: List of prepared transaction details returns Object.toString() instead of Json string (was: Error returning the list of prepared transaction details as JSon) > List of prepared transaction details returns Object.toString() instead of > Json string > - > > Key: ARTEMIS-1666 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1666 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 1.5.5 >Reporter: Yeray Borges >Priority: Major > > {{JMSServerManagerImpl#listPreparedTransactionDetailsAsJSON}} returns a > {{JsonArrayBuilder}} string representation instead of the JSon representation. > There is a missing {{JsonArrayBuilder#buid}} call in the method. > This issue can be easily reproduced checking the output of > {{JMSServerControlTest#testListPreparedTransactionDetails}} test. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1666) Error returning the list of prepared transaction details as JSon
Yeray Borges created ARTEMIS-1666: - Summary: Error returning the list of prepared transaction details as JSon Key: ARTEMIS-1666 URL: https://issues.apache.org/jira/browse/ARTEMIS-1666 Project: ActiveMQ Artemis Issue Type: Bug Affects Versions: 1.5.5 Reporter: Yeray Borges {{JMSServerManagerImpl#listPreparedTransactionDetailsAsJSON}} returns a {{JsonArrayBuilder}} string representation instead of the JSon representation. There is a missing {{JsonArrayBuilder#buid}} call in the method. This issue can be easily reproduced checking the output of {{JMSServerControlTest#testListPreparedTransactionDetails}} test. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1663) Add enhanced message count and size metrics for Queues
[ https://issues.apache.org/jira/browse/ARTEMIS-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16355123#comment-16355123 ] ASF GitHub Bot commented on ARTEMIS-1663: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1853#discussion_r166545869 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PageCountRecordInc.java --- @@ -26,17 +26,20 @@ private int value; + private long persistentSize; --- End diff -- Seems my comment is removed due to update. Should be -1. Reason for this is that if it isn't set e.g. have read up an old journal as such decode wont set it, and you know you need to calculate it to get a correct value. > Add enhanced message count and size metrics for Queues > -- > > Key: ARTEMIS-1663 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1663 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > > The purpose of this Jira is to enhance the message count metrics and to add > size metrics for Queues. By size metrics I mean the encoded size of all the > messages (for large messages this will include body as well). Right now we > track memory usage but it is also very useful to know exactly how much data > is pending on a Queue to be consumed. > The scope of this will be support for tracking the count/size of pending > messages, count/size of delivering messages, and count/size of scheduled > messages. For each of these categories durable size metrics will be tracked > as well. The paging store will also support tracking of size metrics as well. > These new metrics will be exposed through JMX to allow users to view the > statistics. Also by tracking these new values it will allow for enhanced > features in the future (ie new flow control options) > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)