mq
  1. mq
  2. MQ-164

Oracle JDBC: enhanced cluster, 'imqdbmgr remove bkr' removes all destinations

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.1, 4.2, 4.3, 4.4, 4.4u1, 4.4u2, 4.5
    • Fix Version/s: 5.0
    • Component/s: broker-core
    • Labels:
      None
    • Environment:

      Oracle database, MQ enhanced cluster

      Description

      1. start a 2-broker enhanced cluster using 'oracle' JDBC store by setting
      imq.persist.jdbc.dbVendor=oracle

      2. send 1 message to a queue to broker1
      3. shutdown broker1 by 'imqcmd shutdown bkr'
      4. after broker2 takes over broker1
      5. remove broker1 from the enhanced cluster by 'imqdbmgr remove bkr'
      6. send 1 message to the same queue to broker2 - The send fails and following exception happens in broker2

      [#|2012-05-02T14:33:10.468-0700|SEVERE|5.0|imq.log.Logger|_ThreadID=16;_ThreadName=Thread-jms[0];|ERROR [B2011]: Storing of JMS message from 7-xxxxx-52689-1335994390460 failed:
      com.sun.messaging.jmq.jmsserver.util.DestinationNotFoundException: [B3013]: Destination Q:q0 could not be found in the store
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.DestinationDAOImpl.checkDestination(DestinationDAOImpl.java:960)
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.OracleMessageDAOImpl.insert(OracleMessageDAOImpl.java:200)
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.MessageDAOImpl.insert(MessageDAOImpl.java:401)
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.JDBCStore.storeMessageInternal(JDBCStore.java:322)
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.JDBCStore.storeMessage(JDBCStore.java:296)
      at com.sun.messaging.jmq.jmsserver.persist.jdbc.JDBCStore.storeMessage(JDBCStore.java:266)
      at com.sun.messaging.jmq.jmsserver.core.PacketReference.store(PacketReference.java:1281)
      at com.sun.messaging.jmq.jmsserver.core.Queue.routeNewMessage(Queue.java:555)
      at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.routeMessage(DataHandler.java:473)
      at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.handle(DataHandler.java:251)
      at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.handle(DataHandler.java:101)
      at com.sun.messaging.jmq.jmsserver.data.PacketRouter.handleMessage(PacketRouter.java:188)
      at com.sun.messaging.jmq.jmsserver.service.imq.IMQIPConnection.readData(IMQIPConnection.java:1334)
      at com.sun.messaging.jmq.jmsserver.service.imq.IMQIPConnection.process(IMQIPConnection.java:553)
      at com.sun.messaging.jmq.jmsserver.service.imq.OperationRunnable.process(OperationRunnable.java:176)
      at com.sun.messaging.jmq.jmsserver.pool.BasicRunnable.run(BasicRunnable.java:499)
      at java.lang.Thread.run(Thread.java:619)

        Activity

        Hide
        amyk added a comment - - edited

        fixed in 5.0
        test cases:
        tonga/admin/ha/dbmgr/remove_bkr_oracle
        tonga/admin/ha/dbmgr/remove_bkr_nofailover_oracle

        Show
        amyk added a comment - - edited fixed in 5.0 test cases: tonga/admin/ha/dbmgr/remove_bkr_oracle tonga/admin/ha/dbmgr/remove_bkr_nofailover_oracle
        Hide
        Ed Bratt added a comment -

        A potential workaround is to simply shutdown any broker that you wish to remove from the cluster, using

        imqcmd shutdown bkr

        All data in an enhanced availability cluster will be migrated to remaining nodes of the cluster. Periodic warnings in the logs, such as:

        WARNING [B2105]: Attempting to initiate a cluster connection to mq://10.133.184.56:7678/?instName=???&brokerID=b&brokerSessionUID=null&ha=true failed: Connection refused

        will continue, until the broker cluster is started without the removed brokers in the original cluster definition.

        Show
        Ed Bratt added a comment - A potential workaround is to simply shutdown any broker that you wish to remove from the cluster, using imqcmd shutdown bkr All data in an enhanced availability cluster will be migrated to remaining nodes of the cluster. Periodic warnings in the logs, such as: WARNING [B2105] : Attempting to initiate a cluster connection to mq://10.133.184.56:7678/?instName=???&brokerID=b&brokerSessionUID=null&ha=true failed: Connection refused will continue, until the broker cluster is started without the removed brokers in the original cluster definition.
        Hide
        amyk added a comment -

        fix back ported to 4.5.2.1 by sustaining

        Show
        amyk added a comment - fix back ported to 4.5.2.1 by sustaining
        Hide
        saradak added a comment -


        Verified the bug.

        Show
        saradak added a comment - Verified the bug.

          People

          • Assignee:
            amyk
            Reporter:
            amyk
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: