Hi Lurga,
this seems to be a valid anomaly.
Please check out the contributing[1] details to see the best way to
make your changes permanent.
[1] http://activemq.apache.org/contributing.html
2008/11/11 lurga <aze@netease.com>:
>
> Queue invokes memoryUsage.isFull() method to decide when to block producer
> sending message, and FilePendingCursor invokes hasSpace() method (uses
> systemUsage of the Queue) to decide when to flush messages to disk. I made a
> patch to avoid diverse results from these two different ways of judgement.
> Now it seems to work correct.
>
> Index:
> activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
> ===================================================================
> --- activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
> (revision 712969)
> +++ activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
> (working copy)
> @@ -141,6 +141,12 @@
> memoryUsage.setParent(systemUsage.getMemoryUsage());
> }
>
> + long memoryUsageHighWaterMark =
> + Math.min(memoryUsage.getLimit(),
> systemUsage.getMemoryUsage().getLimit())
> + * messages.getMemoryUsageHighWaterMark()
> + / systemUsage.getMemoryUsage().getLimit();
> + messages.setMemoryUsageHighWaterMark((int)
> memoryUsageHighWaterMark);
> +
> if (isOptimizedDispatch()) {
> this.taskRunner = taskFactory.createTaskRunner(this,
> "TempQueue: " + destination.getPhysicalName());
> }else {
> --
> View this message in context: http://www.nabble.com/memoryUsage-configuration-tp20416088p20435735.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
|