OOZIE-3142 Integer Overflows in Purge retentionTime (Prabhu Joseph via andras.piros)
diff --git a/core/src/main/java/org/apache/oozie/service/ShareLibService.java b/core/src/main/java/org/apache/oozie/service/ShareLibService.java
index 8986a49..974dc7b 100644
--- a/core/src/main/java/org/apache/oozie/service/ShareLibService.java
+++ b/core/src/main/java/org/apache/oozie/service/ShareLibService.java
@@ -113,7 +113,7 @@
FileSystem fs;
FileSystem localFs;
- final long retentionTime = 1000 * 60 * 60 * 24 * ConfigurationService.getInt(LAUNCHERJAR_LIB_RETENTION);
+ final long retentionTime = 1000L * 60 * 60 * 24 * ConfigurationService.getInt(LAUNCHERJAR_LIB_RETENTION);
@Override
public void init(Services services) throws ServiceException {
diff --git a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
index a4f3919..d244166 100644
--- a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
@@ -244,6 +244,15 @@
"pig-10.jar");
}
+ // retentionTime overflows to negative before OOZIE-3142
+ @Test
+ public void testRetentionOverflow() throws Exception {
+ getOozieConfig().set(ShareLibService.LAUNCHERJAR_LIB_RETENTION, "25");
+ services.init();
+ ShareLibService shareLibService = services.get(ShareLibService.class);
+ assertTrue(shareLibService.retentionTime > 0);
+ }
+
@Test
public void testPurgeShareLib() throws Exception {
setShipLauncherInOozieConfig();
diff --git a/release-log.txt b/release-log.txt
index 5e2f3d7..3e344b7 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
-- Oozie 5.0.0 release (trunk - unreleased)
+OOZIE-3142 Integer Overflows in Purge retentionTime (Prabhu Joseph via andras.piros)
OOZIE-3143 AG_Install.twiki needs some refinement (kmarton via andras.piros)
OOZIE-3127 Remove redundant check for user (satishsaley)
OOZIE-3139 Oozie validates workflow incorrectly (dionusos via pbacsko)