2 Replies Latest reply on Sep 3, 2015 2:47 PM by Brett Hanekom

    Wildfly 9.0.1.Final ejb_timer service - The column index is out of range: 26, number of columns: 25

    Brett Hanekom Newbie

      I am migrating from Wildfly 8.0.0.Final Standalone to a Full-HA domain Wildfly 9.0.1.Final Server(s).

      I have copied my timer-sql.properties file from the 8.0.0 Wildfly to $JBOSS_HOME//modules/system/layers/base/org/jboss/as/ejb3/main/timers/timer-sql.properties. However I am now getting an issue when trying to create the timer from our application.

      Our app uses ejb_timer table not the jboss-ejb_timer table.

       

      The error in the server log is "org.postgresql.util.PSQLException: The column index is out of range: 26, number of columns: 25."

      "(EE-ManagedThreadFactory-default-Thread-112) javax.ejb.EJBException: java.lang.RuntimeException: java.lang.RuntimeException: org.postgresql.util.PSQLException: The column index is out of range: 26, number of columns: 25."

       

      The Relevant timer service from the full-ha profile in my domain.xml is

       

      <timer-service thread-pool-name="default" default-data-store="clustered-store">
           <data-stores>
                <database-data-store name="clustered-store" datasource-jndi-name="java:/ResquePostgresDb2" partition="timer" database="postgresql"/>
           </data-stores>
      </timer-service>
      

       

      and the datasource is configured

       

      <datasource jta="true" jndi-name="java:/ResquePostgresDb2" pool-name="ResquePostgresDb2" enabled="true" use-ccm="false">
           <connection-url>jdbc:postgresql://localhost/Resque</connection-url>
           <driver-class>org.postgresql.Driver</driver-class>
           <driver>postgresql</driver>
           <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
           <pool>
                <min-pool-size>5</min-pool-size>
                <max-pool-size>15</max-pool-size>
                <flush-strategy>Gracefully</flush-strategy>
           </pool>
           <security>
                <user-name>USER</user-name>
                <password>PASSWORD</password>
           </security>
           <validation>
                <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
                <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                <validate-on-match>true</validate-on-match>
                <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
           </validation>
           <statement>
                <share-prepared-statements>false</share-prepared-statements>
           </statement>
      </datasource>
      

       

      timer-sql.properties is attached.