Runtime Error could not execute statement at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse:2,094 (Katello::Errors::CandlepinError)
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1205921
Description of problem:
This is a RHEL 6.6 x86_64 system with the Satellite-6.1.0-RHEL-6-20150324.0 build.
After importing a valid manifest, I started enabling the kickstart repos for the following products in this order (via the web ui, see the attached screenshot):
- Red Hat Enterprise Linux 5 Server Kickstart i386 5.9
- Red Hat Enterprise Linux 5 Server Kickstart x86_64 5.9
- Red Hat Enterprise Linux 6 Server Kickstart i386 6.6
- Red Hat Enterprise Linux 6 Server Kickstart x86_64 6.6
These were enabled really quickly clicking on each checkbox and that's when I saw the error.
It is interesting that I did the same exact setup on a RHEL 7.1 system and I did not see this.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install build Satellite-6.1.0-RHEL-6-20150324.0 on RHEL 6.6 system
2. Import valid manifest
3. Enable all repos listed above in a quick sequence using the web ui
Task 4340a6ba-a47d-4fea-81f9-60bac9103123: Katello::Errors::CandlepinError: Runtime Error could not execute statement at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse:2,094
#1 Updated by The Foreman Bot almost 8 years ago
- Status changed from New to Ready For Testing
- Target version set to 68
- Pull request https://github.com/Katello/katello/pull/5155 added
- Pull request deleted (
#2 Updated by Partha Aji almost 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset katello|143693a2924a760bd7315a3230ec036c4b5068b4.
#3 Updated by Eric Helms almost 8 years ago
- Legacy Backlogs Release (now unused) set to 23
- Triaged changed from No to Yes
Fixes #9978 - Sets an env content id correctly in cp
When setting the content id for an environment in candlepin a race
condition can happen. This because the SetContent action says:
1) Fetch me the list of existing content ids for this environment
2) From the list of content ids to provided to me to set, subtract them
from the existing content ids
3) Add the new content ids , and remove the removed content ids
Problem is between step 1 and step 3 there can be a race condition if 2
repos belonging to the same environment are clicked quickly, because
they run in parallel. A temporary hack is to catch such an error in the
response and resend the diffs. This commit intends to do that, with
retry limit set to 2.