accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Hickey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-802) table namespaces
Date Thu, 15 Aug 2013 19:02:47 GMT

    [ 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

Mime
View raw message