Bug 487412 - NEVRA Problems with export & sat sync
Summary: NEVRA Problems with export & sat sync
Keywords:
Status: CLOSED DUPLICATE of bug 484305
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Server
Version: 530
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Pradeep Kilambi
QA Contact: John Matthews
URL:
Whiteboard:
Depends On:
Blocks: 457078
TreeView+ depends on / blocked
 
Reported: 2009-02-25 21:04 UTC by John Matthews
Modified: 2009-03-05 04:59 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-03-05 00:05:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
This is an export of 2 custom channels each with 1 package each sharing same NEVRA (21.44 KB, application/x-bzip)
2009-02-25 21:08 UTC, John Matthews
no flags Details

Description John Matthews 2009-02-25 21:04:46 UTC
Description of problem:

I'm seeing an ISE when deleting a package.  I believe this is a NEVRA issue.
Further it looks like the packages are not being imported consistently.

I can add a package and delete it, so this is not a simple problem with deleting custom content.

Background:
On a satellite I created 2 custom channels:
customCentOS & customRHEL
I rhnpushed "helios" to each CentOS & RHEL channel, I pushed the respective version of each to it's channel.
Now I have 2 custom channels each containing a single package which shares the same NEVRA info.
I export both channels in one export command.
I tar up the data.
I copy it to a new install of Sat 5.3.0
I untar the export
run satsync with both channels.

Note: I saw "unscriptable object" once, it hasn't show up again


Looking in the WebUI I see 2 channels were created, one for RHEL and one for CentOS.
Both channels have the same package in them, the CentOS package.
The RHEL package is left as unmanaged.

When I attempt to delete the "RHEL" package it is deleted.  This is the "unmanaged" package.
When I attempt to delete the "CentOS" package, the managed one in both channels, I get an ISE.

2009-02-25 15:50:33,469 [TP-Processor7] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/rhn].[action] - Servlet.service() for servlet action thr
ew exception
java.sql.SQLException: ORA-00001: unique constraint (RHNSAT.RHN_PFDQUEUE_PATH_UQ) violated

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
        at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:651)
        at com.redhat.rhn.common.db.NamedPreparedStatement.execute(NamedPreparedStatement.java:137)
        at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:454)
        at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:431)
        at com.redhat.rhn.common.db.datasource.CachedStatement.executeUpdate(CachedStatement.java:269)
        at com.redhat.rhn.common.db.datasource.WriteMode.executeUpdate(WriteMode.java:33)
        at com.redhat.rhn.manager.rhnpackage.PackageManager.schedulePackageFileForDeletion(PackageManager.java:735)
        at com.redhat.rhn.manager.rhnpackage.PackageManager.deletePackages(PackageManager.java:1036)
        at com.redhat.rhn.frontend.action.rhnpackage.CustomPackagesDeleteConfirmAction.deletePackages(CustomPackagesDeleteConfirmAction.java:103)
        at com.redhat.rhn.frontend.action.rhnpackage.CustomPackagesDeleteConfirmAction.execute(CustomPackagesDeleteConfirmAction.java:80)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:237)
        at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:82)





Version-Release number of selected component (if applicable):
Satellite-5.3.0-RHEL5-re20090220.1-i386-embedded-oracle.iso
Installed using QA's install-sat.sh
NFS mounting /var/satellite using QA exports

How reproducible:
Seems consistent, reproduced on 2 Satellites.  Requires the export*.tar.bz2 I am attaching.

Steps to Reproduce:
1. sat-sync with attached export
2. delete both custom channels
3. delete the package which is not in either channel, deletes fine
4. delete the package which is in both channels, see ISE

Actual results:
get ISE

Expected results:
no ISE

Additional info:

I'm seeing some odd behavior where I can't delete the packages.  Then I rhnpush some more content, go back and I can delete the trouble package.  I haven't been able to identify enough of this behavior to make sense of it.

Comment 1 John Matthews 2009-02-25 21:08:24 UTC
Created attachment 333229 [details]
This is an export of 2 custom channels each with 1 package each sharing same NEVRA

Comment 2 Brandon Perkins 2009-03-04 19:26:36 UTC
There was some discussion (outside of Bugzilla apparently), that we are not planning on supporting this scenario for Satellite.  I don't understand this and I feel this is a blocker.  Let's take RHEL out of the equation here.  I can see a situation where a customer has two channels, one beta and one production.  They want to sign the beta packages with a beta key and put them into the beta channel.  Turns out that particular NVREA is a good one, so they sign the package with their beta package with a production key and then put them into the production channel  (which is now supported with NEVRA).  Now I export those channels and want to Sat Sync onto another Satellite.  Well, now its busted.  We would need more information on why this case couldn't be supported.  Apparently the exporter is doing the right thing but satellite-sync isn't.


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