Author: kturner Date: Tue Jun 19 22:19:21 2012 New Revision: 1351885 URL: http://svn.apache.org/viewvc?rev=1351885&view=rev Log: ACCUMULO-628 fixed unintended deletion of tablets last location
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java?rev=1351885&r1=1351884&r2=1351885&view=diff ============================================================================== --- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java (original) +++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java Tue Jun 19 22:19:21 2012 @@ -191,12 +191,12 @@ public class MetadataTable extends org.a if (dfv.getNumEntries() > 0) { m.put(Constants.METADATA_DATAFILE_COLUMN_FAMILY, new Text(path), new Value(dfv.encode())); ColumnFQ.put(m, Constants.METADATA_TIME_COLUMN, new Value(time.getBytes())); - // erase the old location - if (lastLocation != null) - lastLocation.clearLastLocation(m); // stuff in this location TServerInstance self = getTServerInstance(address, zooLock); self.putLastLocation(m); + // erase the old location + if (lastLocation != null && !lastLocation.equals(self)) + lastLocation.clearLastLocation(m); } if (unusedWalLogs != null) { for (String entry : unusedWalLogs) { @@ -465,11 +465,12 @@ public class MetadataTable extends org.a if (compactionId != null) ColumnFQ.put(m, Constants.METADATA_COMPACT_COLUMN, new Value(("" + compactionId).getBytes())); - // remove the old location - if (lastLocation != null) - lastLocation.clearLastLocation(m); TServerInstance self = getTServerInstance(address, zooLock); self.putLastLocation(m); + + // remove the old location + if (lastLocation != null && !lastLocation.equals(self)) + lastLocation.clearLastLocation(m); update(credentials, zooLock, m); }