You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Keith Turner (JIRA)" <ji...@apache.org> on 2013/07/05 20:23:49 UTC
[jira] [Commented] (ACCUMULO-802) table namespaces
[ https://issues.apache.org/jira/browse/ACCUMULO-802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701054#comment-13701054 ]
Keith Turner commented on ACCUMULO-802:
---------------------------------------
Took a quick look at v2 patch. Had the following comments.
* maybe only delete namespaces if empty... could make attempt to delete non-empty namespace throw an error (could have a force option)
* verify namespace props on server side.. for example configure iterator on namespace then try scanning/compacting... test this w/ and w/o table overriding prop...
* test that namespace props survive across namespace rename (a good random walk test would do this)
* need to test import and export table w/ namespaces
* uncertain about automatic creation of namespaces at table creation time... this may hide errors in user code
* maybe support cloning namespaces, a shortcut to clone all tables in a namespace + copy namespace props
* it would be nice if the unit test covered all operations that can now take a namespace, for example get scanner, batchscanner, etc using namepsace+table
> table namespaces
> ----------------
>
> Key: ACCUMULO-802
> URL: https://issues.apache.org/jira/browse/ACCUMULO-802
> Project: Accumulo
> Issue Type: New Feature
> Reporter: Eric Newton
> Assignee: Sean Hickey
> Fix For: 1.6.0
>
> Attachments: ACCUMULO-802.v0.patch, ACCUMULO-802.v1.patch, ACCUMULO-802.v2.patch, table-namespaces-README.txt, table-namespaces-README.v1.txt
>
>
> A large cluster is a valuable shared resource. The current permission system and simple table naming structure does not allow for delegation of authority and safe partitioning within this shared resource.
> Use cases:
> # create a namespace (like "test") and delegate the {{grant}} permission to tables created in that namespace to a user that would manage those tables. Presently, {{grant}} is never delegated.
> # create simple "test" and "production" namespaces that are trivial for users to switch between. For example, instead of having tables "test_index" and "test_documents" the client would support "index" and "documents" with an API to support switching trivially between the the different environments.
> # create a set of tables in a namespace called "latest" This namespace is re-created periodically with a map-reduce job. If code changes inadvertently create a corrupt "latest," users can switch to the set of tables known as "safest" In this way, users can experiment, and provide feedback on incremental improvements, while have a safe fallback.
> # two applications hosted on the same cluster that can share a table, which has been "aliased" into their namespace. Namespace-local permissions are ignored, but a (most likely read-only) view of the table is available. This would be helpful for reference tables.
> # quotas/priorities. Implement namespace-specific priorities and resource allocations. It is reasonable to run namespace-specific queries and ingest on production equipment. Large cluster resources are always limited, and often the *only* place where near-production quality software can be run at full scale.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira