2008/5/29 TLFox <[EMAIL PROTECTED]>: > > > > TLFox wrote: >> >> >> If BDB is actually synching but the client is sending at such a high rate, >> this would imply to me that either producer flow control is not >> implemented in qpid, or the producer window size is set to a very large >> value. >> >> I also notice the server quickly OOMs at this sustained rate. >> >> > > More on this: > > I have also tried with M2.1 Java (with in memory store only since can't > build the bridging jar at this point). > > Using the Java client I have one producer - non transacted, non persistent, > and one consumer, auto_ack. > > I sent messages as fast as I can, the consumer receives about 5000 before > hanging, the producer then appears to continue sending messages at a high > rate, before the server runs out of memory. > > Is this to be expected? Is there any way of enabling producer flow control. > > At the moment the only stable producer/consumer scenario i can get with 2.0 > or 2.1 is when using transactions, performance is low, but it doesn't OOM, > probably I guess because transactions are sent blocking so doesn't have a > chance to overwhelm the server. > > Any ideas? >
You are correct, there is no producer side flow control. We are looking to shortly put in flow control on the Java Broker (https://issues.apache.org/jira/browse/QPID-942), but this is a very blunt instrument in AMQP0-8/0-9 (another thing that we have fedback into AMQP0-10). -- Rob
