You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Charles Woerner <cw...@demandbase.com> on 2010/01/10 23:58:26 UTC

qpid-config timeout creating large journal

Hello,

I'm using qpid in a store and forward type topology, where the source  
brokers are co-located with a webserver and are pushing messages to a  
central broker.  The queues are persistent and I'm trying to declare  
them with a geometry that will allow me to endure about 2 days of  
central broker downtime.  So it would seem to me that the journal data  
files would need to be both large and many for the queue in question.   
The --file-count and --file-size arguments to qpid-config seem to work  
just fine, however the qpid-config tool (and the queue_declare() call  
in the underlying python library) seem to timeout back to the client  
if the time it takes to create the journal files exceeds 10 seconds.

Here's a test case:

]$ tail -f /var/log/qpid/*
]$ qpid-config add queue test8 --durable --file-count 1 --file-size 5120
2010-jan-10 22:55:24 trace RECV [127.0.0.1:58576]: Frame[BEbe;  
channel=1; {QueueDeclareBody: queue=test8; durable=1;  
arguments 
={qpid.file_count:F8:int64(1),qpid.file_size:F8:int64(5120)}; }]
2010-jan-10 22:55:24 trace guest@QPID.ip-10-212-150-161.10564.1: recv  
cmd 48: {QueueDeclareBody: queue=test8; durable=1;  
arguments={qpid.file_count:F8:int64(1),qpid.file_size:F8:int64(5120)}; }
2010-jan-10 22:55:24 notice Journal "test8": Created
2010-jan-10 22:55:24 debug Journal "test8": Journal directory = "/vol/ 
qpidd/rhm/jrnl/0008/test8/"; Base file name = "JournalData"
2010-jan-10 22:55:24 debug Journal "test8": Initialize; num_jfiles=1  
jfsize_sblks=655360 wcache_pgsize_sblks=64 wcache_num_pages=32
Failed: Timeout -
]$ echo $?
1
2010-jan-10 22:55:43 debug Journal "test8": Initialization complete
2010-jan-10 22:55:43 debug Configured queue test8 with no-local=0
2010-jan-10 22:55:43 debug Configured queue test8 with  
qpid.trace.id='' and qpid.trace.exclude='' i.e. 0 elements
2010-jan-10 22:55:43 debug guest@QPID.ip-10-212-150-161.10564.1:  
receiver marked completed: 48 incomplete: { } unknown-completed:  
{ [0,48] }
2010-jan-10 22:55:43 debug DISCONNECTED [127.0.0.1:58576]
2010-jan-10 22:55:43 debug guest@QPID.ip-10-212-150-161.10564.1:  
detached on broker.

There are no errors in the broker log and indeed the queue and journal  
get created, although it appears to be asynchronous with respect to  
the qpid-config queue_declare() call and doesn't complete until after  
qpid-config exits with return value 1.

My qpidd.conf file is more or less:

data-dir=/vol/qpidd
num-jfiles=20
jfile-size-pgs=5120
trace=yes

Is there some way to force qpid-config to wait as long as necessary  
for the requested work to complete before exiting?  Or is there an  
alternate way to create the durable queue that sidesteps this issue  
altogether (it must be programmatic because this is part of a startup  
script).

Thanks in advance.
__

Charles Woerner  | cwoerner@demandbase.com |   demandbase