Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1126499 - ISE 500 when systems were converted from regular entitlements to flex
Summary: ISE 500 when systems were converted from regular entitlements to flex
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Server
Version: 570
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Grant Gainey
QA Contact: Ales Dujicek
URL:
Whiteboard:
Depends On:
Blocks: sat560-triage 1252560
TreeView+ depends on / blocked
 
Reported: 2014-08-04 15:22 UTC by Pavel Studeník
Modified: 2016-08-22 12:23 UTC (History)
2 users (show)

Fixed In Version: spacewalk-java-2.3.8-149-sat
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1252560 (view as bug list)
Environment:
Last Closed: 2016-08-22 12:23:45 UTC


Attachments (Terms of Use)
If you're going to commitTxact, need to reset log-id (deleted)
2016-07-11 18:55 UTC, Grant Gainey
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:1645 normal SHIPPED_LIVE Satellite 5.7 bug fix update 2016-08-22 16:22:37 UTC

Description Pavel Studeník 2014-08-04 15:22:01 UTC
Description of problem:
I get Internal Server Error when I try to convert systems with Regular entitlements to Flex. Problem is only when I convert more then 1 systems. When I choose only one system, I doesn't get any errors. Two scenarios with incorrect functionality:

1) choose 2 systems and flex entitlements is unavailable: got ISE and without effect on this systems
2) choose 2 systems and flex entitlements is available: only first systems was changed

Version-Release number of selected component (if applicable):
spacewalk-java-2.0.2-79.el6sat.noarch

How reproducible:
always 

Steps to Reproduce:
1. create some virtual guests on KVM/Xen/VMware
2. create organization with only available regular entitlements (without available flex entitlements)
3. register systems to this organization 
4. try to go on /rhn/systems/entitlements/EligibleFlexGuests.do 
5. choose more then 1 systems to convert (click "Convert To Flex Guest Entitlement")

Actual results:
I got Internal Server Error

Expected results:
without ISE 500, but show messages about unavailable flex entitlements


Additional info:
>> tail -f /var/log/tomcat6/catalina.out
Aug 4, 2014 10:35:07 AM com.mchange.v2.c3p0.impl.NewPooledConnection handleThrowable
WARNING: [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
Aug 4, 2014 10:35:07 AM com.mchange.v2.c3p0.impl.NewPooledConnection handleThrowable
WARNING: [c3p0] Another error has occurred [ org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block ] which will not be reported to listeners!
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.NewProxyCallableStatement.execute(NewProxyCallableStatement.java:2706)
	at com.redhat.rhn.common.db.NamedPreparedStatement.execute(NamedPreparedStatement.java:117)
	at com.redhat.rhn.common.db.datasource.CachedStatement.executeCallable(CachedStatement.java:528)
	at com.redhat.rhn.common.db.datasource.CallableMode.execute(CallableMode.java:35)
	at com.redhat.rhn.common.hibernate.HibernateFactory.executeCallableMode(HibernateFactory.java:605)
	at com.redhat.rhn.domain.common.LoggingFactory.clearLogId(LoggingFactory.java:49)
	at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:95)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:761)

Comment 3 Grant Gainey 2016-07-11 15:08:22 UTC
From /opt/rh/postgresql92/root/var/lib/pgsql/data/pg_log/postgresql-<day>.log :

2016-07-11 10:54:02.642 EDT ERROR:  -20296 : (not_enough_flex_entitlements) - You do not have enough entitlements in your org..
2016-07-11 10:54:02.642 EDT CONTEXT:  SQL statement "SELECT rhn_exception.raise_exception('not_enough_flex_entitlements')"
        PL/pgSQL function rhn_channel.convert_to_fve(numeric,numeric) line 48 at PERFORM
2016-07-11 10:54:02.642 EDT STATEMENT:  select * from rhn_channel.convert_to_fve($1, $2)  as result
2016-07-11 10:54:02.692 EDT ERROR:  current transaction is aborted, commands ignored until end of transaction block
2016-07-11 10:54:02.692 EDT STATEMENT:  select 'c3p0 ping' from dual

Comment 4 Grant Gainey 2016-07-11 18:55:37 UTC
Created attachment 1178508 [details]
If you're going to commitTxact, need to reset log-id

The convert-to-flex path commits after every system. With the addition of audit-logging, we need to insure the audit-log-user and log_id get reset in the new transaction.

Comment 12 errata-xmlrpc 2016-08-22 12:23:45 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-1645.html


Note You need to log in before you can comment on or make changes to this bug.