Flow Control on intra-vm connections?

View: New views
6 Messages — Rating Filter:   Alert me  

Flow Control on intra-vm connections?

by Dirk Grosskopf :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

All

We are using a Swiftlet that creates messages based on database content and places it on a queue.
This Swiftlet shall be delayed if the queue reaches the flow control start size and therefore we are using

The particular code is:

tx = sender.createTransaction();
message.setJMSDestination(new QueueImpl(queueName));
if (this.ttl > 0)
    message.setJMSExpiration(System.currentTimeMillis() + this.ttl);
tx.putMessage(message);
tx.commit();
Thread.sleep(tx.getFlowControlDelay());


So far so good, but the Swiftlet never throttles down. We can see it, because the queue usage information for FC Delay is always 0, even if the queue depth is multiples times of the FC Start value

Any hints?

Dirk

Re: Flow Control on intra-vm connections?

by IIT Software :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Flow control throttles to consumer rates and therefore jumps in if there is at least 1 consumer connected and flow control start queue size has been reached.

Re: Flow Control on intra-vm connections?

by Dirk Grosskopf :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks

I double checked it and it's true  

One question:
I'm using 7.5.1 in development, but production is partly on 5.2.5
Are there any changes between 5.2.5 and 7.5.1 or any idea why we see this in production?

Dirk

Re: Flow Control on intra-vm connections?

by IIT Software :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dirk Grosskopf wrote:
I'm using 7.5.1 in development, but production is partly on 5.2.5
Are there any changes between 5.2.5 and 7.5.1 or any idea why we see this in production?
What do you see in production?

The change log is here. I don't see a problem to use 7.x in dev and 5.x in production because there was no change at the JMS API.

Re: Flow Control on intra-vm connections?

by Dirk Grosskopf :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

ProdOps claims that the flow control is not working for the swiftlet. The problem is, I do not have access to the production systems and log, but ask the to send me the logs.

The previous question was just because I didn't see any changes in the change log too (I already examined it frequently)

Thank for the help
Dirk

Re: Flow Control on intra-vm connections?

by IIT Software :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

There was no change in flow control between 5.x and 7.x. So if there is a consumer (permanently) connected to the queue, you should see fc delays in Explorer. These delays are passed back to your Swiftlet.