Warning message

Log in to add comments or rate this document.

How to install Red Hat Satellite 5.6 using an external PostgreSQL db version higher than 8.4?

Updated 2014-07-30T11:45:58+00:00

Issue

  • When uploading a configuration channel the file is displayed with junk characters.

  • Taskomatic does not work as expected.

Caused by: org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve trigger: Array index out of range: 2 [See nested exception: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2]]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:627)
        at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:494)
        at org.quartz.impl.StdScheduler.start(StdScheduler.java:143)
        at com.redhat.rhn.taskomatic.core.SchedulerKernel.startup(SchedulerKernel.java:165)
        ... 2 more
Caused by: org.quartz.JobPersistenceException: Couldn't retrieve trigger: Array index out of range: 2 [See nested exception: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1571)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:950)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:834)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.execute(JobStoreSupport.java:806)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:3729)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3763)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3725)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:802)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:625)
        ... 5 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2
        at org.postgresql.util.PGbytea.toBytes(PGbytea.java:76)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBytes(AbstractJdbc2ResultSet.java:2271)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBytes(AbstractJdbc2ResultSet.java:2451)
        at org.apache.commons.dbcp.DelegatingResultSet.getBytes(DelegatingResultSet.java:255)
        at org.quartz.impl.jdbcjobstore.PostgreSQLDelegate.getObjectFromBlob(PostgreSQLDelegate.java:92)
        at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTrigger(StdJDBCDelegate.java:2132)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1553)

Environment

  • Red Hat Satellite 5.6 with External/Standalone PostgreSQL database version > 8.4

Resolution

  • Some issues have been reported with higher versions than PostgreSQL 8.4. To fix it add the following configuration to postgresql.conf on the Red Hat Satellite server:
  * on the Satellite server:
    # rhn-satellite stop

  * on the external PostgreSQL database server:
  # service postgresql stop
  # vim /var/lib/pgsql/data/postgresql.conf
     bytea_output = 'escape'

  # service postgresql start 

* on the Satellite server:
    # rhn-satellite start

Root Cause

  • Configuration needed for external PostgreSQL database version higher than 8.4.
  • Satellite documentation bug being tracked in private Red Hat Bugzilla #1066728