qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5782) VirtualHostHouseKeeper tries to check queues that are not yet open leading to NPE in logs
Date Thu, 29 May 2014 12:02:01 GMT

    [ https://issues.apache.org/jira/browse/QPID-5782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14012304#comment-14012304
] 

Keith Wall commented on QPID-5782:
----------------------------------

I've made commit  https://svn.apache.org/r1598260 to simply prevent the housekeeper from checking
non-active queues, and prevent the screeds of NPE in the perf test logs.  At the point where
we permit the state of queues to be altered at runtime, we may been to look at this again,
considering the effect on the housekeeper if a queue transits to stopped or quiesced whilst
the housekeeper is in flight.


> VirtualHostHouseKeeper tries to check queues that are not yet open leading to NPE in
logs
> -----------------------------------------------------------------------------------------
>
>                 Key: QPID-5782
>                 URL: https://issues.apache.org/jira/browse/QPID-5782
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.29
>            Reporter: Keith Wall
>            Assignee: Rob Godfrey
>
> Since QPID-5710, there has been a possibility that the housekeeper can attempt to check
that message status on queues that are not yet open, and this leads to an NPE as such queues
have a null entry list.
> TransactionTimeoutTest occasionally shows this problem (see log excerpt below).  It does
not cause a test failure as the housekeeper merely logs all exceptions and continues.
> It seems QPID-5710 introduced this possibility as it moved the creation of the queue
entry list from construction time to onOpen().
> {noformat}
> IoReceiver - localhost/127.0.0.1:15672 2014-05-23 08:00:17,586 DEBUG [qpid.client.protocol.AMQProtocolHandler]
(1873784078)Method frame received: [ExchangeDeclareOkBodyImpl: ]
> main 2014-05-23 08:00:17,586 DEBUG [qpid.protocol] SEND: [org.apache.qpid.client.protocol.AMQProtocolHandler@6fafad0e]
Frame channelId: 3, bodyFrame: [QueueDeclareBodyImpl: ticket=0, queue=TransactionTimeoutTest-testConsumerIdleCommit,
passive=false, durable=true, exclusive=false, autoDelete=false, nowait=false, arguments=null]
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,586 DEBUG [server.protocol.v0_8.AMQProtocolEngine]
Frame handled in 0 ms. Frame: Frame channelId: 3, bodyFrame: [ExchangeDeclareBodyImpl: ticket=0,
exchange=amq.direct, type=direct, passive=true, durable=false, autoDelete=false, internal=false,
nowait=false, arguments=null]
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,586 DEBUG [server.protocol.v0_8.AMQChannel]
sync() called on channel 3(1965183178)
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,586 DEBUG [server.protocol.v0_8.AMQProtocolEngine]
RECV: Frame channelId: 3, bodyFrame: [QueueDeclareBodyImpl: ticket=0, queue=TransactionTimeoutTest-testConsumerIdleCommit,
passive=false, durable=true, exclusive=false, autoDelete=false, nowait=false, arguments=null]
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,587 DEBUG [server.store.berkeleydb.BDBMessageStore]
Create [name=TransactionTimeoutTest-testConsumerIdleCommit, categoryClass=interface org.apache.qpid.server.model.Queue,
type=Queue, id=848209cf-5c99-4b95-8488-c07973eb199f]
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,587 DEBUG [server.store.berkeleydb.BDBMessageStore]
Storing configured object record: [name=TransactionTimeoutTest-testConsumerIdleCommit, categoryClass=interface
org.apache.qpid.server.model.Queue, type=Queue, id=848209cf-5c99-4b95-8488-c07973eb199f]
> test:VirtualHostHouseKeepingTask 2014-05-23 08:00:17,589 DEBUG [qpid.server.virtualhost.AbstractVirtualHost]
Checking message status for queue: TransactionTimeoutTest-testConsumerIdleCommit
> test:VirtualHostHouseKeepingTask 2014-05-23 08:00:17,589 ERROR [qpid.server.virtualhost.AbstractVirtualHost]
Exception in housekeeping for queue: TransactionTimeoutTest-testConsumerIdleCommit
> java.lang.NullPointerException
>         at org.apache.qpid.server.queue.AbstractQueue.checkMessageStatus(AbstractQueue.java:1999)
>         at org.apache.qpid.server.virtualhost.AbstractVirtualHost$VirtualHostHouseKeepingTask.execute(AbstractVirtualHost.java:935)
>         at org.apache.qpid.server.virtualhost.HouseKeepingTask$1.run(HouseKeepingTask.java:61)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:356)
>         at org.apache.qpid.server.virtualhost.HouseKeepingTask.run(HouseKeepingTask.java:54)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:744)
> IoReceiver - /127.0.0.1:50620 2014-05-23 08:00:17,598 INFO [qpid.message.queue.created]
[con:952(guest@/127.0.0.1:50620/test)/ch:3] [vh(/test)/qu(TransactionTimeoutTest-testConsumerIdleCommit)]
QUE-1001 : Create : Durable
>  {noformat} 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message