Unable to modify "Channel Subscriptions" for a group of systems using System Set Manager.

Solution Verified - Updated -

Environment

  • Red Hat Satellite 5.6
  • System Set Manager (SSM)

Issue

  • Fails to modify "Channel Subscriptions" for multiple systems using the System Set Manager.
  • It always displays status as In Progress.
Description     Channel Subscription Updates
Status  In Progress

Resolution

  • The issue was addressed in the bugzilla 1013833 which is closed with an errata RHBA-2014-0541 .
  • To resolve this issue, upgrade to these updated packages, which fix these bugs.
  • For more details about the errata, refer spacewalk bug fix update
  • Try again using System Set Manager(SSM) to subscribe child channels, as this issue is not reproducible each time it may work. If its failing then subscribe systems to required child channel one by one instead of using SSM.
  • Another way of setting child channels of multiple systems is to use Satellite system.setChildChannels API.
    Refer https://your.satellite.com/rhn/apidoc/handlers/SystemHandler.jsp#setChildChannels for more information on this API. In this link replace your.satellite.com with valid Satellite FQDN.

  • Note: Errata RHBA-2014-0541 helps to avoid this issue in future, if there are any pending actions with status 'In Progress' after applying Errata then contact Red Hat Technical Support for fix.

Root Cause

  • The issue was addressed in the bugzilla 1013833 which is closed with an errata.

Diagnostic Steps

  • Check tomcat logs for errors similar as below,
Throwable occurred: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:360)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:651)
        at com.redhat.rhn.common.db.NamedPreparedStatement.execute(NamedPreparedStatement.java:140)
        at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:467)
        at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:443)
        at com.redhat.rhn.common.db.datasource.CachedStatement.executeUpdate(CachedStatement.java:276)
        at com.redhat.rhn.common.db.datasource.WriteMode.executeUpdate(WriteMode.java:33)
        at com.redhat.rhn.manager.ssm.SsmOperationManager.completeOperation(SsmOperationManager.java:217)
        at com.redhat.rhn.frontend.events.SsmChangeChannelSubscriptionsAction.doExecute(SsmChangeChannelSubscriptionsAction.java:50)
        at com.redhat.rhn.frontend.events.AbstractDatabaseAction.execute(AbstractDatabaseAction.java:47)
        at com.redhat.rhn.common.messaging.ActionExecutor.run(ActionExecutor.java:69)
        at com.redhat.rhn.common.messaging.MessageDispatcher.run(MessageDispatcher.java:58)
        at java.lang.Thread.run(Thread.java:761)
2014-04-14 08:38:53,333 [RHN Message Dispatcher] ERROR com.redhat.rhn.common.db.datasource.CachedStatement - Error while processing cached statement sql: UPDATE rhnSsmOperation
         SET status = ?,
             modified = current_timestamp
       WHERE id = ?
         AND user_id = ?

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments