You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2012/12/03 17:25:52 UTC
svn commit: r1416580 -
/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java
Author: ecn
Date: Mon Dec 3 16:25:51 2012
New Revision: 1416580
URL: http://svn.apache.org/viewvc?rev=1416580&view=rev
Log:
ACCUMULO-888 concurrent use of a logger can result in an NPE; make the error explicitly a LoggerClosedException
Modified:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java
Modified: accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java?rev=1416580&r1=1416579&r2=1416580&view=diff
==============================================================================
--- accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java (original)
+++ accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/log/RemoteLogger.java Mon Dec 3 16:25:51 2012
@@ -133,23 +133,33 @@ public class RemoteLogger {
}
}
+ private void checkClosed() throws LoggerClosedException {
+ if (client == null)
+ throw new LoggerClosedException();
+ }
+
public synchronized void defineTablet(int seq, int tid, KeyExtent tablet) throws NoSuchLogIDException, LoggerClosedException, TException {
+ checkClosed();
client.defineTablet(null, logFile.id, seq, tid, tablet.toThrift());
}
public synchronized void log(int seq, int tid, Mutation mutation) throws NoSuchLogIDException, LoggerClosedException, TException {
+ checkClosed();
client.log(null, logFile.id, seq, tid, mutation.toThrift());
}
public synchronized void logManyTablets(List<TabletMutations> mutations) throws NoSuchLogIDException, LoggerClosedException, TException {
+ checkClosed();
client.logManyTablets(null, logFile.id, mutations);
}
public synchronized void minorCompactionFinished(int seq, int tid, String fqfn) throws NoSuchLogIDException, LoggerClosedException, TException {
+ checkClosed();
client.minorCompactionFinished(null, logFile.id, seq, tid, fqfn);
}
public synchronized void minorCompactionStarted(int seq, int tid, String fqfn) throws NoSuchLogIDException, LoggerClosedException, TException {
+ checkClosed();
client.minorCompactionStarted(null, logFile.id, seq, tid, fqfn);
}