We have a PHP (STOMP-connected) application that has just read 977 small
packets from one queue (A), processed them, and sent 977 similar messages to
a new queue (B).

Except the broker tells me the queue (B) has 884 messages. There is nothing
dequeuing messages on queue (B).

This has occurred on our test box - AMQ 5.5.0 with debugging switched on.
The stomp logs show that 977 messages were received to the queue (B).

Thinking this may be a broken counter, I constructed a test script that read
the messages back. No doubt, only 884 messages received from queue (B).

Somewhere between logging the STOMP packet received and it being stored for
retrieval by the broker, 93 messages went missing.

There is no expiration being set, and the messages are set to persist. These
are, for us, critical messages.

The PHP Stomp extension (from pecl) reported the send() as returning boolean
true. It all looks good from our app's point-of-view.

This is all running on Ubuntu 11.04:
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)

Any ideas how to debug this?

The following is our current log4j.properties file. We have the logs saved.

#
# This file controls most of the logging in ActiveMQ which is mainly based
around
# the commons logging API.
#
#log4j.rootLogger=INFO, console, logfile
#log4j.logger.org.apache.activemq.spring=WARN
#log4j.logger.org.apache.activemq.web.handler=WARN
#log4j.logger.org.springframework=WARN
#log4j.logger.org.apache.xbean=WARN
#log4j.logger.org.apache.camel=ERROR

# When debugging or reporting problems to the ActiveMQ team,
# comment out the above lines and uncomment the next.

log4j.rootLogger=DEBUG, logfile, console

# Or for more fine grained debug logging uncomment one of these
#log4j.logger.org.apache.activemq=DEBUG
#log4j.logger.org.apache.camel=DEBUG

# Console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p | %m%n
log4j.appender.console.threshold=INFO

# File appender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=${activemq.base}/data/activemq.log
log4j.appender.logfile.maxFileSize=1024KB
log4j.appender.logfile.maxBackupIndex=5
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d | %-5p | %m | %c | %t%n

log4j.appender.stomp=org.apache.log4j.RollingFileAppender
log4j.appender.stomp.file=${activemq.base}/data/stomp.log
log4j.appender.stomp.maxFileSize=1024KB
log4j.appender.stomp.maxBackupIndex=5
log4j.appender.stomp.append=true
log4j.appender.stomp.layout=org.apache.log4j.PatternLayout
log4j.appender.stomp.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1}
- %m%n

log4j.logger.org.apache.activemq.transport.stomp=TRACE, stomp
log4j.additivity.org.apache.activemq.transport.stomp=false

Reply via email to