Bug 1788652

Summary: virt-who hypervisor update jobs are failing with a duplicate entry for key cp_consumer_hypervisor_ukey
Product: Red Hat Satellite Reporter: Danny Synk <dsynk>
Component: CandlepinAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED EOL QA Contact: Lai <ltran>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5.0CC: ahumbe, bcourt, bkearney, dsynk, gpadholi, mmccune, rajukuma, rbertolj, satellite6-bugs, sfroemer, wpinheir
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: candlepin-2.5.20-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1791504 (view as bug list) Environment:
Last Closed: 2020-10-29 21:03:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1788671, 1788672    
Bug Blocks:    

Description Danny Synk 2020-01-07 17:17:31 UTC
Description of problem:

A customer's Satellite is encountering an issue with processing virt-who reports that appears to be cause by the issue in bug 1766345. Hypervisor update jobs are failing with a duplicate entry for key cp_consumer_hypervisor_ukey. 

The customer is requesting a backport of the fix to Satellite 6.5.

Here is an example of the error and traceback from /var/log/candlepin/candlepin.log:

2019-10-31 03:51:47,190 [thread=QuartzScheduler_Worker-12] [job=hypervisor_update_xxxxxxxxxxxxxxxxxxxxx-4d1138d53ebf, org=xxxx, csid=] ERROR org.candlepin.pinsetter.core.PinsetterJobListener - Job [hypervisor_update_xxxxxxxxxxxxxxxxxxxxx-4d1138d53ebf] failed.
org.quartz.JobExecutionException: org.hibernate.exception.ConstraintViolationException: could not execute statement
        at org.candlepin.pinsetter.tasks.HypervisorUpdateJob.toExecute(HypervisorUpdateJob.java:364)
        at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:70)
        at org.candlepin.pinsetter.tasks.KingpinJob.execute(KingpinJob.java:115)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
        at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
        at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
        at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
        at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1460)
        at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1440)
        at org.candlepin.model.AbstractHibernateCurator.flush(AbstractHibernateCurator.java:569)
        at org.candlepin.pinsetter.tasks.HypervisorUpdateJob.toExecute(HypervisorUpdateJob.java:356)
        ... 4 common frames omitted
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
        at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112)
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3356)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3229)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3630)
        at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:146)
        at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
        at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
        at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
        at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
        at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
        ... 7 common frames omitted
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "cp_consumer_hypervisor_ukey"
  Detail: Key (hypervisor_id, owner_id)=(host.example.com, xxxxxxxxxxxxxxxxxxxxxx) already exists.
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
        at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
        at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:132)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:384)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
        ... 16 common frames omitted


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

satellite-6.5.2.1-1.el7sat.noarch
candlepin-2.5.17-1.el7sat.noarch
virt-who-0.24.7-1.el7.noarch

Comment 9 Mike McCune 2020-10-29 21:03:52 UTC
6.5 is EOL, closing