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


Reviewed what I can; reviewboard seems to have eaten some of the diffs (notably 
Tablet.java).


core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
<https://reviews.apache.org/r/27198/#comment99744>

    Maybe it would be clearer to actually say that no data is actually copied 
but the existing files will be referenced by the target table. It means the 
same thing that you said, but is a bit more straightforward IMO.



core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
<https://reviews.apache.org/r/27198/#comment99745>

    Boolean.toString(boolean) instead of creating a new String for the cast, 
please.



core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperationsImpl.java
<https://reviews.apache.org/r/27198/#comment99747>

    nit: whitespace



core/src/main/thrift/tabletserver.thrift
<https://reviews.apache.org/r/27198/#comment99748>

    I don't like removing the old bulkImport method. We should try to keep the 
server APIs as stable as we can. You can keep the old bulkImport method around 
and just call the new addFiles method in the implementation. This will help us 
stay closer to compatibility across versions.



server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java
<https://reviews.apache.org/r/27198/#comment99749>

    We check that the source isn't the root table, but that the dest isn't in 
the system namespace. Don't we want both tables to just not be in the system 
namespace?



server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java
<https://reviews.apache.org/r/27198/#comment99750>

    This could be incorrect. The underlying exception might be for srcTableId 
or destTableId. I think you'd need to split up the security checks by hand or 
make sure that canCloneIntoTable method is throwing you an exception that you 
know how to unwrap and give back to the client.



server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneIntoTable.java
<https://reviews.apache.org/r/27198/#comment99751>

    Would be nice to lift the inner classes out of CloneIntoTable into their 
own classes inside of the this file. That way we could test the individual 
steps without having to have an instance of CloneIntoTable when we don't want 
it. Makes it a bit more consistent with the other fate ops too (e.g. 
CreateTable)



server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneIntoTable.java
<https://reviews.apache.org/r/27198/#comment99752>

    Use MetadataSchema.TabletsSection.getRange(String) instead.



server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneIntoTable.java
<https://reviews.apache.org/r/27198/#comment99753>

    Won't this fail if you try cloneInto with an empty table as the source?



test/src/test/java/org/apache/accumulo/test/functional/CloneIntoIT.java
<https://reviews.apache.org/r/27198/#comment99759>

    Some more tests here that enumerate the basic edge cases would be good: 
srcTable missing, destTable missing, read perms denied on source, write perms 
denied on dest.
    
    Breaking up testCloneInto into a few test cases instead of one big one 
would be much easier when trying to debug things later.



test/src/test/java/org/apache/accumulo/test/functional/CloneIntoIT.java
<https://reviews.apache.org/r/27198/#comment99760>

    Thank you for adding this :)


- Josh Elser


On Oct. 25, 2014, 7:31 p.m., John Vines wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/27198/
> -----------------------------------------------------------
> 
> (Updated Oct. 25, 2014, 7:31 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-3236
>     https://issues.apache.org/jira/browse/ACCUMULO-3236
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
> Includes all code to support feature, including thrift changes
> Includes minor code cleanup to TableLocator and items in the Bulk path to 
> remove signature items that are unused (arguments & exceptions)
> Includes renaming of some bulk import functions to clarify their purpose 
> (because they're now multi-purpose)
> 
> Patch is based on 1.6, but we can choose to make it target only 1.7 if we 
> choose (this conversation should be taken up on jira, not in RB)
> 
> 
> Diffs
> -----
> 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java 
> 97f538d 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/RootTabletLocator.java
>  97d476b 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
>  2792bcc 
>   core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java 
> e396d82 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocatorImpl.java
>  c550f15 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/TimeoutTabletLocator.java
>  bcbe561 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/thrift/TableOperation.java
>  7716823 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperationsImpl.java
>  de19137 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/impl/MockTabletLocator.java
>  35f160f 
>   
> core/src/main/java/org/apache/accumulo/core/master/thrift/FateOperation.java 
> f65f552 
>   
> core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
>  2ba7674 
>   core/src/main/thrift/client.thrift 38a8076 
>   core/src/main/thrift/master.thrift 38e9227 
>   core/src/main/thrift/tabletserver.thrift 25e0b10 
>   
> core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java
>  1d91574 
>   
> core/src/test/java/org/apache/accumulo/core/client/impl/TableOperationsHelperTest.java
>  02838ed 
>   
> server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java 
> 27ab078 
>   
> server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
>  ebea064 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java
>  d0e6aea 
>   
> server/base/src/test/java/org/apache/accumulo/server/client/BulkImporterTest.java
>  3680341 
>   
> server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java
>  5818da3 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneIntoTable.java
>  PRE-CREATION 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java 
> 0778f5b 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java 
> 03fe069 
>   
> test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
>  0591b19 
>   test/src/test/java/org/apache/accumulo/test/functional/CloneIntoIT.java 
> PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/27198/diff/
> 
> 
> Testing
> -------
> 
> Includes CloneIntoIT, which exercises all permutations of the flags. Existing 
> BulkIT still functions as intended for validation of no feature loss in 
> refactoring exiting code for multi-purposing.
> 
> 
> Thanks,
> 
> John Vines
> 
>

Reply via email to