> On Nov. 1, 2013, 6:19 p.m., John Vines wrote:
> > core/src/main/java/org/apache/accumulo/core/security/TableNamespacePermission.java,
> >  line 26
> > <https://reviews.apache.org/r/15166/diff/1/?file=376101#file376101line26>
> >
> >     I think we also need BULK_IMPORT for bulk importing to namespace 
> > tables, DROP for dropping the entire namespace, and possibly GRANT_TABLE 
> > (though I can see that being iffy)
> 
> Sean Hickey wrote:
>     I thought about adding BULK_IMPORT, but I didn't add it because I don't 
> think I added bulk importing for namespaces. I made DROP_NAMESPACE in 
> SystemPermission, but I agree that it should also be in 
> TableNamespacePermission (because TablePermission has DROP_TABLE). I was a 
> little confused how permissions were supposed to work in general, so I don't 
> know how well GRANT_TABLE would work as a namespace permission.

There's some confusion here, because it's not clear how these permissions are 
supposed to be used in the policy for performing operations (specifically, what 
they mean, and how they are inherited, and whether inheritance changes their 
meaning). I think we should keep them minimal for now, pending a comprehensive 
policy-based model in the next release that allow users to manage permissions 
in a more robust way. (ACCUMULO-1632).


> On Nov. 1, 2013, 6:19 p.m., John Vines wrote:
> > server/base/src/main/java/org/apache/accumulo/server/conf/TableNamespaceConfWatcher.java,
> >  line 29
> > <https://reviews.apache.org/r/15166/diff/1/?file=376133#file376133line29>
> >
> >     Why is this overriding the logging?
> 
> Christopher Tubbs wrote:
>     Because TableConfWatcher does. If we don't need to do that, we can create 
> a separate ticket.
> 
> John Vines wrote:
>     Ticket opened

Ticket number?


