Login
Log in using an SSO provider:
Fedora Account System
Red Hat Associate
Red Hat Customer
Login using a Red Hat Bugzilla account
Forgot Password
Create an Account
Red Hat Bugzilla – Attachment 528626 Details for
Bug 717650
Candlepin jobs failing in the event of a container bounce
Home
New
Search
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh90 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
[?]
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
set some async jobs to recover
0001-717650-enable-recovery-on-specific-async-jobs.patch (text/plain), 6.95 KB, created by
Jesus M. Rodriguez
on 2011-10-17 18:57:49 UTC
(
hide
)
Description:
set some async jobs to recover
Filename:
MIME Type:
Creator:
Jesus M. Rodriguez
Created:
2011-10-17 18:57:49 UTC
Size:
6.95 KB
patch
obsolete
>From 5e79aedabd1fefa03142d6badfda5650c5ab7393 Mon Sep 17 00:00:00 2001 >From: jesus m. rodriguez <jesusr@redhat.com> >Date: Mon, 17 Oct 2011 14:37:32 -0400 >Subject: [PATCH] 717650: enable recovery on specific async jobs. > >In order for quartz to recover a job upon a server restart, the job >has to be marked as 'recoverable'. Otherwise, quartz simply deletes >it and moves on. >--- > .../candlepin/pinsetter/tasks/EntitlerJob.java | 3 ++- > .../candlepin/pinsetter/tasks/MigrateOwnerJob.java | 2 ++ > .../candlepin/pinsetter/tasks/RefreshPoolsJob.java | 2 ++ > .../candlepin/pinsetter/tasks/EntitlerJobTest.java | 10 ++++++++++ > .../pinsetter/tasks/MigrateOwnerJobTest.java | 6 ++++++ > .../pinsetter/tasks/RefreshPoolsJobTest.java | 6 ++++++ > 6 files changed, 28 insertions(+), 1 deletions(-) > >diff --git a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJob.java b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJob.java >index bc29a9f..e66df59 100644 >--- a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJob.java >+++ b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJob.java >@@ -75,7 +75,8 @@ public class EntitlerJob implements Job { > > JobDetail detail = new JobDetail("bind_by_pool_" + Util.generateUUID(), > EntitlerJob.class); >- >+ // do not recover the job upon restarts >+ detail.setRequestsRecovery(false); > JobDataMap map = new JobDataMap(); > map.put("pool_id", poolId); > map.put(JobStatus.TARGET_TYPE, JobStatus.TargetType.CONSUMER); >diff --git a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJob.java b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJob.java >index 24b0bec..71fed8d 100644 >--- a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJob.java >+++ b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJob.java >@@ -356,6 +356,8 @@ public class MigrateOwnerJob implements Job { > > JobDetail detail = new JobDetail("migrate_owner_" + Util.generateUUID(), > MigrateOwnerJob.class); >+ // recover the job upon restarts >+ detail.setRequestsRecovery(true); > JobDataMap map = new JobDataMap(); > map.put("owner_key", key); > map.put("uri", uri); >diff --git a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJob.java b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJob.java >index d580ce4..de57f5b 100644 >--- a/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJob.java >+++ b/proxy/src/main/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJob.java >@@ -77,6 +77,8 @@ public class RefreshPoolsJob implements Job { > // Give each job a UUID to ensure that it is unique > JobDetail detail = new JobDetail("refresh_pools_" + Util.generateUUID(), > RefreshPoolsJob.class); >+ // recover the job upon restarts >+ detail.setRequestsRecovery(true); > JobDataMap map = new JobDataMap(); > map.put(JobStatus.TARGET_TYPE, JobStatus.TargetType.OWNER); > map.put(JobStatus.TARGET_ID, owner.getKey()); >diff --git a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJobTest.java b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJobTest.java >index 1fab8a8..a44e7f5 100644 >--- a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJobTest.java >+++ b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/EntitlerJobTest.java >@@ -15,6 +15,7 @@ > package org.fedoraproject.candlepin.pinsetter.tasks; > > import static org.junit.Assert.assertEquals; >+import static org.junit.Assert.assertFalse; > import static org.junit.Assert.assertNotNull; > import static org.junit.Assert.assertTrue; > import static org.mockito.Matchers.eq; >@@ -143,6 +144,15 @@ public class EntitlerJobTest { > serialize(detail.getJobDataMap()); > } > >+ @Test >+ public void recoveryIsFalse() { >+ JobDetail detail = EntitlerJob.bindByPool("pool10", consumerUuid, 1); >+ assertFalse(detail.requestsRecovery()); >+ assertFalse(detail.isDurable()); >+ assertFalse(detail.isStateful()); >+ assertFalse(detail.isVolatile()); >+ } >+ > private void serialize(Object obj) throws IOException { > ObjectOutput out = new ObjectOutputStream(new FileOutputStream("obj.ser")); > out.writeObject(obj); >diff --git a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJobTest.java b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJobTest.java >index 1b882a8..7121b40 100644 >--- a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJobTest.java >+++ b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/MigrateOwnerJobTest.java >@@ -15,7 +15,9 @@ > package org.fedoraproject.candlepin.pinsetter.tasks; > > import static org.junit.Assert.assertEquals; >+import static org.junit.Assert.assertFalse; > import static org.junit.Assert.assertNotNull; >+import static org.junit.Assert.assertTrue; > import static org.mockito.Matchers.any; > import static org.mockito.Matchers.eq; > import static org.mockito.Mockito.atLeastOnce; >@@ -95,6 +97,10 @@ public class MigrateOwnerJobTest { > assertEquals("admin", jd.getJobDataMap().get("owner_key")); > assertEquals("http://foo.example.com/candlepin", > jd.getJobDataMap().get("uri")); >+ assertTrue(jd.requestsRecovery()); >+ assertFalse(jd.isDurable()); >+ assertFalse(jd.isStateful()); >+ assertFalse(jd.isVolatile()); > assertEquals(false, jd.getJobDataMap().get("delete")); > } > >diff --git a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJobTest.java b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJobTest.java >index fdd5aed..9920aa8 100644 >--- a/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJobTest.java >+++ b/proxy/src/test/java/org/fedoraproject/candlepin/pinsetter/tasks/RefreshPoolsJobTest.java >@@ -15,6 +15,8 @@ > package org.fedoraproject.candlepin.pinsetter.tasks; > import static org.junit.Assert.assertEquals; > import static org.junit.Assert.assertNotNull; >+import static org.junit.Assert.assertFalse; >+import static org.junit.Assert.assertTrue; > import static org.mockito.Matchers.eq; > import static org.mockito.Mockito.mock; > import static org.mockito.Mockito.verify; >@@ -66,6 +68,10 @@ public class RefreshPoolsJobTest { > JobDetail detail = RefreshPoolsJob.forOwner(owner); > assertNotNull(detail); > assertNotNull(detail.getJobDataMap()); >+ assertTrue(detail.requestsRecovery()); >+ assertFalse(detail.isDurable()); >+ assertFalse(detail.isStateful()); >+ assertFalse(detail.isVolatile()); > assertEquals("owner key", detail.getJobDataMap().get(JobStatus.TARGET_ID)); > } > } >-- >1.7.3.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 717650
:
525406
| 528626