> On Nov. 21, 2014, 3:19 a.m., kturner wrote:
> > test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java, line 
> > 98
> > <https://reviews.apache.org/r/28214/diff/5/?file=770707#file770707line98>
> >
> >     SimpleMacIT [starts one MAC][1] per class.  It seems like 
> > AccumuloClusterIT starts a MAC per method?   
> >     
> >     
> > [1]:https://github.com/apache/accumulo/blob/1.6.1/test/src/test/java/org/apache/accumulo/test/functional/SimpleMacIT.java#L60
> 
> Josh Elser wrote:
>     Yes, this is a change. I made SharedMiniClusterIT to make ShellServerIT 
> run a *lot* faster, I didn't see any other ITs that were affected to the same 
> extent. I couldn't come up with a good way to implement this inside of 
> AccumuloClusterIT so I punted on it for now. Suggestions welcome.
> 
> kturner wrote:
>     Ok.  I saw SharedMiniClusterIT and was wondering why only ShellServerIT 
> used it.  Do you know what the difference in build times is w/ this change?
> 
> Josh Elser wrote:
>     Ha, significant. Up to 230s instead of 30 when running with MAC :). Will 
> see if I can come up with anything to address it.
> 
> kturner wrote:
>     > Ha, significant. Up to 230s instead of 30 when running with MAC :).
>     
>     Thats for an individual test.  Do you know what the total diff for `time 
> mvn verify` is w/ and w/o your changes?
> 
> Josh Elser wrote:
>     Oh, sorry, I thought you were only asking specifically about 
> ConditionalWriterIT :) (with a standalone instance, it's 25s if you were 
> curious :P). I'll run some comparisions against 1.6 presently, 1.6 with these 
> changes out of the box (still using MAC) and then 1.6 with a standalone 
> instance available tonight.
> 
> Josh Elser wrote:
>     Oddly, NamespacesIT has also been really problematic with ZK starting. My 
> guess is that it this change is also affecting things for that test. 
> Definitely something I need to look into until we resolve the ZK issue.
> 
> kturner wrote:
>     > with a standalone instance, it's 25s if you were curious
>     
>     Do you think we could start a Mini instance preintegration test and use 
> that as a "standalone instance", if no standalone instance is configured?
> 
> Josh Elser wrote:
>     > Do you think we could start a Mini instance preintegration test and use 
> that as a "standalone instance", if no standalone instance is configured?
>     
>     We would have to make some sort of new cluster to support this. The 
> start/stop semantics (using start-server.sh) would not work to use a normal 
> StandaloneCluster with MAC. This wouldn't be very difficult though.
>     
>     > Do you know what the total diff for time mvn verify is w/ and w/o your 
> changes?
>     
>     Summary of baseline (before these changes), running against MAC with 
> changes, and then using a Standalone single-node cluster (falling back to MAC 
> when the test doesn't support the standalone test): 
> http://people.apache.org/~elserj/accumulo/ACCUMULO-3167-comparison.html. The 
> only thing I did special to the configuration of the StandaloneCluster was 
> setting instance.zookeeper.timeout=15s instead of the default 30s.
> 
> kturner wrote:
>     Nice report.   So w/ these changes `mvn verify` took ~11 more mins, and 
> increase of ~11%.  These are a nice set of changes, IMO nothing needs to be 
> done about the 11% increase.

Thanks, Keith. I think I might be able to do something which makes those 
faster, but my plan is to try that after this behemoth gets committed :)


- Josh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28214/#review62514
-----------------------------------------------------------


