glassfish
  1. glassfish
  2. GLASSFISH-18144

configure jms cluster with configstoretype to masterbroker and messagestoretype to jdbc starts the cluster with the file store

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.1.2_dev
    • Fix Version/s: 3.1.2_dev
    • Component/s: jms
    • Labels:
      None

      Description

      Steps to reproduce the problem
      ------------------------------

      1. Create cluster cluster1
      2. Configure jms cluster with configstoretype to masterbroker and messagestoretype to jdbc.
      ./asadmin configure-jms-cluster --clustertype=conventional --configstoretype=masterbroker --messagestoretype=jdbc --dbvendor=mysql --dbuser=root --dburl="jdbc:mysql://hostname:portno/dbname?password=xxxx" cluster1
      3. Create instance1.
      4. Create instance2.
      5. Start the cluster.

      Brokers start successfully with file store instead of JDBC store.

      [06/Jan/2012:14:52:39 PST] Arguments: -port 27676 -name clin1 -nobind -imqhome /opt/SUNWappserver/glassfish3/mq -varhome /opt/SUNWappserver/glassfish3/glassfish/nodes/localhost-domain1/in1/imq -libhome /opt/SUNWappserver/glassfish3/mq/lib -useRmiRegistry -rmiRegistryPort 28686 -save -silent
      [06/Jan/2012:14:52:39 PST] JMSRA BrokerProps: imq.cluster.brokerlist=mq://localhost:27676/,mq://localhost:27677/, imq.cluster.masterbroker=mq://localhost:27676/, imq.cluster.dynamicChangeMasterBrokerEnabled=true, imq.service.activate=jmsdirect, imq.imqcmd.password=*****, imq.jmsra.managed=true, imq.cluster.nowaitForMasterBroker=true
      [06/Jan/2012:14:52:39 PST] Broker Properties: imq.service.activate=jmsdirect, imq.cluster.nowaitForMasterBroker=true, imq.jmx.rmiregistry.use=true, imq.cluster.brokerlist=mq://localhost:27676/,mq://localhost:27677/, imq.cluster.masterbroker=mq://localhost:27676/, imq.portmapper.port=27676, imq.jmsra.managed=true, imq.instancename=clin1, imq.log.console.output=NONE, imq.imqcmd.password=*****, imq.jmx.rmiregistry.port=28686, imq.service.runtimeAdd=mqdirect2, imq.cluster.dynamicChangeMasterBrokerEnabled=true, imq.portmapper.bind=false
      [06/Jan/2012:14:52:39 PST] Embedded Broker
      [06/Jan/2012:14:52:40 PST] [B1060]: Loading persistent data...
      [06/Jan/2012:14:52:40 PST] Using built-in file-based persistent store: /opt/SUNWappserver/glassfish3/glassfish/nodes/localhost-domain1/in1/imq/instances/clin1/
      [06/Jan/2012:14:52:41 PST] WARNING Existing file: incompleteTxnStorehas older cookie version
      than current version. Current version = 1. Original file version = 0
      [06/Jan/2012:14:52:41 PST] [B1041]: Cluster initialization successful.
      [06/Jan/2012:14:52:42 PST] new transaction log enabled
      [06/Jan/2012:14:52:42 PST] sync writes to disk = false
      [06/Jan/2012:14:52:42 PST] logNonTransactedMsgSend = false
      [06/Jan/2012:14:52:42 PST] logNonTransactedMsgAck = false
      [06/Jan/2012:14:52:42 PST] [B1392]: Opening transaction log with file mode rw, maximum size 10,485,760 bytes
      [06/Jan/2012:14:52:43 PST] [B1136]: Processing stored transactions
      [06/Jan/2012:14:52:43 PST] [B1390]: Loading of transactions has been successfully completed
      [06/Jan/2012:14:52:43 PST] [B1013]: Auto Creation of Queues is enabled
      [06/Jan/2012:14:52:43 PST] [B1144]: Creating Dead Message Queue
      [06/Jan/2012:14:52:43 PST] [B1158]: Administrator has created destination mq.sys.dmq [Queue]
      [06/Jan/2012:14:52:45 PST] [B1239]: Using platform MBean server
      [06/Jan/2012:14:52:46 PST] JESMF classes not present - JESMF support will not be enabled.
      [06/Jan/2012:14:52:46 PST] JMX Connector Server jmxrmi started successfully with url service:jmx:rmi://intg-v210-1/jndi/rmi://intg-v210-1:28686/intg-v210-1/27676/jmxrmi
      [06/Jan/2012:14:52:47 PST] [B1004]: Starting the admin service using tcp(host = *, port=0, mode=dedicated) with min threads 4 and max threads of 10
      [06/Jan/2012:14:52:47 PST] [B1227]: Using file user repository for admin service connection authentication
      [06/Jan/2012:14:52:47 PST] [B1004]: Starting the jms service using tcp(host = *, port=0, mode=dedicated) with min threads 10 and max threads of 1000
      [06/Jan/2012:14:52:47 PST] [B1227]: Using file user repository for jms service connection authentication
      [06/Jan/2012:14:52:47 PST] [B1004]: Starting the mqdirect2 service using in-process connections with min threads 0 and max threads of 0
      [06/Jan/2012:14:52:47 PST] [B1227]: Using file user repository for mqdirect2 service connection authentication
      [06/Jan/2012:14:52:47 PST] [B1004]: Starting the jmsdirect service using with min threads 0
      and max threads of 0
      [06/Jan/2012:14:52:47 PST] [B1227]: Using file user repository for jmsdirect service connection authentication
      [06/Jan/2012:14:52:47 PST] [B1069]: Running as master broker for the cluster.
      [06/Jan/2012:14:52:47 PST] [B1068]: Initializing master broker for the first time.
      [06/Jan/2012:14:52:47 PST] [B1383]: Received cluster configuration change records (1, 1325890367778) from mq://10.133.169.118:27676/?instName=clin1&brokerSessionUID=2252702191571021056
      [06/Jan/2012:14:52:47 PST] [B1075]: Received persistent state change records from the master
      broker. Ready to accept client connections.
      [06/Jan/2012:14:52:47 PST] [B1263]: Resume full JMS service
      [06/Jan/2012:14:52:47 PST] [B1004]: Starting the cluster service using tcp [ 0.0.0.0/0.0.0.0:56028 ] with min threads 1 and max threads of 1
      [06/Jan/2012:14:52:47 PST] [B1228]: Cluster ping interval is 60 seconds
      [06/Jan/2012:14:52:47 PST] [B1039]: Broker "clin1@hostname:27676" ready.
      [06/Jan/2012:14:52:50 PST] [B1065]: Accepting: admin@127.0.0.1:56029->admin:56026. Count: service=1 broker=1
      [06/Jan/2012:14:52:51 PST] [B1066]: Closing: admin@127.0.0.1:56029->admin:56026 because "[B0059]: Client closed the connection". Count: service=0 broker=0
      [06/Jan/2012:14:53:04 PST] [B1179]: Activated broker
      Address = mq://10.133.169.118:27677/?instName=clin2&brokerSessionUID=4149843534604729856
      StartTime = 1325890376937
      ProtocolVersion = 410
      [06/Jan/2012:14:53:04 PST] [B1071]: Established cluster connection to broker mq://10.133.169.118:27677/?instName=clin2&brokerSessionUID=4149843534604729856[intg-v210-1/10.133.169.118:56038]

      -Sarada

        Activity

        Hide
        amyk added a comment - - edited

        Liang,

        The broker properties passed to MQ brokers for the above configure-jms-cluster options should include

        imq.persist.store=jdbc <= --messagestoretype=jdbc
        imq.persist.jdbc.dbVendor=mysql <= --dbvendor=mysql when --messagestoretype=jdbc
        imq.persist.jdbc.mysql.user=root <= --dbuser=root when --messagestoretype=jdbc and --dbvendor=mysql
        imq.persist.jdbc.mysql.password=xxx
        imq.persist.jdbc.mysql.property.url=".." <= --dburl=".." when --messagestoretype=jdbc and --dbvendor=mysql

        Show
        amyk added a comment - - edited Liang, The broker properties passed to MQ brokers for the above configure-jms-cluster options should include imq.persist.store=jdbc <= --messagestoretype=jdbc imq.persist.jdbc.dbVendor=mysql <= --dbvendor=mysql when --messagestoretype=jdbc imq.persist.jdbc.mysql.user=root <= --dbuser=root when --messagestoretype=jdbc and --dbvendor=mysql imq.persist.jdbc.mysql.password=xxx imq.persist.jdbc.mysql.property.url=".." <= --dburl=".." when --messagestoretype=jdbc and --dbvendor=mysql
        Hide
        David Zhao added a comment -
        • What is the impact on the customer of the bug?
          Due to this bug, MQ broker in conventional cluster with master broker can not work in EMBEDDED and LOCAL modes of integration if messagestore type is JDBC.

        How likely is it that a customer will see the bug and how serious is the bug?
        Because conventional cluster is the default cluster mode, the customer may see the bug more often if messagestore type is JDBC and integration mode is EMBEDDED or LOCAL. Under the condition, the MQ broker can not be started.

        Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?
        No, this is not a regression and does not meet any other criteria.

        • What is the cost/risk of fixing the bug?
          Add imq db properties to the broker of conventional cluster with master broker if messagestore type is JDBC and integration mode is EMBEDDED or LOCAL.

        How risky is the fix? How much work is the fix? Is the fix complicated?
        The fix is limited to the conventional cluster with master broker when messagestore type is JDBC and integration mode is EMBEDDED or LOCAL.

        • Is there an impact on documentation or message strings?
          No.
        • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
          Standard JMS SQE tests but with MQ configured for conventional clusters with master broker with message store type configured to JDBC.
        • Which is the targeted build of 3.1.2 for this fix?
          build 18.
        Show
        David Zhao added a comment - What is the impact on the customer of the bug? Due to this bug, MQ broker in conventional cluster with master broker can not work in EMBEDDED and LOCAL modes of integration if messagestore type is JDBC. How likely is it that a customer will see the bug and how serious is the bug? Because conventional cluster is the default cluster mode, the customer may see the bug more often if messagestore type is JDBC and integration mode is EMBEDDED or LOCAL. Under the condition, the MQ broker can not be started. Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)? No, this is not a regression and does not meet any other criteria. What is the cost/risk of fixing the bug? Add imq db properties to the broker of conventional cluster with master broker if messagestore type is JDBC and integration mode is EMBEDDED or LOCAL. How risky is the fix? How much work is the fix? Is the fix complicated? The fix is limited to the conventional cluster with master broker when messagestore type is JDBC and integration mode is EMBEDDED or LOCAL. Is there an impact on documentation or message strings? No. Which tests should QA (re)run to verify the fix did not destabilize GlassFish? Standard JMS SQE tests but with MQ configured for conventional clusters with master broker with message store type configured to JDBC. Which is the targeted build of 3.1.2 for this fix? build 18.
        Hide
        David Zhao added a comment -

        checked-in 52158 to 3.1.2 branch and 52157 to trunk branch.

        Show
        David Zhao added a comment - checked-in 52158 to 3.1.2 branch and 52157 to trunk branch.

          People

          • Assignee:
            David Zhao
            Reporter:
            saradak
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: