Qpid
  1. Qpid
  2. QPID-4121

ConcurrentModificationException reported by HouseKeepingTask while closing session

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.16, 0.17
    • Fix Version/s: 0.18, 0.19
    • Component/s: Java Broker
    • Labels:
      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)
      

        Issue Links

          Activity

          Philip Harvey created issue -
          Philip Harvey made changes -
          Field Original Value New Value
          Status Open [ 1 ] In Progress [ 3 ]
          Philip Harvey made changes -
          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:

          {noformat}
          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) - Exc
          eption in housekeeping for connection: /169.115.203.31:50639(emea_uk_dcpp_notifier_ds)
          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)
          {noformat}
          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:

          {noformat}
          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)
          {noformat}
          Philip Harvey made changes -
          Philip Harvey made changes -
          Status In Progress [ 3 ] Ready To Review [ 10006 ]
          Philip Harvey made changes -
          Assignee Philip Harvey [ philharveyonline ] Keith Wall [ k-wall ]
          Keith Wall made changes -
          Fix Version/s Future [ 12315490 ]
          Affects Version/s 0.17 [ 12320179 ]
          Keith Wall made changes -
          Fix Version/s Future [ 12315490 ]
          Keith Wall made changes -
          Status Ready To Review [ 10006 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Keith Wall made changes -
          Fix Version/s 0.19 [ 12322452 ]
          Fix Version/s Future [ 12315490 ]
          Affects Version/s 0.18 [ 12322451 ]
          Keith Wall made changes -
          Link This issue is related to QPID-4131 [ QPID-4131 ]
          Keith Wall made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Keith Wall made changes -
          Fix Version/s 0.18 [ 12322451 ]
          Affects Version/s 0.18 [ 12322451 ]

            People

            • Assignee:
              Keith Wall
              Reporter:
              Philip Harvey
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development