You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by vi...@apache.org on 2013/06/24 23:34:25 UTC
svn commit: r1496226 [3/13] - in /accumulo/branches/ACCUMULO-CURATOR: ./
assemble/ conf/examples/1GB/native-standalone/
conf/examples/1GB/standalone/ conf/examples/2GB/native-standalone/
conf/examples/2GB/standalone/ conf/examples/3GB/native-standalone...
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java Mon Jun 24 21:34:20 2013
@@ -1231,7 +1231,7 @@ import org.slf4j.LoggerFactory;
struct.inputFiles = new ArrayList<String>(_list52.size);
for (int _i53 = 0; _i53 < _list52.size; ++_i53)
{
- String _elem54; // required
+ String _elem54; // optional
_elem54 = iprot.readString();
struct.inputFiles.add(_elem54);
}
@@ -1297,7 +1297,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list55.size);
for (int _i56 = 0; _i56 < _list55.size; ++_i56)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem57; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem57; // optional
_elem57 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem57.read(iprot);
struct.ssiList.add(_elem57);
@@ -1567,7 +1567,7 @@ import org.slf4j.LoggerFactory;
struct.inputFiles = new ArrayList<String>(_list74.size);
for (int _i75 = 0; _i75 < _list74.size; ++_i75)
{
- String _elem76; // required
+ String _elem76; // optional
_elem76 = iprot.readString();
struct.inputFiles.add(_elem76);
}
@@ -1604,7 +1604,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list77.size);
for (int _i78 = 0; _i78 < _list77.size; ++_i78)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem79; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem79; // optional
_elem79 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem79.read(iprot);
struct.ssiList.add(_elem79);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveScan.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveScan.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveScan.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveScan.java Mon Jun 24 21:34:20 2013
@@ -1382,7 +1382,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list8.size);
for (int _i9 = 0; _i9 < _list8.size; ++_i9)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem10; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem10; // optional
_elem10 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem10.read(iprot);
struct.columns.add(_elem10);
@@ -1401,7 +1401,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list11.size);
for (int _i12 = 0; _i12 < _list11.size; ++_i12)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem13; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem13; // optional
_elem13 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem13.read(iprot);
struct.ssiList.add(_elem13);
@@ -1452,7 +1452,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list22.size);
for (int _i23 = 0; _i23 < _list22.size; ++_i23)
{
- ByteBuffer _elem24; // required
+ ByteBuffer _elem24; // optional
_elem24 = iprot.readBinary();
struct.authorizations.add(_elem24);
}
@@ -1739,7 +1739,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list35.size);
for (int _i36 = 0; _i36 < _list35.size; ++_i36)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem37; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem37; // optional
_elem37 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem37.read(iprot);
struct.columns.add(_elem37);
@@ -1753,7 +1753,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list38.size);
for (int _i39 = 0; _i39 < _list38.size; ++_i39)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem40; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem40; // optional
_elem40 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem40.read(iprot);
struct.ssiList.add(_elem40);
@@ -1793,7 +1793,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list49.size);
for (int _i50 = 0; _i50 < _list49.size; ++_i50)
{
- ByteBuffer _elem51; // required
+ ByteBuffer _elem51; // optional
_elem51 = iprot.readBinary();
struct.authorizations.add(_elem51);
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ConstraintViolationException.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ConstraintViolationException.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ConstraintViolationException.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ConstraintViolationException.java Mon Jun 24 21:34:20 2013
@@ -359,7 +359,7 @@ import org.slf4j.LoggerFactory;
struct.violationSummaries = new ArrayList<org.apache.accumulo.core.data.thrift.TConstraintViolationSummary>(_list0.size);
for (int _i1 = 0; _i1 < _list0.size; ++_i1)
{
- org.apache.accumulo.core.data.thrift.TConstraintViolationSummary _elem2; // required
+ org.apache.accumulo.core.data.thrift.TConstraintViolationSummary _elem2; // optional
_elem2 = new org.apache.accumulo.core.data.thrift.TConstraintViolationSummary();
_elem2.read(iprot);
struct.violationSummaries.add(_elem2);
@@ -441,7 +441,7 @@ import org.slf4j.LoggerFactory;
struct.violationSummaries = new ArrayList<org.apache.accumulo.core.data.thrift.TConstraintViolationSummary>(_list5.size);
for (int _i6 = 0; _i6 < _list5.size; ++_i6)
{
- org.apache.accumulo.core.data.thrift.TConstraintViolationSummary _elem7; // required
+ org.apache.accumulo.core.data.thrift.TConstraintViolationSummary _elem7; // optional
_elem7 = new org.apache.accumulo.core.data.thrift.TConstraintViolationSummary();
_elem7.read(iprot);
struct.violationSummaries.add(_elem7);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java Mon Jun 24 21:34:20 2013
@@ -359,7 +359,7 @@ import org.slf4j.LoggerFactory;
struct.iterators = new ArrayList<TIteratorSetting>(_list98.size);
for (int _i99 = 0; _i99 < _list98.size; ++_i99)
{
- TIteratorSetting _elem100; // required
+ TIteratorSetting _elem100; // optional
_elem100 = new TIteratorSetting();
_elem100.read(iprot);
struct.iterators.add(_elem100);
@@ -441,7 +441,7 @@ import org.slf4j.LoggerFactory;
struct.iterators = new ArrayList<TIteratorSetting>(_list103.size);
for (int _i104 = 0; _i104 < _list103.size; ++_i104)
{
- TIteratorSetting _elem105; // required
+ TIteratorSetting _elem105; // optional
_elem105 = new TIteratorSetting();
_elem105.read(iprot);
struct.iterators.add(_elem105);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java Mon Jun 24 21:34:20 2013
@@ -3685,7 +3685,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list106.size);
for (int _i107 = 0; _i107 < _list106.size; ++_i107)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem108; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem108; // optional
_elem108 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem108.read(iprot);
struct.columns.add(_elem108);
@@ -3712,7 +3712,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list109.size);
for (int _i110 = 0; _i110 < _list109.size; ++_i110)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem111; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem111; // optional
_elem111 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem111.read(iprot);
struct.ssiList.add(_elem111);
@@ -3763,7 +3763,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list120.size);
for (int _i121 = 0; _i121 < _list120.size; ++_i121)
{
- ByteBuffer _elem122; // required
+ ByteBuffer _elem122; // optional
_elem122 = iprot.readBinary();
struct.authorizations.add(_elem122);
}
@@ -4040,7 +4040,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list133.size);
for (int _i134 = 0; _i134 < _list133.size; ++_i134)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem135; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem135; // optional
_elem135 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem135.read(iprot);
struct.columns.add(_elem135);
@@ -4058,7 +4058,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list136.size);
for (int _i137 = 0; _i137 < _list136.size; ++_i137)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem138; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem138; // optional
_elem138 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem138.read(iprot);
struct.ssiList.add(_elem138);
@@ -4098,7 +4098,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list147.size);
for (int _i148 = 0; _i148 < _list147.size; ++_i148)
{
- ByteBuffer _elem149; // required
+ ByteBuffer _elem149; // optional
_elem149 = iprot.readBinary();
struct.authorizations.add(_elem149);
}
@@ -7338,7 +7338,7 @@ import org.slf4j.LoggerFactory;
_val153 = new ArrayList<org.apache.accumulo.core.data.thrift.TRange>(_list154.size);
for (int _i155 = 0; _i155 < _list154.size; ++_i155)
{
- org.apache.accumulo.core.data.thrift.TRange _elem156; // required
+ org.apache.accumulo.core.data.thrift.TRange _elem156; // optional
_elem156 = new org.apache.accumulo.core.data.thrift.TRange();
_elem156.read(iprot);
_val153.add(_elem156);
@@ -7361,7 +7361,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list157.size);
for (int _i158 = 0; _i158 < _list157.size; ++_i158)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem159; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem159; // optional
_elem159 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem159.read(iprot);
struct.columns.add(_elem159);
@@ -7380,7 +7380,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list160.size);
for (int _i161 = 0; _i161 < _list160.size; ++_i161)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem162; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem162; // optional
_elem162 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem162.read(iprot);
struct.ssiList.add(_elem162);
@@ -7431,7 +7431,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list171.size);
for (int _i172 = 0; _i172 < _list171.size; ++_i172)
{
- ByteBuffer _elem173; // required
+ ByteBuffer _elem173; // optional
_elem173 = iprot.readBinary();
struct.authorizations.add(_elem173);
}
@@ -7698,7 +7698,7 @@ import org.slf4j.LoggerFactory;
_val191 = new ArrayList<org.apache.accumulo.core.data.thrift.TRange>(_list192.size);
for (int _i193 = 0; _i193 < _list192.size; ++_i193)
{
- org.apache.accumulo.core.data.thrift.TRange _elem194; // required
+ org.apache.accumulo.core.data.thrift.TRange _elem194; // optional
_elem194 = new org.apache.accumulo.core.data.thrift.TRange();
_elem194.read(iprot);
_val191.add(_elem194);
@@ -7715,7 +7715,7 @@ import org.slf4j.LoggerFactory;
struct.columns = new ArrayList<org.apache.accumulo.core.data.thrift.TColumn>(_list195.size);
for (int _i196 = 0; _i196 < _list195.size; ++_i196)
{
- org.apache.accumulo.core.data.thrift.TColumn _elem197; // required
+ org.apache.accumulo.core.data.thrift.TColumn _elem197; // optional
_elem197 = new org.apache.accumulo.core.data.thrift.TColumn();
_elem197.read(iprot);
struct.columns.add(_elem197);
@@ -7729,7 +7729,7 @@ import org.slf4j.LoggerFactory;
struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list198.size);
for (int _i199 = 0; _i199 < _list198.size; ++_i199)
{
- org.apache.accumulo.core.data.thrift.IterInfo _elem200; // required
+ org.apache.accumulo.core.data.thrift.IterInfo _elem200; // optional
_elem200 = new org.apache.accumulo.core.data.thrift.IterInfo();
_elem200.read(iprot);
struct.ssiList.add(_elem200);
@@ -7769,7 +7769,7 @@ import org.slf4j.LoggerFactory;
struct.authorizations = new ArrayList<ByteBuffer>(_list209.size);
for (int _i210 = 0; _i210 < _list209.size; ++_i210)
{
- ByteBuffer _elem211; // required
+ ByteBuffer _elem211; // optional
_elem211 = iprot.readBinary();
struct.authorizations.add(_elem211);
}
@@ -11473,7 +11473,7 @@ import org.slf4j.LoggerFactory;
struct.mutations = new ArrayList<org.apache.accumulo.core.data.thrift.TMutation>(_list212.size);
for (int _i213 = 0; _i213 < _list212.size; ++_i213)
{
- org.apache.accumulo.core.data.thrift.TMutation _elem214; // required
+ org.apache.accumulo.core.data.thrift.TMutation _elem214; // optional
_elem214 = new org.apache.accumulo.core.data.thrift.TMutation();
_elem214.read(iprot);
struct.mutations.add(_elem214);
@@ -11600,7 +11600,7 @@ import org.slf4j.LoggerFactory;
struct.mutations = new ArrayList<org.apache.accumulo.core.data.thrift.TMutation>(_list217.size);
for (int _i218 = 0; _i218 < _list217.size; ++_i218)
{
- org.apache.accumulo.core.data.thrift.TMutation _elem219; // required
+ org.apache.accumulo.core.data.thrift.TMutation _elem219; // optional
_elem219 = new org.apache.accumulo.core.data.thrift.TMutation();
_elem219.read(iprot);
struct.mutations.add(_elem219);
@@ -15002,7 +15002,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<org.apache.accumulo.core.data.thrift.TKeyExtent>(_list240.size);
for (int _i241 = 0; _i241 < _list240.size; ++_i241)
{
- org.apache.accumulo.core.data.thrift.TKeyExtent _elem242; // required
+ org.apache.accumulo.core.data.thrift.TKeyExtent _elem242; // optional
_elem242 = new org.apache.accumulo.core.data.thrift.TKeyExtent();
_elem242.read(iprot);
struct.success.add(_elem242);
@@ -15104,7 +15104,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<org.apache.accumulo.core.data.thrift.TKeyExtent>(_list245.size);
for (int _i246 = 0; _i246 < _list245.size; ++_i246)
{
- org.apache.accumulo.core.data.thrift.TKeyExtent _elem247; // required
+ org.apache.accumulo.core.data.thrift.TKeyExtent _elem247; // optional
_elem247 = new org.apache.accumulo.core.data.thrift.TKeyExtent();
_elem247.read(iprot);
struct.success.add(_elem247);
@@ -22685,7 +22685,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<TabletStats>(_list248.size);
for (int _i249 = 0; _i249 < _list248.size; ++_i249)
{
- TabletStats _elem250; // required
+ TabletStats _elem250; // optional
_elem250 = new TabletStats();
_elem250.read(iprot);
struct.success.add(_elem250);
@@ -22787,7 +22787,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<TabletStats>(_list253.size);
for (int _i254 = 0; _i254 < _list253.size; ++_i254)
{
- TabletStats _elem255; // required
+ TabletStats _elem255; // optional
_elem255 = new TabletStats();
_elem255.read(iprot);
struct.success.add(_elem255);
@@ -26068,7 +26068,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<ActiveScan>(_list256.size);
for (int _i257 = 0; _i257 < _list256.size; ++_i257)
{
- ActiveScan _elem258; // required
+ ActiveScan _elem258; // optional
_elem258 = new ActiveScan();
_elem258.read(iprot);
struct.success.add(_elem258);
@@ -26170,7 +26170,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<ActiveScan>(_list261.size);
for (int _i262 = 0; _i262 < _list261.size; ++_i262)
{
- ActiveScan _elem263; // required
+ ActiveScan _elem263; // optional
_elem263 = new ActiveScan();
_elem263.read(iprot);
struct.success.add(_elem263);
@@ -27042,7 +27042,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<ActiveCompaction>(_list264.size);
for (int _i265 = 0; _i265 < _list264.size; ++_i265)
{
- ActiveCompaction _elem266; // required
+ ActiveCompaction _elem266; // optional
_elem266 = new ActiveCompaction();
_elem266.read(iprot);
struct.success.add(_elem266);
@@ -27144,7 +27144,7 @@ import org.slf4j.LoggerFactory;
struct.success = new ArrayList<ActiveCompaction>(_list269.size);
for (int _i270 = 0; _i270 < _list269.size; ++_i270)
{
- ActiveCompaction _elem271; // required
+ ActiveCompaction _elem271; // optional
_elem271 = new ActiveCompaction();
_elem271.read(iprot);
struct.success.add(_elem271);
@@ -27653,7 +27653,7 @@ import org.slf4j.LoggerFactory;
struct.filenames = new ArrayList<String>(_list272.size);
for (int _i273 = 0; _i273 < _list272.size; ++_i273)
{
- String _elem274; // required
+ String _elem274; // optional
_elem274 = iprot.readString();
struct.filenames.add(_elem274);
}
@@ -27766,7 +27766,7 @@ import org.slf4j.LoggerFactory;
struct.filenames = new ArrayList<String>(_list277.size);
for (int _i278 = 0; _i278 < _list277.size; ++_i278)
{
- String _elem279; // required
+ String _elem279; // optional
_elem279 = iprot.readString();
struct.filenames.add(_elem279);
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/Merge.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/Merge.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/Merge.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/Merge.java Mon Jun 24 21:34:20 2013
@@ -21,7 +21,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.cli.ClientOnRequiredTable;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.Scanner;
@@ -32,6 +31,7 @@ import org.apache.accumulo.core.conf.Pro
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.security.Authorizations;
import org.apache.commons.cli.ParseException;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
@@ -61,6 +61,7 @@ public class Merge {
return AccumuloConfiguration.getMemoryInBytes(value);
}
}
+
static class TextConverter implements IStringConverter<Text> {
@Override
public Text convert(String value) {
@@ -69,13 +70,13 @@ public class Merge {
}
static class Opts extends ClientOnRequiredTable {
- @Parameter(names={"-s", "--size"}, description="merge goal size", converter=MemoryConverter.class)
+ @Parameter(names = {"-s", "--size"}, description = "merge goal size", converter = MemoryConverter.class)
Long goalSize = null;
- @Parameter(names={"-f", "--force"}, description="merge small tablets even if merging them to larger tablets might cause a split")
+ @Parameter(names = {"-f", "--force"}, description = "merge small tablets even if merging them to larger tablets might cause a split")
boolean force = false;
- @Parameter(names={"-b", "--begin"}, description="start tablet", converter=TextConverter.class)
+ @Parameter(names = {"-b", "--begin"}, description = "start tablet", converter = TextConverter.class)
Text begin = null;
- @Parameter(names={"-e", "--end"}, description="end tablet", converter=TextConverter.class)
+ @Parameter(names = {"-e", "--end"}, description = "end tablet", converter = TextConverter.class)
Text end = null;
}
@@ -119,7 +120,7 @@ public class Merge {
public void mergomatic(Connector conn, String table, Text start, Text end, long goalSize, boolean force) throws MergeException {
try {
- if (table.equals(Constants.METADATA_TABLE_NAME)) {
+ if (table.equals(MetadataTable.NAME)) {
throw new IllegalArgumentException("cannot merge tablets on the metadata table");
}
List<Size> sizes = new ArrayList<Size>();
@@ -210,13 +211,13 @@ public class Merge {
Scanner scanner;
try {
tableId = Tables.getTableId(conn.getInstance(), tablename);
- scanner = conn.createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
+ scanner = conn.createScanner(MetadataTable.NAME, Authorizations.EMPTY);
} catch (Exception e) {
throw new MergeException(e);
}
scanner.setRange(new KeyExtent(new Text(tableId), end, start).toMetadataRange());
- scanner.fetchColumnFamily(Constants.METADATA_DATAFILE_COLUMN_FAMILY);
- Constants.METADATA_PREV_ROW_COLUMN.fetch(scanner);
+ scanner.fetchColumnFamily(MetadataTable.DATAFILE_COLUMN_FAMILY);
+ MetadataTable.PREV_ROW_COLUMN.fetch(scanner);
final Iterator<Entry<Key,Value>> iterator = scanner.iterator();
Iterator<Size> result = new Iterator<Size>() {
@@ -232,12 +233,12 @@ public class Merge {
while (iterator.hasNext()) {
Entry<Key,Value> entry = iterator.next();
Key key = entry.getKey();
- if (key.getColumnFamily().equals(Constants.METADATA_DATAFILE_COLUMN_FAMILY)) {
+ if (key.getColumnFamily().equals(MetadataTable.DATAFILE_COLUMN_FAMILY)) {
String[] sizeEntries = new String(entry.getValue().get()).split(",");
if (sizeEntries.length == 2) {
tabletSize += Long.parseLong(sizeEntries[0]);
}
- } else if (Constants.METADATA_PREV_ROW_COLUMN.hasColumns(key)) {
+ } else if (MetadataTable.PREV_ROW_COLUMN.hasColumns(key)) {
KeyExtent extent = new KeyExtent(key.getRow(), entry.getValue());
return new Size(extent, tabletSize);
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java Mon Jun 24 21:34:20 2013
@@ -26,7 +26,6 @@ import java.util.SortedMap;
import java.util.SortedSet;
import java.util.TreeMap;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.Instance;
@@ -38,11 +37,71 @@ import org.apache.accumulo.core.data.Key
import org.apache.accumulo.core.data.PartialKey;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.security.CredentialHelper;
import org.apache.accumulo.core.security.thrift.TCredentials;
import org.apache.hadoop.io.Text;
public class MetadataTable {
+
+ public static final String ID = "!0";
+ public static final String NAME = "!METADATA";
+
+ /**
+ * Initial tablet directory name
+ */
+ public static final String TABLE_TABLET_LOCATION = "/table_info";
+
+ /**
+ * Reserved keyspace is any row that begins with a tilde '~' character
+ */
+ public static final Key RESERVED_RANGE_START_KEY = new Key(new Text(new byte[] {'~'}));
+ public static final Range NON_ROOT_KEYSPACE = new Range(null, false, RESERVED_RANGE_START_KEY, false);
+ public static final Range KEYSPACE = new Range(new Key(new Text(ID)), true, RESERVED_RANGE_START_KEY, false);
+ public static final Range DELETED_RANGE = new Range(new Key(new Text("~del")), true, new Key(new Text("~dem")), false);
+ public static final String BLIP_FLAG_PREFIX = "~blip"; // BLIP = bulk load in progress
+ public static final Range BLIP_KEYSPACE = new Range(new Key(new Text(BLIP_FLAG_PREFIX)), true, new Key(new Text("~bliq")), false);
+
+ public static final Text CURRENT_LOCATION_COLUMN_FAMILY = new Text("loc");
+ public static final Text FUTURE_LOCATION_COLUMN_FAMILY = new Text("future");
+ public static final Text LAST_LOCATION_COLUMN_FAMILY = new Text("last");
+ /**
+ * Temporary marker that indicates a tablet loaded a bulk file
+ */
+ public static final Text BULKFILE_COLUMN_FAMILY = new Text("loaded");
+
+ /**
+ * Temporary marker that indicates a tablet was successfully cloned
+ */
+ public static final Text CLONED_COLUMN_FAMILY = new Text("!cloned");
+
+ /**
+ * This needs to sort after all other column families for that tablet, because the {@link #PREV_ROW_COLUMN} sits in this and that needs to sort last because
+ * the {@link SimpleGarbageCollector} relies on this.
+ */
+ public static final Text TABLET_COLUMN_FAMILY = new Text("~tab");
+
+ /**
+ * README : very important that prevRow sort last to avoid race conditions between garbage collector and split this needs to sort after everything else for
+ * that tablet
+ */
+ public static final ColumnFQ PREV_ROW_COLUMN = new ColumnFQ(TABLET_COLUMN_FAMILY, new Text("~pr"));
+ public static final ColumnFQ OLD_PREV_ROW_COLUMN = new ColumnFQ(TABLET_COLUMN_FAMILY, new Text("oldprevrow"));
+ public static final ColumnFQ SPLIT_RATIO_COLUMN = new ColumnFQ(TABLET_COLUMN_FAMILY, new Text("splitRatio"));
+
+ public static final Text SERVER_COLUMN_FAMILY = new Text("srv");
+ public static final ColumnFQ DIRECTORY_COLUMN = new ColumnFQ(SERVER_COLUMN_FAMILY, new Text("dir"));
+ public static final ColumnFQ TIME_COLUMN = new ColumnFQ(SERVER_COLUMN_FAMILY, new Text("time"));
+ public static final ColumnFQ FLUSH_COLUMN = new ColumnFQ(SERVER_COLUMN_FAMILY, new Text("flush"));
+ public static final ColumnFQ COMPACT_COLUMN = new ColumnFQ(SERVER_COLUMN_FAMILY, new Text("compact"));
+ public static final ColumnFQ LOCK_COLUMN = new ColumnFQ(SERVER_COLUMN_FAMILY, new Text("lock"));
+
+ public static final Text DATAFILE_COLUMN_FAMILY = new Text("file");
+ public static final Text SCANFILE_COLUMN_FAMILY = new Text("scan");
+ public static final Text LOG_COLUMN_FAMILY = new Text("log");
+ public static final Text CHOPPED_COLUMN_FAMILY = new Text("chopped");
+ public static final ColumnFQ CHOPPED_COLUMN = new ColumnFQ(CHOPPED_COLUMN_FAMILY, new Text("chopped"));
+
public static class DataFileValue {
private long size;
private long numEntries;
@@ -94,6 +153,7 @@ public class MetadataTable {
return ("" + size + "," + numEntries).getBytes();
}
+ @Override
public boolean equals(Object o) {
if (o instanceof DataFileValue) {
DataFileValue odfv = (DataFileValue) o;
@@ -104,10 +164,12 @@ public class MetadataTable {
return false;
}
+ @Override
public int hashCode() {
return Long.valueOf(size + numEntries).hashCode();
}
+ @Override
public String toString() {
return size + " " + numEntries;
}
@@ -149,12 +211,12 @@ public class MetadataTable {
colq = key.getColumnQualifier(colq);
// interpret the row id as a key extent
- if (colf.equals(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY) || colf.equals(Constants.METADATA_FUTURE_LOCATION_COLUMN_FAMILY)) {
+ if (colf.equals(CURRENT_LOCATION_COLUMN_FAMILY) || colf.equals(FUTURE_LOCATION_COLUMN_FAMILY)) {
if (location != null) {
throw new IllegalStateException("Tablet has multiple locations : " + lastRowFromKey);
}
location = new Text(val.toString());
- } else if (Constants.METADATA_PREV_ROW_COLUMN.equals(colf, colq)) {
+ } else if (PREV_ROW_COLUMN.equals(colf, colq)) {
prevRow = new Value(val);
}
@@ -164,7 +226,7 @@ public class MetadataTable {
results.put(ke, location);
else
locationless.add(ke);
-
+
location = null;
prevRow = null;
}
@@ -172,7 +234,7 @@ public class MetadataTable {
return new Pair<SortedMap<KeyExtent,Text>,List<KeyExtent>>(results, locationless);
}
-
+
public static SortedMap<Text,SortedMap<ColumnFQ,Value>> getTabletEntries(SortedMap<Key,Value> tabletKeyValues, List<ColumnFQ> columns) {
TreeMap<Text,SortedMap<ColumnFQ,Value>> tabletEntries = new TreeMap<Text,SortedMap<ColumnFQ,Value>>();
@@ -200,15 +262,17 @@ public class MetadataTable {
return tabletEntries;
}
-
+
public static void getEntries(Instance instance, TCredentials credentials, String table, boolean isTid, Map<KeyExtent,String> locations,
SortedSet<KeyExtent> tablets) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
String tableId = isTid ? table : Tables.getNameToIdMap(instance).get(table);
- Scanner scanner = instance.getConnector(credentials.getPrincipal(), CredentialHelper.extractToken(credentials)).createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
+ String systemTableToRead = tableId.equals(ID) ? RootTable.NAME : NAME;
+ Scanner scanner = instance.getConnector(credentials.getPrincipal(), CredentialHelper.extractToken(credentials)).createScanner(systemTableToRead,
+ Authorizations.EMPTY);
- Constants.METADATA_PREV_ROW_COLUMN.fetch(scanner);
- scanner.fetchColumnFamily(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY);
+ PREV_ROW_COLUMN.fetch(scanner);
+ scanner.fetchColumnFamily(CURRENT_LOCATION_COLUMN_FAMILY);
// position at first entry in metadata table for given table
KeyExtent ke = new KeyExtent(new Text(tableId), new Text(), null);
@@ -244,11 +308,11 @@ public class MetadataTable {
if (!(new KeyExtent(entry.getKey().getRow(), (Text) null)).getTableId().toString().equals(tableId))
break;
- if (Constants.METADATA_PREV_ROW_COLUMN.equals(colf, colq)) {
+ if (PREV_ROW_COLUMN.equals(colf, colq)) {
currentKeyExtent = new KeyExtent(entry.getKey().getRow(), entry.getValue());
tablets.add(currentKeyExtent);
haveExtent = true;
- } else if (colf.equals(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY)) {
+ } else if (colf.equals(CURRENT_LOCATION_COLUMN_FAMILY)) {
location = entry.getValue().toString();
haveLocation = true;
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java Mon Jun 24 21:34:20 2013
@@ -22,17 +22,13 @@ import java.util.SortedSet;
import java.util.TreeSet;
import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.ConfigurationCopy;
-import org.apache.accumulo.core.util.TableDiskUsage;
-import org.apache.accumulo.core.util.TableDiskUsage.Printer;
+import org.apache.accumulo.core.client.admin.DiskUsage;
+import org.apache.accumulo.core.util.NumUtil;
import org.apache.accumulo.core.util.shell.Shell;
import org.apache.accumulo.core.util.shell.Shell.Command;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
public class DUCommand extends Command {
@@ -40,33 +36,36 @@ public class DUCommand extends Command {
public int execute(final String fullCommand, final CommandLine cl, final Shell shellState) throws IOException, TableNotFoundException {
- final SortedSet<String> tablesToFlush = new TreeSet<String>(Arrays.asList(cl.getArgs()));
+ final SortedSet<String> tables = new TreeSet<String>(Arrays.asList(cl.getArgs()));
+
+ if (cl.hasOption(Shell.tableOption)) {
+ String tableName = cl.getOptionValue(Shell.tableOption);
+ if (!shellState.getConnector().tableOperations().exists(tableName)) {
+ throw new TableNotFoundException(tableName, tableName, "specified table that doesn't exist");
+ }
+ tables.add(tableName);
+ }
boolean prettyPrint = cl.hasOption(optHumanReadble.getOpt()) ? true : false;
if (cl.hasOption(optTablePattern.getOpt())) {
for (String table : shellState.getConnector().tableOperations().list()) {
if (table.matches(cl.getOptionValue(optTablePattern.getOpt()))) {
- tablesToFlush.add(table);
+ tables.add(table);
}
}
} else {
- shellState.checkTableState();
- tablesToFlush.add(shellState.getTableName());
+ if (tables.isEmpty()) {
+ shellState.checkTableState();
+ tables.add(shellState.getTableName());
+ }
}
try {
- final AccumuloConfiguration acuConf = new ConfigurationCopy(shellState.getConnector().instanceOperations().getSystemConfiguration());
- TableDiskUsage.printDiskUsage(acuConf, tablesToFlush, FileSystem.get(new Configuration()), shellState.getConnector(), new Printer() {
- @Override
- public void print(String line) {
- try {
- shellState.getReader().println(line);
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- }, prettyPrint);
+ String valueFormat = prettyPrint ? "%9s" : "%,24d";
+ for (DiskUsage usage : shellState.getConnector().tableOperations().getDiskUsage(tables)) {
+ Object value = prettyPrint ? NumUtil.bigNumberForSize(usage.getUsage()) : usage.getUsage();
+ shellState.getReader().println(String.format(valueFormat + " %s", value, usage.getTables()));
+ }
} catch (Exception ex) {
throw new RuntimeException(ex);
}
@@ -87,6 +86,8 @@ public class DUCommand extends Command {
optHumanReadble = new Option("h", "human-readable", false, "format large sizes to human readable units");
optHumanReadble.setArgName("human readable output");
+
+ o.addOption(OptUtil.tableOpt("table to examine"));
o.addOption(optTablePattern);
o.addOption(optHumanReadble);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/FlushCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/FlushCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/FlushCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/FlushCommand.java Mon Jun 24 21:34:20 2013
@@ -16,10 +16,10 @@
*/
package org.apache.accumulo.core.util.shell.commands;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.util.MetadataTable;
import org.apache.accumulo.core.util.shell.Shell;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
@@ -41,9 +41,9 @@ public class FlushCommand extends TableO
protected void doTableOp(final Shell shellState, final String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
shellState.getConnector().tableOperations().flush(tableName, startRow, endRow, wait);
Shell.log.info("Flush of table " + tableName + (wait ? " completed." : " initiated..."));
- if (tableName.equals(Constants.METADATA_TABLE_NAME)) {
- Shell.log.info(" May need to flush " + Constants.METADATA_TABLE_NAME + " table multiple times.");
- Shell.log.info(" Flushing " + Constants.METADATA_TABLE_NAME + " causes writes to itself and");
+ if (tableName.equals(MetadataTable.NAME)) {
+ Shell.log.info(" May need to flush " + MetadataTable.NAME + " table multiple times.");
+ Shell.log.info(" Flushing " + MetadataTable.NAME + " causes writes to itself and");
Shell.log.info(" minor compactions, which also cause writes to itself.");
Shell.log.info(" Check the monitor web page and give it time to settle.");
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GetSplitsCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GetSplitsCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GetSplitsCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GetSplitsCommand.java Mon Jun 24 21:34:20 2013
@@ -22,7 +22,6 @@ import java.security.NoSuchAlgorithmExce
import java.util.Iterator;
import java.util.Map.Entry;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.Scanner;
@@ -31,6 +30,9 @@ import org.apache.accumulo.core.data.Key
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.security.Authorizations;
+import org.apache.accumulo.core.util.MetadataTable;
+import org.apache.accumulo.core.util.RootTable;
import org.apache.accumulo.core.util.TextUtil;
import org.apache.accumulo.core.util.format.BinaryFormatter;
import org.apache.accumulo.core.util.shell.Shell;
@@ -68,15 +70,16 @@ public class GetSplitsCommand extends Co
p.print(encode(encode, row));
}
} else {
- final Scanner scanner = shellState.getConnector().createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
- Constants.METADATA_PREV_ROW_COLUMN.fetch(scanner);
+ String systemTableToCheck = MetadataTable.NAME.equals(tableName) ? RootTable.NAME : MetadataTable.NAME;
+ final Scanner scanner = shellState.getConnector().createScanner(systemTableToCheck, Authorizations.EMPTY);
+ MetadataTable.PREV_ROW_COLUMN.fetch(scanner);
final Text start = new Text(shellState.getConnector().tableOperations().tableIdMap().get(tableName));
final Text end = new Text(start);
end.append(new byte[] {'<'}, 0, 1);
scanner.setRange(new Range(start, end));
for (Iterator<Entry<Key,Value>> iterator = scanner.iterator(); iterator.hasNext();) {
final Entry<Key,Value> next = iterator.next();
- if (Constants.METADATA_PREV_ROW_COLUMN.hasColumns(next.getKey())) {
+ if (MetadataTable.PREV_ROW_COLUMN.hasColumns(next.getKey())) {
KeyExtent extent = new KeyExtent(next.getKey().getRow(), next.getValue());
final String pr = encode(encode, extent.getPrevEndRow());
final String er = encode(encode, extent.getEndRow());
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OfflineCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OfflineCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OfflineCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OfflineCommand.java Mon Jun 24 21:34:20 2013
@@ -16,10 +16,10 @@
*/
package org.apache.accumulo.core.util.shell.commands;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.util.MetadataTable;
import org.apache.accumulo.core.util.shell.Shell;
public class OfflineCommand extends TableOperation {
@@ -29,8 +29,8 @@ public class OfflineCommand extends Tabl
}
protected void doTableOp(final Shell shellState, final String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
- if (tableName.equals(Constants.METADATA_TABLE_NAME)) {
- Shell.log.info(" You cannot take the " + Constants.METADATA_TABLE_NAME + " offline.");
+ if (tableName.equals(MetadataTable.NAME)) {
+ Shell.log.info(" You cannot take the " + MetadataTable.NAME + " offline.");
} else {
Shell.log.info("Attempting to begin taking " + tableName + " offline");
shellState.getConnector().tableOperations().offline(tableName);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OnlineCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OnlineCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OnlineCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/OnlineCommand.java Mon Jun 24 21:34:20 2013
@@ -16,10 +16,10 @@
*/
package org.apache.accumulo.core.util.shell.commands;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.util.MetadataTable;
import org.apache.accumulo.core.util.shell.Shell;
public class OnlineCommand extends TableOperation {
@@ -29,8 +29,8 @@ public class OnlineCommand extends Table
}
protected void doTableOp(final Shell shellState, final String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
- if (tableName.equals(Constants.METADATA_TABLE_NAME)) {
- Shell.log.info(" The " + Constants.METADATA_TABLE_NAME + " is always online.");
+ if (tableName.equals(MetadataTable.NAME)) {
+ Shell.log.info(" The " + MetadataTable.NAME + " is always online.");
} else {
Shell.log.info("Attempting to begin bringing " + tableName + " online");
shellState.getConnector().tableOperations().online(tableName);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java Mon Jun 24 21:34:20 2013
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.IteratorSetting;
@@ -57,8 +56,9 @@ public class ScanCommand extends Command
private Option timeoutOption;
private Option profileOpt;
+ @Override
public int execute(final String fullCommand, final CommandLine cl, final Shell shellState) throws Exception {
-
+
final String outputFile = cl.getOptionValue(outputFileOpt.getOpt());
final PrintFile printFile = outputFile == null ? null : new PrintFile(outputFile);
@@ -83,7 +83,7 @@ public class ScanCommand extends Command
// set timeout
scanner.setTimeout(getTimeout(cl), TimeUnit.MILLISECONDS);
-
+
// output the records
if (cl.hasOption(showFewOpt.getOpt())) {
final String showLength = cl.getOptionValue(showFewOpt.getOpt());
@@ -117,7 +117,7 @@ public class ScanCommand extends Command
return Long.MAX_VALUE;
}
-
+
protected void addScanIterators(final Shell shellState, CommandLine cl, final Scanner scanner, final String tableName) {
List<IteratorSetting> tableScanIterators;
@@ -135,7 +135,7 @@ public class ScanCommand extends Command
return;
}
}
-
+
Shell.log.debug("Found " + tableScanIterators.size() + " scan iterators to set");
for (IteratorSetting setting : tableScanIterators) {
@@ -161,7 +161,7 @@ public class ScanCommand extends Command
shellState.printRecords(scanner, cl.hasOption(timestampOpt.getOpt()), !cl.hasOption(disablePaginationOpt.getOpt()), formatter, outFile);
}
}
-
+
protected void printBinaryRecords(final CommandLine cl, final Shell shellState, final Iterable<Entry<Key,Value>> scanner) throws IOException {
printBinaryRecords(cl, shellState, scanner, null);
}
@@ -187,16 +187,16 @@ public class ScanCommand extends Command
} catch (ClassNotFoundException e) {
shellState.getReader().println("Interpreter class could not be loaded.\n" + e.getMessage());
}
-
+
if (clazz == null)
clazz = InterpreterCommand.getCurrentInterpreter(tableName, shellState);
-
+
if (clazz == null)
clazz = DefaultScanInterpreter.class;
return clazz.newInstance();
}
-
+
protected Class<? extends Formatter> getFormatter(final CommandLine cl, final String tableName, final Shell shellState) throws IOException {
try {
@@ -260,7 +260,7 @@ public class ScanCommand extends Command
static Authorizations parseAuthorizations(final String field) {
if (field == null || field.isEmpty()) {
- return Constants.NO_AUTHS;
+ return Authorizations.EMPTY;
}
return new Authorizations(field.split(","));
}
@@ -302,7 +302,7 @@ public class ScanCommand extends Command
profileOpt = new Option("pn", "profile", true, "iterator profile name");
profileOpt.setArgName("profile");
-
+
o.addOption(scanOptAuths);
o.addOption(scanOptRow);
o.addOption(OptUtil.startRowOpt());
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java Mon Jun 24 21:34:20 2013
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertTru
import java.util.concurrent.TimeUnit;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.BatchWriterConfig;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
import org.apache.accumulo.core.security.Authorizations;
@@ -51,7 +50,7 @@ public class TestClientOpts {
assertFalse(args.trace);
assertEquals(10, bsOpts.scanThreads.intValue());
assertEquals(null, args.instance);
- assertEquals(Constants.NO_AUTHS, args.auths);
+ assertEquals(Authorizations.EMPTY, args.auths);
assertEquals("localhost:2181", args.zookeepers);
assertFalse(args.help);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/admin/FindMaxTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/admin/FindMaxTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/admin/FindMaxTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/admin/FindMaxTest.java Mon Jun 24 21:34:20 2013
@@ -21,7 +21,6 @@ import java.util.Map.Entry;
import junit.framework.TestCase;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
import org.apache.accumulo.core.client.Connector;
@@ -31,6 +30,7 @@ import org.apache.accumulo.core.client.s
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.security.Authorizations;
import org.apache.hadoop.io.Text;
public class FindMaxTest extends TestCase {
@@ -70,7 +70,7 @@ public class FindMaxTest extends TestCas
bw.close();
- Scanner scanner = conn.createScanner("foo", Constants.NO_AUTHS);
+ Scanner scanner = conn.createScanner("foo", Authorizations.EMPTY);
ArrayList<Text> rows = new ArrayList<Text>();
@@ -79,33 +79,33 @@ public class FindMaxTest extends TestCas
}
for (int i = rows.size() - 1; i > 0; i--) {
- Text max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), null, true, rows.get(i), false);
+ Text max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), null, true, rows.get(i), false);
assertEquals(rows.get(i - 1), max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), rows.get(i - 1), true, rows.get(i), false);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), rows.get(i - 1), true, rows.get(i), false);
assertEquals(rows.get(i - 1), max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), rows.get(i - 1), false, rows.get(i), false);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), rows.get(i - 1), false, rows.get(i), false);
assertNull(max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), null, true, rows.get(i), true);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), null, true, rows.get(i), true);
assertEquals(rows.get(i), max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), rows.get(i), true, rows.get(i), true);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), rows.get(i), true, rows.get(i), true);
assertEquals(rows.get(i), max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), rows.get(i - 1), false, rows.get(i), true);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), rows.get(i - 1), false, rows.get(i), true);
assertEquals(rows.get(i), max);
}
- Text max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), null, true, null, true);
+ Text max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), null, true, null, true);
assertEquals(rows.get(rows.size() - 1), max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), null, true, new Text(new byte[] {0}), false);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), null, true, new Text(new byte[] {0}), false);
assertNull(max);
- max = FindMax.findMax(conn.createScanner("foo", Constants.NO_AUTHS), null, true, new Text(new byte[] {0}), true);
+ max = FindMax.findMax(conn.createScanner("foo", Authorizations.EMPTY), null, true, new Text(new byte[] {0}), true);
assertEquals(rows.get(0), max);
}
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java Mon Jun 24 21:34:20 2013
@@ -31,7 +31,6 @@ import java.util.TreeMap;
import junit.framework.TestCase;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.Connector;
@@ -51,12 +50,13 @@ import org.apache.accumulo.core.data.Val
import org.apache.accumulo.core.security.thrift.TCredentials;
import org.apache.accumulo.core.util.MetadataTable;
import org.apache.accumulo.core.util.Pair;
+import org.apache.accumulo.core.util.RootTable;
import org.apache.hadoop.io.Text;
public class TabletLocatorImplTest extends TestCase {
- private static final KeyExtent RTE = Constants.ROOT_TABLET_EXTENT;
- private static final KeyExtent MTE = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), null, RTE.getEndRow());
+ private static final KeyExtent RTE = RootTable.EXTENT;
+ private static final KeyExtent MTE = new KeyExtent(new Text(MetadataTable.ID), null, RTE.getEndRow());
private static TCredentials credential = null;
static KeyExtent nke(String t, String er, String per) {
@@ -138,7 +138,7 @@ public class TabletLocatorImplTest exten
TestInstance testInstance = new TestInstance("instance1", "tserver1");
RootTabletLocator rtl = new RootTabletLocator(testInstance);
- TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(Constants.METADATA_TABLE_ID), rtl, ttlo);
+ TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(MetadataTable.ID), rtl, ttlo);
TabletLocatorImpl tab1TabletCache = new TabletLocatorImpl(new Text(table), rootTabletCache, ttlo);
setLocation(tservers, rootTabLoc, RTE, MTE, metaTabLoc);
@@ -606,11 +606,11 @@ public class TabletLocatorImplTest exten
if (location != null) {
if (instance == null)
instance = "";
- Key lk = new Key(mr, Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY, new Text(instance));
+ Key lk = new Key(mr, MetadataTable.CURRENT_LOCATION_COLUMN_FAMILY, new Text(instance));
tabletData.put(lk, new Value(location.getBytes()));
}
- Key pk = new Key(mr, Constants.METADATA_PREV_ROW_COLUMN.getColumnFamily(), Constants.METADATA_PREV_ROW_COLUMN.getColumnQualifier());
+ Key pk = new Key(mr, MetadataTable.PREV_ROW_COLUMN.getColumnFamily(), MetadataTable.PREV_ROW_COLUMN.getColumnQualifier());
tabletData.put(pk, per);
}
@@ -648,7 +648,7 @@ public class TabletLocatorImplTest exten
TestInstance testInstance = new TestInstance("instance1", "tserver1");
RootTabletLocator rtl = new RootTabletLocator(testInstance);
- TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(Constants.METADATA_TABLE_ID), rtl, ttlo);
+ TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(MetadataTable.ID), rtl, ttlo);
TabletLocatorImpl tab1TabletCache = new TabletLocatorImpl(new Text("tab1"), rootTabletCache, ttlo);
locateTabletTest(tab1TabletCache, "r1", null, null, credential);
@@ -726,8 +726,8 @@ public class TabletLocatorImplTest exten
locateTabletTest(tab1TabletCache, "r", tab1e22, "tserver3", credential);
// simulate the !METADATA table splitting
- KeyExtent mte1 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), tab1e21.getMetadataEntry(), RTE.getEndRow());
- KeyExtent mte2 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), null, tab1e21.getMetadataEntry());
+ KeyExtent mte1 = new KeyExtent(new Text(MetadataTable.ID), tab1e21.getMetadataEntry(), RTE.getEndRow());
+ KeyExtent mte2 = new KeyExtent(new Text(MetadataTable.ID), null, tab1e21.getMetadataEntry());
setLocation(tservers, "tserver4", RTE, mte1, "tserver5");
setLocation(tservers, "tserver4", RTE, mte2, "tserver6");
@@ -765,8 +765,8 @@ public class TabletLocatorImplTest exten
locateTabletTest(tab1TabletCache, "r", tab1e22, "tserver9", credential);
// simulate a hole in the !METADATA table, caused by a partial split
- KeyExtent mte11 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), tab1e1.getMetadataEntry(), RTE.getEndRow());
- KeyExtent mte12 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), tab1e21.getMetadataEntry(), tab1e1.getMetadataEntry());
+ KeyExtent mte11 = new KeyExtent(new Text(MetadataTable.ID), tab1e1.getMetadataEntry(), RTE.getEndRow());
+ KeyExtent mte12 = new KeyExtent(new Text(MetadataTable.ID), tab1e21.getMetadataEntry(), tab1e1.getMetadataEntry());
deleteServer(tservers, "tserver10");
setLocation(tservers, "tserver4", RTE, mte12, "tserver10");
setLocation(tservers, "tserver10", mte12, tab1e21, "tserver12");
@@ -1172,15 +1172,15 @@ public class TabletLocatorImplTest exten
public void testBug1() throws Exception {
// a bug that occurred while running continuous ingest
- KeyExtent mte1 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("0;0bc"), RTE.getEndRow());
- KeyExtent mte2 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), null, new Text("0;0bc"));
+ KeyExtent mte1 = new KeyExtent(new Text(MetadataTable.ID), new Text("0;0bc"), RTE.getEndRow());
+ KeyExtent mte2 = new KeyExtent(new Text(MetadataTable.ID), null, new Text("0;0bc"));
TServers tservers = new TServers();
TestTabletLocationObtainer ttlo = new TestTabletLocationObtainer(tservers);
TestInstance testInstance = new TestInstance("instance1", "tserver1");
RootTabletLocator rtl = new RootTabletLocator(testInstance);
- TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(Constants.METADATA_TABLE_ID), rtl, ttlo);
+ TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(MetadataTable.ID), rtl, ttlo);
TabletLocatorImpl tab0TabletCache = new TabletLocatorImpl(new Text("0"), rootTabletCache, ttlo);
setLocation(tservers, "tserver1", RTE, mte1, "tserver2");
@@ -1199,15 +1199,15 @@ public class TabletLocatorImplTest exten
public void testBug2() throws Exception {
// a bug that occurred while running a functional test
- KeyExtent mte1 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("~"), RTE.getEndRow());
- KeyExtent mte2 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), null, new Text("~"));
+ KeyExtent mte1 = new KeyExtent(new Text(MetadataTable.ID), new Text("~"), RTE.getEndRow());
+ KeyExtent mte2 = new KeyExtent(new Text(MetadataTable.ID), null, new Text("~"));
TServers tservers = new TServers();
TestTabletLocationObtainer ttlo = new TestTabletLocationObtainer(tservers);
TestInstance testInstance = new TestInstance("instance1", "tserver1");
RootTabletLocator rtl = new RootTabletLocator(testInstance);
- TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(Constants.METADATA_TABLE_ID), rtl, ttlo);
+ TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(MetadataTable.ID), rtl, ttlo);
TabletLocatorImpl tab0TabletCache = new TabletLocatorImpl(new Text("0"), rootTabletCache, ttlo);
setLocation(tservers, "tserver1", RTE, mte1, "tserver2");
@@ -1224,11 +1224,11 @@ public class TabletLocatorImplTest exten
// this test reproduces a problem where empty metadata tablets, that were created by user tablets being merged away, caused locating tablets to fail
public void testBug3() throws Exception {
- KeyExtent mte1 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("1;c"), RTE.getEndRow());
- KeyExtent mte2 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("1;f"), new Text("1;c"));
- KeyExtent mte3 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("1;j"), new Text("1;f"));
- KeyExtent mte4 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), new Text("1;r"), new Text("1;j"));
- KeyExtent mte5 = new KeyExtent(new Text(Constants.METADATA_TABLE_ID), null, new Text("1;r"));
+ KeyExtent mte1 = new KeyExtent(new Text(MetadataTable.ID), new Text("1;c"), RTE.getEndRow());
+ KeyExtent mte2 = new KeyExtent(new Text(MetadataTable.ID), new Text("1;f"), new Text("1;c"));
+ KeyExtent mte3 = new KeyExtent(new Text(MetadataTable.ID), new Text("1;j"), new Text("1;f"));
+ KeyExtent mte4 = new KeyExtent(new Text(MetadataTable.ID), new Text("1;r"), new Text("1;j"));
+ KeyExtent mte5 = new KeyExtent(new Text(MetadataTable.ID), null, new Text("1;r"));
KeyExtent ke1 = new KeyExtent(new Text("1"), null, null);
@@ -1238,7 +1238,7 @@ public class TabletLocatorImplTest exten
RootTabletLocator rtl = new RootTabletLocator(testInstance);
- TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(Constants.METADATA_TABLE_ID), rtl, ttlo);
+ TabletLocatorImpl rootTabletCache = new TabletLocatorImpl(new Text(MetadataTable.ID), rtl, ttlo);
TabletLocatorImpl tab0TabletCache = new TabletLocatorImpl(new Text("1"), rootTabletCache, ttlo);
setLocation(tservers, "tserver1", RTE, mte1, "tserver2");
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java Mon Jun 24 21:34:20 2013
@@ -20,12 +20,14 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
+import java.util.List;
import java.util.Map.Entry;
import java.util.Random;
+import java.util.concurrent.TimeUnit;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.BatchDeleter;
@@ -46,6 +48,7 @@ import org.apache.accumulo.core.iterator
import org.apache.accumulo.core.iterators.user.SummingCombiner;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.hadoop.io.Text;
+import org.junit.Assert;
import org.junit.Test;
public class MockConnectorTest {
@@ -67,7 +70,7 @@ public class MockConnectorTest {
bw.addMutation(m);
}
bw.close();
- BatchScanner s = c.createBatchScanner("test", Constants.NO_AUTHS, 2);
+ BatchScanner s = c.createBatchScanner("test", Authorizations.EMPTY, 2);
s.setRanges(Collections.singletonList(new Range()));
Key key = null;
int count = 0;
@@ -94,6 +97,43 @@ public class MockConnectorTest {
}
@Test
+ public void testBadMutations() throws Exception {
+ Connector c = new MockConnector("root", new MockInstance());
+ c.tableOperations().create("test");
+ BatchWriter bw = c
+ .createBatchWriter("test", new BatchWriterConfig().setMaxMemory(10000L).setMaxLatency(1000L, TimeUnit.MILLISECONDS).setMaxWriteThreads(4));
+
+ try {
+ bw.addMutation(null);
+ Assert.fail("addMutation should throw IAE for null mutation");
+ } catch (IllegalArgumentException iae) {}
+ try {
+ bw.addMutations(null);
+ Assert.fail("addMutations should throw IAE for null iterable");
+ } catch (IllegalArgumentException iae) {}
+
+ bw.addMutations(Collections.<Mutation> emptyList());
+
+ Mutation bad = new Mutation("bad");
+ try {
+ bw.addMutation(bad);
+ Assert.fail("addMutation should throw IAE for empty mutation");
+ } catch (IllegalArgumentException iae) {}
+
+ Mutation good = new Mutation("good");
+ good.put(asText(random.nextInt()), asText(random.nextInt()), new Value("good".getBytes()));
+ List<Mutation> mutations = new ArrayList<Mutation>();
+ mutations.add(good);
+ mutations.add(bad);
+ try {
+ bw.addMutations(mutations);
+ Assert.fail("addMutations should throw IAE if it contains empty mutation");
+ } catch (IllegalArgumentException iae) {}
+
+ bw.close();
+ }
+
+ @Test
public void testAggregation() throws Exception {
MockInstance mockInstance = new MockInstance();
Connector c = mockInstance.getConnector("root", new PasswordToken(""));
@@ -113,7 +153,7 @@ public class MockConnectorTest {
}
bw.close();
- Scanner s = c.createScanner("perDayCounts", Constants.NO_AUTHS);
+ Scanner s = c.createScanner("perDayCounts", Authorizations.EMPTY);
Iterator<Entry<Key,Value>> iterator = s.iterator();
assertTrue(iterator.hasNext());
checkEntry(iterator.next(), "bar", "day", "20080101", "2");
@@ -144,7 +184,7 @@ public class MockConnectorTest {
bw.addMutation(m2);
bw.flush();
- Scanner scanner = c.createScanner("test", Constants.NO_AUTHS);
+ Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
int count = 0;
for (@SuppressWarnings("unused")
@@ -172,7 +212,7 @@ public class MockConnectorTest {
c.tableOperations().delete("test");
c.tableOperations().create("test");
- BatchDeleter deleter = c.createBatchDeleter("test", Constants.NO_AUTHS, 2, new BatchWriterConfig());
+ BatchDeleter deleter = c.createBatchDeleter("test", Authorizations.EMPTY, 2, new BatchWriterConfig());
// first make sure it deletes fine when its empty
deleter.setRanges(Collections.singletonList(new Range(("r1"))));
deleter.delete();
@@ -223,7 +263,7 @@ public class MockConnectorTest {
* number of rows the table should contain
*/
private void checkRemaining(Connector c, String tableName, int count) throws Exception {
- Scanner scanner = c.createScanner(tableName, Constants.NO_AUTHS);
+ Scanner scanner = c.createScanner(tableName, Authorizations.EMPTY);
int total = 0;
for (@SuppressWarnings("unused")
@@ -250,7 +290,7 @@ public class MockConnectorTest {
int count = 10;
- Scanner scanner = c.createScanner("test", Constants.NO_AUTHS);
+ Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
for (Entry<Key,Value> entry : scanner) {
Key key = entry.getKey();
Mutation m = new Mutation(key.getRow());
@@ -300,7 +340,7 @@ public class MockConnectorTest {
b.addMutation(m1);
b.flush();
- Scanner scanner = c.createScanner("a", Constants.NO_AUTHS);
+ Scanner scanner = c.createScanner("a", Authorizations.EMPTY);
int count = 0;
for (@SuppressWarnings("unused")
Entry<Key,Value> entry : scanner) {
@@ -308,7 +348,7 @@ public class MockConnectorTest {
}
assertEquals(1, count);
count = 0;
- scanner = c.createScanner("b", Constants.NO_AUTHS);
+ scanner = c.createScanner("b", Authorizations.EMPTY);
for (@SuppressWarnings("unused")
Entry<Key,Value> entry : scanner) {
count++;
@@ -331,7 +371,7 @@ public class MockConnectorTest {
bw.close();
- Scanner scanner = c.createScanner("test", Constants.NO_AUTHS);
+ Scanner scanner = c.createScanner("test", Authorizations.EMPTY);
Entry<Key,Value> entry = scanner.iterator().next();
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java Mon Jun 24 21:34:20 2013
@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloException;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.BatchScanner;
@@ -110,7 +109,7 @@ public class MockTableOperationsTest {
}
protected void assertVersionable(Connector c, String tableName, int size) throws TableNotFoundException {
- BatchScanner s = c.createBatchScanner(tableName, Constants.NO_AUTHS, 1);
+ BatchScanner s = c.createBatchScanner(tableName, Authorizations.EMPTY, 1);
s.setRanges(Collections.singleton(Range.exact("row1", "cf", "cq")));
int count = 0;
for (Map.Entry<Key,Value> e : s) {
@@ -266,7 +265,7 @@ public class MockTableOperationsTest {
}
bw.flush();
to.deleteRows("test", new Text("1"), new Text("2"));
- Scanner s = connector.createScanner("test", Constants.NO_AUTHS);
+ Scanner s = connector.createScanner("test", Authorizations.EMPTY);
for (Entry<Key,Value> entry : s) {
Assert.assertTrue(entry.getKey().getRow().toString().charAt(0) != '1');
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/client/mock/TestBatchScanner821.java Mon Jun 24 21:34:20 2013
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertEqu
import java.util.Collections;
import java.util.Map.Entry;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.BatchScanner;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
@@ -32,6 +31,7 @@ import org.apache.accumulo.core.data.Key
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.security.Authorizations;
import org.junit.Test;
public class TestBatchScanner821 {
@@ -48,13 +48,13 @@ public class TestBatchScanner821 {
bw.addMutation(m);
}
bw.flush();
- BatchScanner bs = conn.createBatchScanner("test", Constants.NO_AUTHS, 1);
+ BatchScanner bs = conn.createBatchScanner("test", Authorizations.EMPTY, 1);
IteratorSetting cfg = new IteratorSetting(100, TransformIterator.class);
bs.addScanIterator(cfg);
bs.setRanges(Collections.singletonList(new Range("A", "Z")));
StringBuilder sb = new StringBuilder();
String comma = "";
- for (Entry<Key,Value> entry : bs) {
+ for (Entry<Key,Value> entry : bs) {
sb.append(comma);
sb.append(entry.getKey().getRow());
comma = ",";
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/conf/PropertyTest.java Mon Jun 24 21:34:20 2013
@@ -22,6 +22,10 @@ import static org.junit.Assert.assertTru
import java.io.File;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map.Entry;
+import java.util.TreeMap;
+import java.util.TreeSet;
import org.junit.Test;
@@ -98,7 +102,8 @@ public class PropertyTest {
typeCheckValidFormat(PropertyType.ABSOLUTEPATH, "/foo", "/foo/c", "/");
// in hadoop 2.0 Path only normalizes Windows paths properly when run on a Windows system
// this makes the following checks fail
- // typeCheckValidFormat(PropertyType.ABSOLUTEPATH, "d:\\foo12", "c:\\foo\\g", "c:\\foo\\c", "c:\\");
+ if (System.getProperty("os.name").toLowerCase().contains("windows"))
+ typeCheckValidFormat(PropertyType.ABSOLUTEPATH, "d:\\foo12", "c:\\foo\\g", "c:\\foo\\c", "c:\\");
typeCheckInvalidFormat(PropertyType.ABSOLUTEPATH, "foo12", "foo/g", "foo\\c");
}
@@ -109,4 +114,50 @@ public class PropertyTest {
assertEquals(new File(System.getProperty("java.io.tmpdir"), "accumulo-vfs-cache-" + System.getProperty("user.name")).getAbsolutePath(),
conf.get(Property.VFS_CLASSLOADER_CACHE_DIR));
}
+
+ @Test
+ public void testSensitiveKeys() {
+ final TreeMap<String,String> extras = new TreeMap<String,String>();
+ extras.put("trace.token.property.blah", "something");
+
+ AccumuloConfiguration conf = new DefaultConfiguration() {
+ @Override
+ public Iterator<Entry<String,String>> iterator() {
+ final Iterator<Entry<String,String>> parent = super.iterator();
+ final Iterator<Entry<String,String>> mine = extras.entrySet().iterator();
+
+ return new Iterator<Entry<String,String>>() {
+
+ @Override
+ public boolean hasNext() {
+ return parent.hasNext() || mine.hasNext();
+ }
+
+ @Override
+ public Entry<String,String> next() {
+ return parent.hasNext() ? parent.next() : mine.next();
+ }
+
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+ };
+ }
+ };
+ TreeSet<String> expected = new TreeSet<String>();
+ for (Entry<String,String> entry : conf) {
+ String key = entry.getKey();
+ if (key.equals(Property.INSTANCE_SECRET.getKey()) || key.toLowerCase().contains("password") || key.toLowerCase().contains("secret")
+ || key.startsWith(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey()))
+ expected.add(key);
+ }
+ TreeSet<String> actual = new TreeSet<String>();
+ for (Entry<String,String> entry : conf) {
+ String key = entry.getKey();
+ if (Property.isSensitive(key))
+ actual.add(key);
+ }
+ assertEquals(expected, actual);
+ }
}
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/IntersectingIteratorTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/IntersectingIteratorTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/IntersectingIteratorTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/IntersectingIteratorTest.java Mon Jun 24 21:34:20 2013
@@ -28,7 +28,6 @@ import java.util.TreeMap;
import junit.framework.TestCase;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.BatchScanner;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
@@ -46,6 +45,7 @@ import org.apache.accumulo.core.iterator
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
import org.apache.accumulo.core.iterators.SortedMapIterator;
import org.apache.accumulo.core.iterators.system.MultiIterator;
+import org.apache.accumulo.core.security.Authorizations;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
@@ -282,7 +282,7 @@ public class IntersectingIteratorTest ex
bw.addMutation(m);
bw.close();
- BatchScanner bs = connector.createBatchScanner("index", Constants.NO_AUTHS, 10);
+ BatchScanner bs = connector.createBatchScanner("index", Authorizations.EMPTY, 10);
IteratorSetting ii = new IteratorSetting(20, IntersectingIterator.class);
IntersectingIterator.setColumnFamilies(ii, new Text[] {new Text("rvy"), new Text("15qh")});
bs.addScanIterator(ii);
Modified: accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java?rev=1496226&r1=1496225&r2=1496226&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java (original)
+++ accumulo/branches/ACCUMULO-CURATOR/core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java Mon Jun 24 21:34:20 2013
@@ -23,7 +23,6 @@ import java.util.Map.Entry;
import junit.framework.TestCase;
-import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.BatchWriterConfig;
import org.apache.accumulo.core.client.Connector;
@@ -37,6 +36,7 @@ import org.apache.accumulo.core.data.Mut
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.security.Authorizations;
import org.apache.hadoop.io.Text;
/**
@@ -57,7 +57,7 @@ public class RowFilterTest extends TestC
if (rowIterator.hasTop()) {
firstKey = new Key(rowIterator.getTopKey());
}
-
+
while (rowIterator.hasTop()) {
sum += Integer.parseInt(rowIterator.getTopValue().toString());
rowIterator.next();
@@ -80,7 +80,7 @@ public class RowFilterTest extends TestC
}
}
-
+
public void test1() throws Exception {
MockInstance instance = new MockInstance("rft1");
Connector conn = instance.getConnector("", new PasswordToken(""));
@@ -130,11 +130,11 @@ public class RowFilterTest extends TestC
m.put("cf2", "cq1", "1");
m.put("cf2", "cq2", "1");
bw.addMutation(m);
-
+
IteratorSetting is = new IteratorSetting(40, SummingRowFilter.class);
conn.tableOperations().attachIterator("table1", is);
-
- Scanner scanner = conn.createScanner("table1", Constants.NO_AUTHS);
+
+ Scanner scanner = conn.createScanner("table1", Authorizations.EMPTY);
assertEquals(new HashSet<String>(Arrays.asList("2", "3")), getRows(scanner));
scanner.fetchColumn(new Text("cf1"), new Text("cq2"));
@@ -161,7 +161,7 @@ public class RowFilterTest extends TestC
scanner.fetchColumn(new Text("cf1"), new Text("cq2"));
scanner.fetchColumn(new Text("cf1"), new Text("cq4"));
assertEquals(new HashSet<String>(Arrays.asList("4")), getRows(scanner));
-
+
}
private HashSet<String> getRows(Scanner scanner) {