> On Nov. 1, 2013, 6:19 p.m., John Vines wrote:
> > server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java,
> >  line 431
> > <https://reviews.apache.org/r/15166/diff/1/?file=376130#file376130line431>
> >
> >     This error could cause confusion when you have a table in the default 
> > namespace with the same name as a namespace (if that's possible?)
> 
> Christopher Tubbs wrote:
>     I don't think so, not since the "why" string explicitly says "Could not 
> find table namespace while getting configuration."
> 
> John Vines wrote:
>     Resorting to parsing strings to determine errors programmatically is 
> pretty crummy for end users. Also, looking through this code path shows that 
> TableNamespaceOperationsImpl#getProperties doesn't work right since it looks 
> for the type NOTFOUND, which this error isn't setting. Perhaps we should make 
> TableOperation a combination of Table and TableNamespace options in order to 
> support backwards compatibility while maintaining a solid set of easily 
> decipherable errors.
> 
> Sean Hickey wrote:
>     Well, if you really want to be able to easily find it programmatically, 
> it might be best to just make a new type of exception (like 
> ThriftNamespaceOperationException or something) because all the namespace 
> stuff is new and won't break any backwards compatibility. I was just trying 
> to reuse some existing stuff, especially with the thrift calls because I was 
> brand new to thrift.

I don't think users should parse error messages. But, your initial comment 
wasn't about being able to programmatically determine the error... it was about 
potential for confusion. My comment was in that regard.

I don't want to create a bunch of new thrift exceptions at this point... but 
it's an option. For now, I can fix the NOTFOUND oversight, so a better 
exception is thrown in the client API.


- Christopher


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


On Oct. 31, 2013, 10:01 p.m., Christopher Tubbs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/15166/
> -----------------------------------------------------------
> 
> (Updated Oct. 31, 2013, 10:01 p.m.)
> 
> 
> Review request for accumulo.
> 
> 
> Bugs: ACCUMULO-802
>     https://issues.apache.org/jira/browse/ACCUMULO-802
> 
> 
> Repository: accumulo
> 
> 
> Description
> -------
> 
> ACCUMULO-802 Tablespaces (Table Namespaces), work done by Sean Hickey, 
> https://github.com/Wisellama/accumulo/tree/ACCUMULO-802, rebase'd onto latest 
> master (including 210 commits)
> 
> 
> Diffs
> -----
> 
>   core/src/main/java/org/apache/accumulo/core/Constants.java 
> 9db0c405c5b9fbac13fa735c3ffd6433e9831051 
>   core/src/main/java/org/apache/accumulo/core/client/Connector.java 
> bbfa55f4b9ad8fc0e5f0c0058e2e0564685d7c85 
>   
> core/src/main/java/org/apache/accumulo/core/client/TableNamespaceExistsException.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/TableNamespaceNotEmptyException.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/TableNamespaceNotFoundException.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java
>  86a3ff271fc2e085c426da3156cfab9cdbb5c36b 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java
>  0f0e998f334631cfb342f9a39fdd12e62aa98f13 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/TableNamespaceOperations.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/TableNamespaceOperationsHelper.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/TableNamespaceOperationsImpl.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
>  1b652f99e23e2dfa06c7373a6f4c3c044f5cd1a3 
>   core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java 
> bd1156912849b13ebad8f6b974fd35d8adf18f1d 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/TableNamespaces.java 
> PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/client/impl/Tables.java 
> 8bc725a3405a79c20c690bff3f6fdb6f713be523 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ClientService.java
>  488e0654720250542145e0d543ad16813f8d8b6d 
>   
> core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java
>  b706ce87bb1e8a525e585b14b7fb8563c3493c2c 
>   core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java 
> 5ee144d9eb67c8e79dad870abbd823cac64e111e 
>   core/src/main/java/org/apache/accumulo/core/client/mock/MockConnector.java 
> 80ec5133334f9ef466dd7e4077230acfd2c77fb5 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java
>  765cda9cac6fb3bc7df9eb8db1c83846960e85c3 
>   core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java 
> 3dcab11bd50bf189ccc4cbaf97d3d4ecb9133047 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/MockTableNamespace.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/MockTableNamespaceOperations.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
>  a3c2043b8120e13a190eb173d8342c205700382f 
>   
> core/src/main/java/org/apache/accumulo/core/client/security/SecurityErrorCode.java
>  fb51387fabea6d47854048daad4c8ec14047ab33 
>   
> core/src/main/java/org/apache/accumulo/core/master/thrift/MasterClientService.java
>  5b9949a1b6b7997d08de371c9a36c1e1a2b50b1f 
>   core/src/main/java/org/apache/accumulo/core/security/SystemPermission.java 
> 699396e7e47b858ea8273c969f79dc7b3ebdc577 
>   
> core/src/main/java/org/apache/accumulo/core/security/TableNamespacePermission.java
>  PRE-CREATION 
>   core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java 
> 52e1d04998060954b7f09a3b9a6d9fdd898208b0 
>   core/src/main/java/org/apache/accumulo/core/util/shell/ShellCompletor.java 
> 85f68ef2464cb784861a587badd4835d842d8b87 
>   core/src/main/java/org/apache/accumulo/core/util/shell/ShellOptions.java 
> 31529730935ff78de6c39fea531e20e2ade30a2d 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/CloneNamespaceCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
>  73d21ef6108282c9dd8dd8bc0f2ce77524acedcf 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConstraintCommand.java
>  4280555dfce0856e2e1329412b0051b15ce5a748 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateNamespaceCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateTableCommand.java
>  0ad787d67eaa5a90d26e113d7a79f0f3218ce0f4 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/DUCommand.java
>  189458a504dce012f3c579ff3b8425f030ad1b54 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteIterCommand.java
>  d0644828af83f5c2d2ecbc58bd7545d958be31a0 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteNamespaceCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteTableCommand.java
>  35c534d791648267539833b922643fc65dd600d4 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/GrantCommand.java
>  f3e720029714da63a7ec7e2bfb7587443ed7ed8b 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java
>  e2d4d915c3311205ca4731b449769c37cd92ac82 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/NamespacePermissionsCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/NamespacesCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/OptUtil.java 
> f0c14d4cfd9ebf5a480ac63bb9dcd41e085b22f7 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/RenameNamespaceCommand.java
>  PRE-CREATION 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/RenameTableCommand.java
>  057f2b4374b3cc137a20158e70c33dd97c019c87 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/RevokeCommand.java
>  676284aa9591d05a946d0bc4290ff88c3eb04eba 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java
>  3a7155687994049d2580f7b39e0df1a39d52c385 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/TableOperation.java
>  2bec526af38d328ea86cb21860471d8bed384eac 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/TablesCommand.java
>  19b49e9cb4ca8483de55e644700d2a68d14ab42f 
>   
> core/src/main/java/org/apache/accumulo/core/util/shell/commands/UserPermissionsCommand.java
>  79d78da3b0f6de47f57740ee13678792b61a87c7 
>   core/src/main/thrift/client.thrift 2f5e9d191a0d80d32e2a88a6e31845f3b93ae289 
>   core/src/main/thrift/master.thrift 19960c8857295d22ffba728c95501f069ba953c0 
>   
> core/src/test/java/org/apache/accumulo/core/client/mock/MockTableNamespacesTest.java
>  PRE-CREATION 
>   server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java 
> 9e0ac393deb962799e4e98753db1814dd630d14e 
>   
> server/base/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
>  3f1aaa29ef023d2f33fa5b35aad2e57df9b6aff4 
>   
> server/base/src/main/java/org/apache/accumulo/server/conf/ServerConfiguration.java
>  c9fd5a141a437aef6f1a9d8f8c80999f19af6ec8 
>   
> server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
>  4c581530b77a88e141837507a32cdc4f89982c56 
>   
> server/base/src/main/java/org/apache/accumulo/server/conf/TableNamespaceConfWatcher.java
>  PRE-CREATION 
>   
> server/base/src/main/java/org/apache/accumulo/server/conf/TableNamespaceConfiguration.java
>  PRE-CREATION 
>   
> server/base/src/main/java/org/apache/accumulo/server/conf/TableParentConfiguration.java
>  PRE-CREATION 
>   server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 
> 0477a443e307e174965140f0fd14c898a0d98727 
>   
> server/base/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
>  3e0a2bf0e06227780adb92967d439212c0316924 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/AuditedSecurityOperation.java
>  ee337a5d23f04b321a306a306c41ea59e2f731a0 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java
>  f00159cc21d8a7b8a47efbbc3d1f2bd96f479a03 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/handler/InsecurePermHandler.java
>  b57abfec483e3e07b85ed41148e11789fc45461c 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/handler/PermissionHandler.java
>  72c64b5897a4b0bf7de8081a76288fd8fb639021 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
>  f2196035d93ce5718b09e9754d130015515da91f 
>   
> server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKSecurityTool.java
>  3b9d8b24b85996dfbf734d4910aa6cd0d9247beb 
>   
> server/base/src/main/java/org/apache/accumulo/server/tables/TableManager.java 
> 8a74d0b936d8fad3b020a230b6b20536d740288f 
>   
> server/base/src/main/java/org/apache/accumulo/server/util/NamespacePropUtil.java
>  PRE-CREATION 
>   
> server/base/src/main/java/org/apache/accumulo/server/util/TablePropUtil.java 
> cdee8fbe448592120a5cc5b6682aedfafca7e7bf 
>   server/master/src/main/java/org/apache/accumulo/master/Master.java 
> 8a1a9b272bf332258febf46b7535d12f83a1dbd0 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CancelCompactions.java
>  dd4c2292996d758860191fc054631812adfa34b2 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/ChangeTableState.java
>  697c15e173b13bc5909862998b8742708bc933c1 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneTable.java
>  8d906d602ae1abdd2f4d774c64b3b4cd1174aa72 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CloneTableNamespace.java
>  PRE-CREATION 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CompactRange.java
>  160fc7e89320250d24e89526188528ff4786cd6d 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateTable.java
>  df2e0285b10fbdacb9fcacd007b48c1e2891d5d1 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/CreateTableNamespace.java
>  PRE-CREATION 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/DeleteTable.java
>  427125721cfaa122378bfe74b6c89b96b2f93137 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/DeleteTableNamespace.java
>  PRE-CREATION 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/ExportTable.java
>  22df3b340bbb9e76ef1fabe16b521654eb7a6bcb 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/ImportTable.java
>  b91da522ff13b2be4de3fe82c47875e74cc1e569 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTable.java
>  3069aaf9eea3044d14bf7bb7b81c0270a0997f08 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTableNamespace.java
>  PRE-CREATION 
>   
> server/master/src/main/java/org/apache/accumulo/master/tableOps/TableRangeOp.java
>  0ad2196a30a959f5ca5c7bdaf6d46a8628fd957a 
>   server/master/src/main/java/org/apache/accumulo/master/tableOps/Utils.java 
> fa14f43100f5a13b16d2d34b95a8466501b93299 
>   server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java 
> 0ef6c6b867b284e86f8252ebb19913b3c1831362 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/ChangePermissions.java
>  be2de2a547aecc72eca7e2c980964ef85551aae8 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CheckPermission.java
>  5fa9bc49439974071fe12d97b371eb4e6ac3db3f 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CloneTable.java
>  65d3aed4faf1f2a360aa0d4df123390206eae0f3 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CloneTableNamespace.java
>  PRE-CREATION 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Config.java 
> b47f1a946e904820a0cc83a4b3e078d40f11bb99 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CreateTable.java
>  0aa7f7ad0882a3d82bd6ca423a3a8a3dac706fba 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CreateTableNamespace.java
>  PRE-CREATION 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/DeleteTableNamespace.java
>  PRE-CREATION 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java 
> 8fcfab593071458954939970892a88b8793088b3 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/OfflineTableNamespace.java
>  PRE-CREATION 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/RenameTable.java
>  d4a4e956699c2b2a483d6360e201da3eccd29847 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/RenameTableNamespace.java
>  PRE-CREATION 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Setup.java 
> 2cf37cecb8223b31b58e1afa4fa08ebf9967a8e1 
>   
> test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java
>  0ddb75254da156d75bbb0ca1f0a6e63c2443ab1c 
>   test/src/test/java/org/apache/accumulo/test/ShellServerIT.java 
> 31867f39dd4d9661a00557c3291258b5e2507b30 
>   test/src/test/java/org/apache/accumulo/test/TableNamespacesIT.java 
> PRE-CREATION 
>   test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java 
> b8e1a4fcfcd1f02aa12926a44046493dbe74fe15 
>   test/system/randomwalk/conf/modules/Concurrent.xml 
> 03e5542d6b5b02f09e899301c68cf1d6746285f5 
> 
> Diff: https://reviews.apache.org/r/15166/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Christopher Tubbs
> 
>

Reply via email to