Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-4332

Datasources deployed in EAP return an UNKNOWN state in some instances

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • EAP_EWP 5.1.0
    • EAP 5.0.0, EAP 5.0.1
    • System
    • None
    • EAP 5.0.1 running on Fedora 11 Kernel 2.6.30.10

    • Hide
      1. Copy the attached OracleNoTxnDS-ds.xml to /tmp
      2. Copy (may need to download) ojdbc14.jar to /tmp
      1. Set JBOSS_HOME
        JBOSS_HOME=/media/ext_data/opt/jboss/eap/jboss-eap-5.0.1/jboss-as
      1. Copy all configuration
        cd $JBOSS_HOME/server
        cp -r all/ IT854093/
      1. Enable JMX admin account
        sed -i 's/# admin\=admin/admin\=admin/g' IT854093/conf/props/jmx-console-users.properties
      1. Copy Oracle JDBC driver to lib
        cp /tmp/ojdbc14.jar $JBOSS_HOME/server/IT854093/lib
      1. Copy sample non-TX Oracle datasource to farm
        cp /tmp/OracleNoTxnDS-ds.xml $JBOSS_HOME/server/IT854093/farm
        sed -i /tmp/
      1. Start JBoss AS
        cd $JBOSS_HOME/bin
        ./run.sh -Djboss.messaging.ServerPeerID=1 -Djboss.partition.name=IT854093 -c IT854093 -b 0.0.0.0 -Djboss.server.base.dir=$JBOSS_HOME/server -Djboss.server.base.url=file://$JBOSS_HOME/server -Djboss.jgroups.tcp.tcp_port=7920 -Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=localhost[7920] -Djboss.jgroups.enable_diagnostics=false -Djboss.messaging.datachanneltcpport=8210 -Djgroups.tcpping.initial_messaging_hosts=localhost[8210]
      1. From admin-console (http://localhost:8080/admin-console), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources
      2. See that DefaultDS has a status of UP
      3. See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN)
      1. Create a copy of the ds with a new JNDI name and deploy it in farm
        cd $JBOSS_HOME/server
        cp /tmp/OracleNoTxnDS-ds.xml /tmp/OracleNoTxnDS2-ds.xml
        sed -i 's/OracleNoTxnDS/OracleNoTxnDS2/g' /tmp/OracleNoTxnDS2-ds.xml
        cp /tmp/OracleNoTxnDS2-ds.xml $JBOSS_HOME/server/IT854093/farm
      1. From admin-console (http://localhost:8080/admin-console), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources
      2. See that DefaultDS has a status of UP
      3. See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN)
      4. See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN)
      1. Create another copy of the ds with a new JNDI name and deploy it in deploy
        cd $JBOSS_HOME/server
        cp /tmp/OracleNoTxnDS2-ds.xml /tmp/OracleNoTxnDS3-ds.xml
        sed -i 's/OracleNoTxnDS2/OracleNoTxnDS3/g' /tmp/OracleNoTxnDS3-ds.xml
        cp /tmp/OracleNoTxnDS3-ds.xml $JBOSS_HOME/server/IT854093/deploy
      1. From admin-console (http://localhost:8080/admin-console), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources
      2. See that DefaultDS has a status of UP
      3. See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN)
      4. See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN)
      5. See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN)
      1. Create another copy of the ds with a new JNDI name and deploy it in farm
        cd $JBOSS_HOME/server
        cp /tmp/OracleNoTxnDS3-ds.xml /tmp/OracleNoTxnDS-farm-ds.xml
        sed -i 's/OracleNoTxnDS3/OracleNoTxnDS-farm/g' /tmp/OracleNoTxnDS-farm-ds.xml
        cp /tmp/OracleNoTxnDS-farm-ds.xml $JBOSS_HOME/server/IT854093/farm
      1. From admin-console (http://localhost:8080/admin-console), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources
      2. See that DefaultDS has a status of UP
      3. See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN)
      4. See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN)
      5. See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN)
      6. See that OracleNoTxnDS-farm has a status of UP
      1. Now restart AS to see what the state of all these datasources are
      2. Shutdown
        cd $JBOSS_HOME/bin
        ./run.sh -Djboss.messaging.ServerPeerID=1 -Djboss.partition.name=IT854093 -c IT854093 -b 0.0.0.0 -Djboss.server.base.dir=$JBOSS_HOME/server -Djboss.server.base.url=file://$JBOSS_HOME/server -Djboss.jgroups.tcp.tcp_port=7920 -Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=localhost[7920] -Djboss.jgroups.enable_diagnostics=false -Djboss.messaging.datachanneltcpport=8210 -Djgroups.tcpping.initial_messaging_hosts=localhost[8210]
      1. From admin-console (http://localhost:8080/admin-console), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources
      2. See that DefaultDS has a status of UP
      3. See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN)
      4. See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN)
      5. See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN)
      6. See that OracleNoTxnDS-farm has a status of UP
      1. If you repeat the steps from the beginning (fresh EAP config directory) and use a different ds file and JNDI name (like go in reverse order) you will see that the issue seems to always affect the first deployed DS and ones similarly named.
      Show
      Copy the attached OracleNoTxnDS-ds.xml to /tmp Copy (may need to download) ojdbc14.jar to /tmp Set JBOSS_HOME JBOSS_HOME=/media/ext_data/opt/jboss/eap/jboss-eap-5.0.1/jboss-as Copy all configuration cd $JBOSS_HOME/server cp -r all/ IT854093/ Enable JMX admin account sed -i 's/# admin\=admin/admin\=admin/g' IT854093/conf/props/jmx-console-users.properties Copy Oracle JDBC driver to lib cp /tmp/ojdbc14.jar $JBOSS_HOME/server/IT854093/lib Copy sample non-TX Oracle datasource to farm cp /tmp/OracleNoTxnDS-ds.xml $JBOSS_HOME/server/IT854093/farm sed -i /tmp/ Start JBoss AS cd $JBOSS_HOME/bin ./run.sh -Djboss.messaging.ServerPeerID=1 -Djboss.partition.name=IT854093 -c IT854093 -b 0.0.0.0 -Djboss.server.base.dir=$JBOSS_HOME/server -Djboss.server.base.url= file://$JBOSS_HOME/server -Djboss.jgroups.tcp.tcp_port=7920 -Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=localhost [7920] -Djboss.jgroups.enable_diagnostics=false -Djboss.messaging.datachanneltcpport=8210 -Djgroups.tcpping.initial_messaging_hosts=localhost [8210] From admin-console ( http://localhost:8080/admin-console ), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources See that DefaultDS has a status of UP See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN) Create a copy of the ds with a new JNDI name and deploy it in farm cd $JBOSS_HOME/server cp /tmp/OracleNoTxnDS-ds.xml /tmp/OracleNoTxnDS2-ds.xml sed -i 's/OracleNoTxnDS/OracleNoTxnDS2/g' /tmp/OracleNoTxnDS2-ds.xml cp /tmp/OracleNoTxnDS2-ds.xml $JBOSS_HOME/server/IT854093/farm From admin-console ( http://localhost:8080/admin-console ), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources See that DefaultDS has a status of UP See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN) Create another copy of the ds with a new JNDI name and deploy it in deploy cd $JBOSS_HOME/server cp /tmp/OracleNoTxnDS2-ds.xml /tmp/OracleNoTxnDS3-ds.xml sed -i 's/OracleNoTxnDS2/OracleNoTxnDS3/g' /tmp/OracleNoTxnDS3-ds.xml cp /tmp/OracleNoTxnDS3-ds.xml $JBOSS_HOME/server/IT854093/deploy From admin-console ( http://localhost:8080/admin-console ), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources See that DefaultDS has a status of UP See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN) Create another copy of the ds with a new JNDI name and deploy it in farm cd $JBOSS_HOME/server cp /tmp/OracleNoTxnDS3-ds.xml /tmp/OracleNoTxnDS-farm-ds.xml sed -i 's/OracleNoTxnDS3/OracleNoTxnDS-farm/g' /tmp/OracleNoTxnDS-farm-ds.xml cp /tmp/OracleNoTxnDS-farm-ds.xml $JBOSS_HOME/server/IT854093/farm From admin-console ( http://localhost:8080/admin-console ), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources See that DefaultDS has a status of UP See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS-farm has a status of UP Now restart AS to see what the state of all these datasources are Shutdown cd $JBOSS_HOME/bin ./run.sh -Djboss.messaging.ServerPeerID=1 -Djboss.partition.name=IT854093 -c IT854093 -b 0.0.0.0 -Djboss.server.base.dir=$JBOSS_HOME/server -Djboss.server.base.url= file://$JBOSS_HOME/server -Djboss.jgroups.tcp.tcp_port=7920 -Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=localhost [7920] -Djboss.jgroups.enable_diagnostics=false -Djboss.messaging.datachanneltcpport=8210 -Djgroups.tcpping.initial_messaging_hosts=localhost [8210] From admin-console ( http://localhost:8080/admin-console ), navigate to host -> JBossAS Servers -> JBoss EAP 5 (IT854093) -> Resources -> Datasources See that DefaultDS has a status of UP See that OracleNoTxnDS has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS2 has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS3 has a status of DOWN (this is due to its state being UNKNOWN) See that OracleNoTxnDS-farm has a status of UP If you repeat the steps from the beginning (fresh EAP config directory) and use a different ds file and JNDI name (like go in reverse order) you will see that the issue seems to always affect the first deployed DS and ones similarly named.

    Description

      Deployed datasources will sometimes return a state of UNKNOWN instead of a state of RUNNING when certain configuration is used. As current, this issue prevents Admin Console (admin-console) from reporting the correct state of deployed components. In some instance, the issue is confined to the farm directory but in others the issue seems to also affect deployments in the deploy directory.

      The steps/actions when running EAP and deploying the first datasource seems to directly affect the outcome of the deployment's state. For example, if removing all the JGroups environment options from the run.sh command-line seems to make the issue go away, however, it should be noted that I have reproduced this issue without those options in the past (just not able to do it now).

      Attachments

        1. jbpapp.4332.patch
          11 kB
        2. ojdbc14.jar
          1.16 MB
        3. OracleNoTxnDS-ds.xml
          1 kB

        Issue Links

          Activity

            People

              rhn-support-jawilson Jimmy Wilson
              rhn-support-loleary Larry O'Leary
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: