[
https://issues.apache.org/jira/browse/ACCUMULO-802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13741355#comment-13741355
]
Sean Hickey commented on ACCUMULO-802:
--------------------------------------
Since today is my last day to work on Accumulo full time (I'm going back to
school for the fall semester), I figured I should post what I think is left to
be done (or at least needs looked at to make sure it works correctly).
* I wasn't sure whether I should change the TableOperations functions to throw
TableNamespaceNotFoundExceptions (and possibly break backwards compatibility),
so right now they throw IllegalArgumentExceptions constructed from
TableNamespaceNotFoundExceptions.
* In copying the format of TableOperations' create() function, I made the
TableNamespaceOperations() create function take a TimeType for input, but I
don't use it. I wasn't sure if we should apply that TimeType to all tables in
the namespace or scrap that functionality for namespaces in general.
* I never looked into putting qoutas/priorities on namespaces, although that
was one of the original use cases.
* I never implemented "aliasing" or having one table show in multiple
namespaces.
* I never messed with the Monitor code to organize the tables by namespace
(ACCUMULO-1480).
* I changed the default initial table properties (that are applied when a table
is created) to instead be applied to new namespaces (and the default namespace)
rather than each table.
* I wasn't sure if there should be any initial properties on the system
namespace, so I left it empty (no default properties).
* I didn't add default user permissions for a namespaces (ACCUMULO-617 and
ACCUMULO-1479).
* While running RandomWalk, one related error that I see every once in a while
is that a table will have a reference to a namespace that no longer exists.
(There are a few other errors that seem unrelated to table namespaces).
I might be able to work on Accumulo some more if I find time during school. I
rebased my git repo to make it easier to apply my changed (I linked to it in my
previous comment). I think [~ctubbsii] is planning on finishing up the last
little bit of this feature.
> 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, ACCUMULO-802.v3.patch, ACCUMULO-802.v4.patch,
> ACCUMULO-802.v5.patch, table-namespaces-README.txt,
> table-namespaces-README.v1.txt, table-namespaces-README.v2.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