From fd5644f1099fb8175c9859f5edc2626779bf33a5 Mon Sep 17 00:00:00 2001 From: gojomo Date: Fri, 26 Mar 2010 01:02:48 +0000 Subject: [PATCH] HER-1627 followup: show error rather than match faulReadSize * PersistProcessor.java rename setupEnvironment to setupCopyEnvironment to make limited purpose of env clear; catch and rethrow IllegalArgumentException with hint that second-open may be cause * PersistLoadProcessor.java catch and display IllegalArgumentException same as other failure-to-open SEVERE but proceedable exceptions * PrecedenceLoader.java update method names --- .../frontier/precedence/PrecedenceLoader.java | 2 +- .../modules/recrawl/PersistLoadProcessor.java | 6 ++++-- .../modules/recrawl/PersistProcessor.java | 17 ++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/engine/src/main/java/org/archive/crawler/frontier/precedence/PrecedenceLoader.java b/engine/src/main/java/org/archive/crawler/frontier/precedence/PrecedenceLoader.java index 55f79715..1b5c9d03 100644 --- a/engine/src/main/java/org/archive/crawler/frontier/precedence/PrecedenceLoader.java +++ b/engine/src/main/java/org/archive/crawler/frontier/precedence/PrecedenceLoader.java @@ -105,7 +105,7 @@ public class PrecedenceLoader { } // setup target environment - EnhancedEnvironment targetEnv = PersistProcessor.setupEnvironment(env); + EnhancedEnvironment targetEnv = PersistProcessor.setupCopyEnvironment(env); StoredClassCatalog classCatalog = targetEnv.getClassCatalog(); Database historyDB = targetEnv.openDatabase( null, diff --git a/modules/src/main/java/org/archive/modules/recrawl/PersistLoadProcessor.java b/modules/src/main/java/org/archive/modules/recrawl/PersistLoadProcessor.java index 841ba858..b906b6a8 100644 --- a/modules/src/main/java/org/archive/modules/recrawl/PersistLoadProcessor.java +++ b/modules/src/main/java/org/archive/modules/recrawl/PersistLoadProcessor.java @@ -97,9 +97,11 @@ public class PersistLoadProcessor extends PersistOnlineProcessor { null, preloadSource.getFile().getAbsolutePath(),store); logger.info("Loaded deduplication information for " + count + " previously fetched urls from " + preloadSource.getFile()); } catch (IOException ioe) { - logger.log(Level.WARNING, "Problem loading " + preloadSource.getFile() + ", proceeding without deduplication! " + ioe); + logger.log(Level.SEVERE, "Problem loading " + preloadSource.getFile() + ", proceeding without deduplication. " + ioe); } catch(DatabaseException de) { - logger.log(Level.WARNING, "Problem loading " + preloadSource.getFile() + ", proceeding without deduplication! " + de); + logger.log(Level.SEVERE, "Problem loading " + preloadSource.getFile() + ", proceeding without deduplication. " + de); + } catch(IllegalArgumentException iae) { + logger.log(Level.SEVERE, "Problem loading " + preloadSource.getFile() + ", proceeding without deduplication. " + iae); } } } diff --git a/modules/src/main/java/org/archive/modules/recrawl/PersistProcessor.java b/modules/src/main/java/org/archive/modules/recrawl/PersistProcessor.java index b422e0ad..fd4a7c26 100644 --- a/modules/src/main/java/org/archive/modules/recrawl/PersistProcessor.java +++ b/modules/src/main/java/org/archive/modules/recrawl/PersistProcessor.java @@ -141,7 +141,7 @@ public abstract class PersistProcessor extends Processor { int count = 0; // open the source env history DB, copying entries to target env - EnhancedEnvironment sourceEnv = setupEnvironment(sourceDir, true); + EnhancedEnvironment sourceEnv = setupCopyEnvironment(sourceDir, true); StoredClassCatalog sourceClassCatalog = sourceEnv.getClassCatalog(); DatabaseConfig historyDbConfig = HISTORY_DB_CONFIG.toDatabaseConfig(); historyDbConfig.setReadOnly(true); @@ -249,7 +249,7 @@ public abstract class PersistProcessor extends Processor { if (!envFile.exists()) { envFile.mkdirs(); } - targetEnv = setupEnvironment(envFile); + targetEnv = setupCopyEnvironment(envFile); classCatalog = targetEnv.getClassCatalog(); historyDB = targetEnv.openDatabase(null, URI_HISTORY_DBNAME, HISTORY_DB_CONFIG.toDatabaseConfig()); @@ -346,15 +346,18 @@ public abstract class PersistProcessor extends Processor { } } - public static EnhancedEnvironment setupEnvironment(File env) throws DatabaseException { - return setupEnvironment(env, false); + public static EnhancedEnvironment setupCopyEnvironment(File env) throws DatabaseException { + return setupCopyEnvironment(env, false); } - public static EnhancedEnvironment setupEnvironment(File env, boolean readOnly) throws DatabaseException { + public static EnhancedEnvironment setupCopyEnvironment(File env, boolean readOnly) throws DatabaseException { EnvironmentConfig envConfig = new EnvironmentConfig(); envConfig.setAllowCreate(true); envConfig.setReadOnly(readOnly); - envConfig.setConfigParam("je.log.faultReadSize", "6144"); - return new EnhancedEnvironment(env, envConfig); + try { + return new EnhancedEnvironment(env, envConfig); + } catch (IllegalArgumentException iae) { + throw new IllegalArgumentException("problem with specified environment "+env+"; is it already open?", iae); + } } } \ No newline at end of file