----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/22658/#review46980 -----------------------------------------------------------
server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java <https://reviews.apache.org/r/22658/#comment82569> Rather than having the thread local, it would be cleaner to have a list of mutations and populate it in the loop. At the end of the loop pass the list of mutations to method that writes it. server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java <https://reviews.apache.org/r/22658/#comment82572> Maybe this is a problem in the existing code, but this change may make the problem worse. Calling beginUpdatingLogsUsed() updates the tablets in memory data structs to indicate the tablet is using the log. If the code after this point fails, then all tablets will think the walog is in the metadata table even though it is not. server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java <https://reviews.apache.org/r/22658/#comment82571> would be interesting to see performance diff w/ this change and ACCUMULO-2801 server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java <https://reviews.apache.org/r/22658/#comment82570> could modify this method to construct a mutation and return it. The returned mutation could be added to the list. - kturner On June 27, 2014, 5:41 p.m., Jonathan Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/22658/ > ----------------------------------------------------------- > > (Updated June 27, 2014, 5:41 p.m.) > > > Review request for accumulo. > > > Bugs: ACCUMULO-2889 > https://issues.apache.org/jira/browse/ACCUMULO-2889 > > > Repository: accumulo > > > Description > ------- > > Added additional methods to the Writer class to handle batching. > > Potential risks are that we're now holding onto the locks for a bit longer > than we used to. All tablets present in a batch will have their logLock's > locked until the batch is complete. > > > Diffs > ----- > > core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java d6762e7 > > server/base/src/main/java/org/apache/accumulo/server/util/InternalBatchWriter.java > PRE-CREATION > > server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java > 374017d > server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java > 36b2289 > server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java > 57415bd > > server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java > d25ee75 > > test/src/test/java/org/apache/accumulo/server/util/InternalBatchWriterIT.java > PRE-CREATION > test/src/test/java/org/apache/accumulo/test/BatchMetadataUpdatesIT.java > PRE-CREATION > > Diff: https://reviews.apache.org/r/22658/diff/ > > > Testing > ------- > > Added a new IT. > > We insert a few entries to tablets and ensure that the relevant entries > appear in the WAL and Metadata Table. > One test case that isn't included yet is verifying that root + metadata table > entries are entered correctly. > > > Thanks, > > Jonathan Park > >
