Bug 516817 - Exceptions when a channel is empty
Summary: Exceptions when a channel is empty
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Server
Version: 0.6
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Tomas Lestach
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space12
TreeView+ depends on / blocked
 
Reported: 2009-08-11 15:38 UTC by Mark Chappell
Modified: 2010-11-01 10:55 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-11-01 10:55:46 UTC
Embargoed:


Attachments (Terms of Use)

Description Mark Chappell 2009-08-11 15:38:22 UTC
Description of problem:

While a channel is empty (say before it's had chance to yum-repo-sync) I keep getting emailed WEB TRACEBACKs when it tries to update the channel repo data

com.redhat.rhn.common.hibernate.HibernateRuntimeException: HibernateException executing CachedStatement
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:469)
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:431)
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:335)
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:340)
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:280)
	at com.redhat.rhn.common.db.datasource.SelectMode.execute(SelectMode.java:105)
	at com.redhat.rhn.taskomatic.task.repomd.ChannelRepodataDriver.getCandidates(ChannelRepodataDriver.java:86)
	at com.redhat.rhn.taskomatic.task.threaded.TaskQueue.run(TaskQueue.java:106)
	at com.redhat.rhn.taskomatic.task.ChannelRepodata.execute(ChannelRepodata.java:58)
	at com.redhat.rhn.taskomatic.task.SingleThreadedTestableTask.execute(SingleThreadedTestableTask.java:54)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
	at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
	at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
	at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2520)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2697)
	at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:74)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:146)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at com.redhat.rhn.common.db.datasource.CachedStatement.stealConnection(CachedStatement.java:853)
	at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:441)
	... 11 more


How reproducible:

Easy,

Steps to Reproduce:
1. Create Spacewalk instance
2. Create channel
3. Wait for taskomatic to run ChannelRepodata task
  
Actual results:

Exception!

Expected results:

No exception :)

Comment 2 Tomas Lestach 2010-11-01 10:55:46 UTC
This issue was already fixed.

Latest nightly produces following taskomatic output:

INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,120 [DefaultQuartzScheduler_Worker-1] INFO  com.redhat.rhn.taskomatic.task.ChannelRepodata - In the queue: 1
INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,178 [DefaultQuartzScheduler_Worker-1] INFO  com.redhat.rhn.taskomatic.task.ChannelRepodata - Creating ChannelRepodataWorker with prefixPath(rhn/repodata), mountPoint(/var/cache) for channel_label (empty-channel)
INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,241 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - File Modified Date:1970-01-01 01:00:00 CET
INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,241 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Channel Modified Date:2010-11-01 05:57:36 CET
INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,309 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Checksum Type Value: sha256
INFO   | jvm 2    | 2010/11/01 10:58:00 | 2010-11-01 10:58:00,324 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Generating new repository metatada for channel 'empty-channel' 0 packages, 0 updates
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,182 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Starting updateinfo generation for 'empty-channel"
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,182 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Checksum Type Value for generate updateinfo sha256
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,186 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Primary xml's type: sha256
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,186 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - filelists xml's type: sha256
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,186 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - other xml's type: sha256
INFO   | jvm 2    | 2010/11/01 10:58:18 | 2010-11-01 10:58:18,188 [Thread-126] INFO  com.redhat.rhn.taskomatic.task.repomd.RepositoryWriter - Repository metadata generation for 'empty-channel' finished in 17 seconds

Closing CURRENTRELEASE.


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