On Nov. 21, 2014, 8:40 p.m., Josh Elser wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28214/
> -----------------------------------------------------------
> 
> (Updated Nov. 21, 2014, 8:40 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-3167
>     https://issues.apache.org/jira/browse/ACCUMULO-3167
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
> We have a large number of good tests which are only capable of being run 
> against a MiniAccumuloCluster. This is undesirable because it limits our 
> tests to the scope of what MiniAccumuloCluster provides, or implements as a 
> standalone cluster does. An accurate test environment would be a true 
> deployment with distributed HDFS and ZooKeper instances that back a 
> distributed Accumulo instance. This patch introduces a 
> StandaloneAccumuloCluster, in addition to a few other new interfaces 
> (ClusterControl) which help support the necessary functionality. The 
> StandaloneAccumuloCluster is the "MiniAccumuloCluster" counterpart to a 
> distributed cluster.
> 
> Given the StandaloneAccumuloCluster, many of the integration tests need to be 
> rewritten in such a way that support both a MiniAccumuloCluster and the 
> Standalone cluster. While being a painful set of changes, this does help 
> generalize some of the tests and conform them to some best practices to 
> simplify things.
> 
> I also nuked some initial interfaces which I initially stubbed out because 
> they turned out not being useful.
> 
> 
> Diffs
> -----
> 
>   minicluster/src/main/java/org/apache/accumulo/cluster/AccumuloCluster.java 
> c982de0 
>   minicluster/src/main/java/org/apache/accumulo/cluster/AccumuloClusters.java 
> 50cb9db 
>   minicluster/src/main/java/org/apache/accumulo/cluster/AccumuloConfig.java 
> 0df2348 
>   minicluster/src/main/java/org/apache/accumulo/cluster/ClusterControl.java 
> PRE-CREATION 
>   minicluster/src/main/java/org/apache/accumulo/cluster/RemoteShell.java 
> PRE-CREATION 
>   
> minicluster/src/main/java/org/apache/accumulo/cluster/RemoteShellOptions.java 
> PRE-CREATION 
>   minicluster/src/main/java/org/apache/accumulo/cluster/package-info.java 
> f1b649d 
>   
> minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneAccumuloCluster.java
>  PRE-CREATION 
>   
> minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
>  PRE-CREATION 
>   
> minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
>  3e8c5a0 
>   minicluster/src/main/java/org/apache/accumulo/minicluster/ServerType.java 
> 3590a20 
>   
> minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterControl.java
>  PRE-CREATION 
>   
> minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java
>  7283c19 
>   
> minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
>  2d7103e 
>   
> minicluster/src/test/java/org/apache/accumulo/cluster/AccumuloClustersTest.java
>  e368240 
>   
> minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterStartStopTest.java
>  2031b11 
>   
> minicluster/src/test/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImplTest.java
>  b19d289 
>   server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java 
> 55548e3 
>   test/src/main/java/org/apache/accumulo/test/TestMultiTableIngest.java 
> 16f0b3f 
>   test/src/test/java/org/apache/accumulo/harness/AccumuloClusterIT.java 
> PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/harness/AccumuloIT.java PRE-CREATION 
>   
> test/src/test/java/org/apache/accumulo/harness/MiniClusterConfigurationCallback.java
>  PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/harness/MiniClusterHarness.java 
> PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/harness/SharedMiniClusterIT.java 
> PRE-CREATION 
>   
> test/src/test/java/org/apache/accumulo/harness/conf/AccumuloClusterConfiguration.java
>  PRE-CREATION 
>   
> test/src/test/java/org/apache/accumulo/harness/conf/AccumuloClusterPropertyConfiguration.java
>  PRE-CREATION 
>   
> test/src/test/java/org/apache/accumulo/harness/conf/AccumuloMiniClusterConfiguration.java
>  PRE-CREATION 
>   
> test/src/test/java/org/apache/accumulo/harness/conf/AccumuloStandaloneClusterConfiguration.java
>  PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/test/Accumulo3010IT.java 791b1d5 
>   test/src/test/java/org/apache/accumulo/test/Accumulo3030IT.java 3512e4a 
>   test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java 70e1c30 
>   test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java 49b5d70 
>   test/src/test/java/org/apache/accumulo/test/BatchWriterIT.java ca72e7a 
>   test/src/test/java/org/apache/accumulo/test/CleanWalIT.java d0bfe3f 
>   test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java 
> 8406570 
>   
> test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
>  899b41b 
>   test/src/test/java/org/apache/accumulo/test/DeleteRowsIT.java ff67e89 
>   test/src/test/java/org/apache/accumulo/test/ExistingMacIT.java ec72281 
>   test/src/test/java/org/apache/accumulo/test/ImportExportIT.java a48ed9d 
>   test/src/test/java/org/apache/accumulo/test/InterruptibleScannersIT.java 
> PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/test/KeyValueEqualityTest.java 
> 1302b23 
>   test/src/test/java/org/apache/accumulo/test/MetaConstraintRetryIT.java 
> b3c3640 
>   test/src/test/java/org/apache/accumulo/test/MetaSplitIT.java 50a1446 
>   test/src/test/java/org/apache/accumulo/test/MultiTableBatchWriterIT.java 
> 484c048 
>   test/src/test/java/org/apache/accumulo/test/NamespacesIT.java 8188deb 
>   test/src/test/java/org/apache/accumulo/test/NoMutationRecoveryIT.java 
> 87ad1a3 
>   test/src/test/java/org/apache/accumulo/test/ShellServerIT.java 4457e70 
>   test/src/test/java/org/apache/accumulo/test/SplitRecoveryIT.java 96d3a1a 
>   test/src/test/java/org/apache/accumulo/test/TableConfigurationUpdateIT.java 
> 0d9a211 
>   test/src/test/java/org/apache/accumulo/test/TableOperationsIT.java bb12279 
>   test/src/test/java/org/apache/accumulo/test/VolumeIT.java d5c940d 
>   test/src/test/java/org/apache/accumulo/test/functional/AbstractMacIT.java 
> 22e46ff 
>   
> test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java
>  ad84960 
>   test/src/test/java/org/apache/accumulo/test/functional/AddSplitIT.java 
> 05de342 
>   
> test/src/test/java/org/apache/accumulo/test/functional/BadIteratorMincIT.java 
> 9c4492e 
>   
> test/src/test/java/org/apache/accumulo/test/functional/BalanceInPresenceOfOfflineTableIT.java
>  887aee4 
>   
> test/src/test/java/org/apache/accumulo/test/functional/BatchScanSplitIT.java 
> 688a326 
>   
> test/src/test/java/org/apache/accumulo/test/functional/BatchWriterFlushIT.java
>  465936e 
>   test/src/test/java/org/apache/accumulo/test/functional/BigRootTabletIT.java 
> b021c3a 
>   test/src/test/java/org/apache/accumulo/test/functional/BinaryIT.java 
> 9c0edaa 
>   test/src/test/java/org/apache/accumulo/test/functional/BinaryStressIT.java 
> a60c2d5 
>   test/src/test/java/org/apache/accumulo/test/functional/BloomFilterIT.java 
> 8f6b830 
>   test/src/test/java/org/apache/accumulo/test/functional/BulkIT.java 831dcd4 
>   
> test/src/test/java/org/apache/accumulo/test/functional/ChaoticBalancerIT.java 
> 8afb3d2 
>   test/src/test/java/org/apache/accumulo/test/functional/ClassLoaderIT.java 
> d71819e 
>   test/src/test/java/org/apache/accumulo/test/functional/CleanUpIT.java 
> 79bbb90 
>   test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java 
> 505dd5a 
>   test/src/test/java/org/apache/accumulo/test/functional/CombinerIT.java 
> 69f9134 
>   test/src/test/java/org/apache/accumulo/test/functional/ConcurrencyIT.java 
> 92bd714 
>   
> test/src/test/java/org/apache/accumulo/test/functional/ConfigurableMacIT.java 
> 9185e1b 
>   test/src/test/java/org/apache/accumulo/test/functional/ConstraintIT.java 
> 7e5944e 
>   test/src/test/java/org/apache/accumulo/test/functional/CreateAndUseIT.java 
> 5b5249b 
>   
> test/src/test/java/org/apache/accumulo/test/functional/CreateManyScannersIT.java
>  aed38e8 
>   test/src/test/java/org/apache/accumulo/test/functional/CredentialsIT.java 
> 8e2e1e0 
>   
> test/src/test/java/org/apache/accumulo/test/functional/DeleteEverythingIT.java
>  0578ef4 
>   test/src/test/java/org/apache/accumulo/test/functional/DeleteIT.java 
> 3510fbd 
>   test/src/test/java/org/apache/accumulo/test/functional/DeleteRowsIT.java 
> 4b7d664 
>   
> test/src/test/java/org/apache/accumulo/test/functional/DeleteRowsSplitIT.java 
> d35ba9f 
>   
> test/src/test/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
>  a0bff64 
>   
> test/src/test/java/org/apache/accumulo/test/functional/DynamicThreadPoolsIT.java
>  87497b9 
>   
> test/src/test/java/org/apache/accumulo/test/functional/FateStarvationIT.java 
> 4d75a16 
>   test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java 
> d77d060 
>   test/src/test/java/org/apache/accumulo/test/functional/LogicalTimeIT.java 
> 6aec7cd 
>   
> test/src/test/java/org/apache/accumulo/test/functional/MasterAssignmentIT.java
>  46f6b23 
>   
> test/src/test/java/org/apache/accumulo/test/functional/MasterFailoverIT.java 
> 218d65e 
>   test/src/test/java/org/apache/accumulo/test/functional/MaxOpenIT.java 
> 2649890 
>   test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java c264dfe 
>   test/src/test/java/org/apache/accumulo/test/functional/MetadataIT.java 
> bd0282d 
>   
> test/src/test/java/org/apache/accumulo/test/functional/MetadataMaxFiles.java 
> 6b8d9b3 
>   
> test/src/test/java/org/apache/accumulo/test/functional/MetadataMaxFilesIT.java
>  PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java 
> d51dcbb 
>   test/src/test/java/org/apache/accumulo/test/functional/ReadWriteIT.java 
> bc9ab4a 
>   
> test/src/test/java/org/apache/accumulo/test/functional/RecoveryWithEmptyRFileIT.java
>  814dd85 
>   test/src/test/java/org/apache/accumulo/test/functional/RenameIT.java 
> 8cbe84f 
>   test/src/test/java/org/apache/accumulo/test/functional/RestartIT.java 
> e4b9c5a 
>   test/src/test/java/org/apache/accumulo/test/functional/RestartStressIT.java 
> d8c2804 
>   test/src/test/java/org/apache/accumulo/test/functional/RowDeleteIT.java 
> 4dbd912 
>   test/src/test/java/org/apache/accumulo/test/functional/ScanIteratorIT.java 
> 189a55c 
>   test/src/test/java/org/apache/accumulo/test/functional/ScanRangeIT.java 
> 90b881c 
>   
> test/src/test/java/org/apache/accumulo/test/functional/ScanSessionTimeOutIT.java
>  3547b68 
>   test/src/test/java/org/apache/accumulo/test/functional/ScannerIT.java 
> cbd1290 
>   
> test/src/test/java/org/apache/accumulo/test/functional/ServerSideErrorIT.java 
> d765b16 
>   test/src/test/java/org/apache/accumulo/test/functional/SimpleMacIT.java 
> a4e6647 
>   
> test/src/test/java/org/apache/accumulo/test/functional/SparseColumnFamilyIT.java
>  0b63d01 
>   test/src/test/java/org/apache/accumulo/test/functional/SplitIT.java 6203523 
>   test/src/test/java/org/apache/accumulo/test/functional/SslIT.java a14795c 
>   test/src/test/java/org/apache/accumulo/test/functional/StartIT.java 82278af 
>   test/src/test/java/org/apache/accumulo/test/functional/TableIT.java 832ec60 
>   test/src/test/java/org/apache/accumulo/test/functional/TabletIT.java 
> fccc79f 
>   test/src/test/java/org/apache/accumulo/test/functional/TimeoutIT.java 
> 4dc72e0 
>   test/src/test/java/org/apache/accumulo/test/functional/VisibilityIT.java 
> f2460cf 
>   test/src/test/java/org/apache/accumulo/test/functional/WriteAheadLogIT.java 
> af6eca5 
>   test/src/test/java/org/apache/accumulo/test/functional/WriteLotsIT.java 
> 214fc2f 
> 
> Diff: https://reviews.apache.org/r/28214/diff/
> 
> 
> Testing
> -------
> 
> Haven't had a 100% IT pass rate yet (last run was about 95% pass rate), but I 
> wanted to get the code up and have some eyes on it sooner than later.
> 
> If you want to try it out, you configure it using properties on the maven 
> command line. For example,  -Daccumulo.it.cluster.type=STANDALONE 
> -Daccumulo.it.cluster.standalone.principal=root 
> -Daccumulo.it.cluster.standalone.password=password 
> -Daccumulo.it.cluster.standalone.instance.name=accumulo 
> -Daccumulo.it.cluster.standalone.zookeepers=localhost. This would use a 
> "real" instance with the expected connection information. Alternatively, you 
> can make a properties file on the local filesystem and specify that file 
> directly using -Daccumulo.it.properties=/path/to/file.properties. Properties 
> on the command line will override those specified in the property if you 
> provide the same in more than one place.
> 
> 
> Thanks,
> 
> Josh Elser
> 
>

Reply via email to