Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2804

qpid-config timeout creating large journal

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.6
    • None
    • C++ Tools
    • None
    • C++ broker under Linux

    Description

      This was posted by Charles Woerner to the mailing list and I'm experiencing the same issue:

      Subject: qpid-config timeout creating large journal - msg#00048
      List: users-qpid.apache.org
      Sign up for updates to this mailing list. email:
      Date: Prev Next Index Thread: Prev Next Index
      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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 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).

      Attachments

        Activity

          People

            Unassigned Unassigned
            cjcdoomed Christopher Cooper
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: