accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-802) table namespaces
Date Fri, 05 Jul 2013 18:23:49 GMT


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:
>             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
>  # 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:

View raw message