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

ConcurrentModificationException reported by HouseKeepingTask while closing session

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.16, 0.17
    • 0.18, 0.19
    • Broker-J
    • None

    Description

      A ConcurrentModificationException was reported by a housekeeping thread while closing a session. It was closing the session because its transaction was open or idle for longer than the configured maximum time.

      Here is the log excerpt:

      2012-07-02 19:25:12,210 WARN [notifier:VirtualHostHouseKeepingTask] server.AMQChannel (AMQChannel.java:1519) - IDLE TRANSACTION ALERT org.apache.qpid.server
      .logging.subjects.ChannelLogSubject@4ca3b645 503084 ms
      2012-07-02 23:48:41,979 WARN [notifier:VirtualHostHouseKeepingTask] server.AMQChannel (AMQChannel.java:1519) - IDLE TRANSACTION ALERT org.apache.qpid.server
      .logging.subjects.ChannelLogSubject@3b1d0a16 584211 ms
      2012-07-02 23:48:42,033 ERROR [notifier:VirtualHostHouseKeepingTask] virtualhost.VirtualHostImpl$VirtualHostHouseKeepingTask (VirtualHostImpl.java:407) - Exception in housekeeping for connection: /xxx.xxx.xxx.xx:50639(xxxxx)
      	java.util.ConcurrentModificationException
      	at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
      	at java.util.AbstractList$Itr.next(AbstractList.java:343)
      	at org.apache.qpid.server.txn.LocalTransaction.rollback(LocalTransaction.java:297)
      	at org.apache.qpid.server.AMQChannel.close(AMQChannel.java:535)
      	at org.apache.qpid.server.protocol.AMQProtocolEngine.closeChannel(AMQProtocolEngine.java:727)
      	at org.apache.qpid.server.protocol.AMQProtocolEngine.closeSession(AMQProtocolEngine.java:1350)
      	at org.apache.qpid.server.AMQChannel.checkTransactionStatus(AMQChannel.java:1530)
      	at org.apache.qpid.server.virtualhost.VirtualHostImpl$VirtualHostHouseKeepingTask.execute(VirtualHostImpl.java:400)
      	at org.apache.qpid.server.virtualhost.HouseKeepingTask.run(HouseKeepingTask.java:61)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101	(ScheduledThreadPoolExecutor.java:98)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic	(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      

      Attachments

        Issue Links

          Activity

            People

              kwall Keith Wall
              philharveyonline Phil Harvey
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: