From b8a2745d94bc5c0eeda15ae433223514460ac4f8 Mon Sep 17 00:00:00 2001 From: Anshum Gupta Date: Mon, 7 Dec 2015 06:59:18 +0000 Subject: [PATCH] SOLR-8359: Restrict child classes from using parent logger's state git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1718257 13f79535-47bb-0310-9956-ffa450edef68 --- solr/CHANGES.txt | 3 +++ .../java/org/apache/solr/update/CdcrTransactionLog.java | 1 + .../src/java/org/apache/solr/update/CdcrUpdateLog.java | 1 + .../java/org/apache/solr/update/HdfsTransactionLog.java | 2 ++ .../src/java/org/apache/solr/update/HdfsUpdateLog.java | 7 +++++++ solr/core/src/java/org/apache/solr/update/PeerSync.java | 2 +- .../src/java/org/apache/solr/update/TransactionLog.java | 4 ++-- solr/core/src/java/org/apache/solr/update/UpdateLog.java | 4 ++-- 8 files changed, 19 insertions(+), 5 deletions(-) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index fccb5f081c3..21ba65955f1 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -234,6 +234,9 @@ Other Changes * SOLR-8313: SimpleQueryParser doesn't use MultiTermAnalysis for Fuzzy Queries (Tom Hill via Erick Erickson) +* SOLR-8359: Restrict child classes from using parent logger's state + (Jason Gerlowski, Mike Drob, Anshum Gupta) + ================== 5.4.0 ================== Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release diff --git a/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java b/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java index f9cac5b2776..e72bc16586e 100644 --- a/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java +++ b/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java @@ -48,6 +48,7 @@ public class CdcrTransactionLog extends TransactionLog { long startVersion; // (absolute) version of the first element of this transaction log private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static boolean debug = log.isDebugEnabled(); CdcrTransactionLog(File tlogFile, Collection globalStrings) { super(tlogFile, globalStrings); diff --git a/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java b/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java index 4855d0a58b8..381aff0e20a 100644 --- a/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java +++ b/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java @@ -64,6 +64,7 @@ public class CdcrUpdateLog extends UpdateLog { public static String LOG_FILENAME_PATTERN = "%s.%019d.%1d"; private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static boolean debug = log.isDebugEnabled(); @Override public void init(UpdateHandler uhandler, SolrCore core) { diff --git a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java index 4427479ba03..f4119620258 100644 --- a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java +++ b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java @@ -59,6 +59,8 @@ import org.slf4j.LoggerFactory; */ public class HdfsTransactionLog extends TransactionLog { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static boolean debug = log.isDebugEnabled(); + private static boolean trace = log.isTraceEnabled(); Path tlogFile; diff --git a/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java b/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java index ff972dbf499..362c733c50b 100644 --- a/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java +++ b/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java @@ -52,6 +52,7 @@ public class HdfsUpdateLog extends UpdateLog { private Integer tlogDfsReplication; private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static boolean debug = log.isDebugEnabled(); // used internally by tests to track total count of failed tran log loads in init public static AtomicLong INIT_FAILED_LOGS_COUNT = new AtomicLong(); @@ -350,6 +351,12 @@ public class HdfsUpdateLog extends UpdateLog { } } + @Override + public void preSoftCommit(CommitUpdateCommand cmd) { + debug = log.isDebugEnabled(); + super.preSoftCommit(cmd); + } + public String[] getLogList(Path tlogDir) throws FileNotFoundException, IOException { final String prefix = TLOG_NAME+'.'; FileStatus[] files = fs.listStatus(tlogDir, new PathFilter() { diff --git a/solr/core/src/java/org/apache/solr/update/PeerSync.java b/solr/core/src/java/org/apache/solr/update/PeerSync.java index 2154a1715d5..a301c6163d2 100644 --- a/solr/core/src/java/org/apache/solr/update/PeerSync.java +++ b/solr/core/src/java/org/apache/solr/update/PeerSync.java @@ -59,7 +59,7 @@ import static org.apache.solr.update.processor.DistributingUpdateProcessorFactor /** @lucene.experimental */ public class PeerSync { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - public boolean debug = log.isDebugEnabled(); + private static boolean debug = log.isDebugEnabled(); private List replicas; private int nUpdates; diff --git a/solr/core/src/java/org/apache/solr/update/TransactionLog.java b/solr/core/src/java/org/apache/solr/update/TransactionLog.java index 5b9fef0f92c..cb7489e4413 100644 --- a/solr/core/src/java/org/apache/solr/update/TransactionLog.java +++ b/solr/core/src/java/org/apache/solr/update/TransactionLog.java @@ -64,8 +64,8 @@ import org.slf4j.LoggerFactory; */ public class TransactionLog { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - final boolean debug = log.isDebugEnabled(); - final boolean trace = log.isTraceEnabled(); + private static boolean debug = log.isDebugEnabled(); + private static boolean trace = log.isTraceEnabled(); public final static String END_MESSAGE="SOLR_TLOG_END"; diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java b/solr/core/src/java/org/apache/solr/update/UpdateLog.java index cadeb722a60..43136d345af 100644 --- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java +++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java @@ -77,8 +77,8 @@ public class UpdateLog implements PluginInfoInitialized { public static String TLOG_NAME="tlog"; private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - public boolean debug = log.isDebugEnabled(); - public boolean trace = log.isTraceEnabled(); + private static boolean debug = log.isDebugEnabled(); + private static boolean trace = log.isTraceEnabled(); // TODO: hack public FileSystem getFs() {