Bug 613773 - mergeErrata causes ConstraintViolationException
Summary: mergeErrata causes ConstraintViolationException
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: API
Version: 530
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Tomas Lestach
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: 462714
TreeView+ depends on / blocked
 
Reported: 2010-07-12 19:33 UTC by Stephan Dühr
Modified: 2015-05-29 20:12 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-05-29 20:12:25 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Script for reproducing the error (1021 bytes, text/plain)
2010-07-12 19:33 UTC, Stephan Dühr
no flags Details

Description Stephan Dühr 2010-07-12 19:33:04 UTC
Created attachment 431246 [details]
Script for reproducing the error

Description of problem:

When using the channel.software.mergeErrata() API call on a channel cloned by the API call client.channel.software.clone() with the original_state=False option, a org.hibernate.exception.ConstraintViolationException is logged in /var/log/tomcat5/catalina.out

Version-Release number of selected component (if applicable):

Satellite 5.3.0 all updates installed

How reproducible:

always

Steps to Reproduce:
1. run the attached script, for example
./mergeErrata-test.py rhel-i386-client-5 clone-test-rhel-i386-client-5
2.
3.
  
Actual results:

The data returned by mergeErrata contains all errata when the channel was recently cloned. But when removing some errata from the target (cloned) channel before calling mergeErrata again, the same result is returned, but the errata do not appear in the target channel. On channels with a higher number of errata like rhel-i386-server-5, I've seen "500 Internal Server Error".

Expected results:

mergeErrata should work like mergePackages, it should add the missing errata to the target channel.

Additional info:

As a workaround, it works to determine the latest update_date of source and target channel and then use mergeErrata with start and end date (each +1), which works.

Comment 1 Jan Pazdziora (Red Hat) 2012-03-15 13:53:43 UTC
Could you please work with your Red Hat support to investigate the problem? In general, going through the support channel will ensure proper attention and triaging of the issues.

Thank you,

Jan


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