Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-23937

(7.4.z) WFLY-16935 - NullPointerException when trying add ejb3 timer service with edb

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 7.4.8.GA, 7.4.8.CR1
    • 7.4.7.GA, 8.0.0.Beta-DR3
    • EJB
    • None
    • False
    • None
    • False
    • Hide
      1. Download edb driver from http://www.qa.jboss.com/jdbc-drivers-products/EAP/8.0.0/
      2. Add downloaded driver to jdbc datasource drivers.
      3. Change in datasource exampleDS or create new
        1. Change driver name to created jdbc datasource driver (it§s enough to reproduce)
        2. Change connection url to valid edb connection.
        3. Change password and user for this connection.
      4. Execute
        bin/jboss-cli.sh -c --command="/subsystem=ejb3/service=timer-service/database-data-store=database:add(datasource-jndi-name=\"java:jboss/datasources/ExampleDS\")" 
      1. The NPE should appear.
      Show
      Download edb driver from http://www.qa.jboss.com/jdbc-drivers-products/EAP/8.0.0/ Add downloaded driver to jdbc datasource drivers. Change in datasource exampleDS or create new Change driver name to created jdbc datasource driver (it§s enough to reproduce) Change connection url to valid edb connection. Change password and user for this connection. Execute bin/jboss-cli.sh -c --command= "/subsystem=ejb3/service=timer-service/database-data-store=database:add(datasource-jndi-name=\" java:jboss/datasources/ExampleDS\ ")" The NPE should appear.

    Description

      Change datasource driver name and modify correct connection url, user and password. After that trying to add timer service and this error appear

       

      {
          "outcome" => "failed",
          "failure-description" => {"WFLYCTL0080: Failed services" => {"org.wildfly.ejb3.timer-service.timer-persistence-service.database" => "Failed to start service
          Caused by: java.lang.NullPointerException"}},
          "rolled-back" => true
      }
       

       

       

      This happen only with edb (enterprise database). Driver added fine (used one from http://www.qa.jboss.com/jdbc-drivers-products/EAP/8.0.0/).

      Tried posgresql and same procedure and it work fine, more info in reproducer.

       

      Log from testing server:

      20:23:58,983 DEBUG [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) Registering EJB client context org.jboss.ejb.client.EJBClientContext@1ae0e9d7 for classloader ModuleClassLoader for Module "deployment.edb-jdbc18.jar" from Service Module Loader
      20:23:59,001 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.edb.Driver (version 42.2)
      20:23:59,035 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) WFLYJCA0018: Started Driver service with driver-name = edb-jdbc18.jar
      20:23:59,105 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
      20:23:59,528 DEBUG [org.jboss.as.ejb3.timer] (MSC service thread 1-3) Check dialect for 'enterprisedb', result is 'null'
      20:23:59,528 DEBUG [org.jboss.as.ejb3.timer] (MSC service thread 1-3) Attempting to guess on driver name.
      20:23:59,549 DEBUG [org.jboss.as.ejb3.timer] (MSC service thread 1-3) Check dialect for 'enterprisedb jdbc driver', result is 'null'
      20:23:59,555 WARN  [org.jboss.as.ejb3.timer] (MSC service thread 1-3) WFLYEJB0462: Timer service database-data-store database attribute is not configured, and is not detected from connection metadata or JDBC driver name.
      20:23:59,556 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service org.wildfly.ejb3.timer-service.timer-persistence-service.database: org.jboss.msc.service.StartException in service org.wildfly.ejb3.timer-service.timer-persistence-service.database: Failed to start service
      	at org.jboss.msc@1.4.13.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
      	at org.jboss.msc@1.4.13.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: java.lang.NullPointerException
      	at org.jboss.as.ejb3@8.0.0.Beta-redhat-20220823//org.jboss.as.ejb3.timerservice.persistence.database.DatabaseTimerPersistence.loadSqlProperties(DatabaseTimerPersistence.java:245)
      	at org.jboss.as.ejb3@8.0.0.Beta-redhat-20220823//org.jboss.as.ejb3.timerservice.persistence.database.DatabaseTimerPersistence.start(DatabaseTimerPersistence.java:202)
      	at org.jboss.msc@1.4.13.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
      	at org.jboss.msc@1.4.13.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
      	... 6 more
      
      20:23:59,626 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
          ("subsystem" => "ejb3"),
          ("service" => "timer-service"),
          ("database-data-store" => "database")
      ]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.ejb3.timer-service.timer-persistence-service.database" => "Failed to start service
          Caused by: java.lang.NullPointerException"}}
      20:23:59,992 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 45) WFLYSRV0010: Deployed "edb-jdbc18.jar" (runtime-name : "edb-jdbc18.jar")
      20:24:00,073 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
      WFLYCTL0186:   Services which failed to start:      service org.wildfly.ejb3.timer-service.timer-persistence-service.database: Failed to start service
      
      20:24:00,187 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
      20:24:00,191 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: JBoss EAP 8.0.0.Beta-DR3 (WildFly Core 19.0.0.Beta-redhat-20220823) started (with errors) in 15765ms - Started 401 of 643 services (1 services failed or missing dependencies, 362 services are lazy, passive or on-demand) - Server configuration file in use: standalone-full.xml
      20:24:00,216 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
      20:24:00,217 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990 

      FYI postgresql when checking dialect is not null:

      [0m20:21:54,564 DEBUG [org.jboss.as.ejb3.timer] (MSC service thread 1-2) Check dialect for 'postgresql', result is 'postgresql' 

      Attachments

        Issue Links

          Activity

            People

              mpetrov@redhat.com Michal Petrov
              jjedlick@redhat.com Jakub Jedlicka
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: