[ 
https://issues.apache.org/jira/browse/ACCUMULO-3147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14192410#comment-14192410
 ] 

Christopher Tubbs commented on ACCUMULO-3147:
---------------------------------------------

Oh, I see, this isn't like #3, then, if I understand you correctly.

You just want to be able to specify to use a different (user-created) table, by 
referencing it in ZK (or some other config, but ZK makes sense), than the 
built-in table, after implementing #1. That seems reasonable, but to be clear, 
the only context in which that is useful is if somebody is using a pre-released 
verison of 1.7.0-SNAPSHOT (or a fork) before this change and wants to continue 
using that table. That's fine with me, but it's not needed in Accumulo 
upstream, and might be prone to removal in the future, since just looking at 
Accumulo internals, it'd look just like an unnecessarily complex code path and 
ZK read. If that was the direction this was going to go, I'd have preferred all 
the replication stuff sit outside Accumulo, as an add-on, and just provide the 
internal hooks necessary for that external system to operate. As is, it was 
designed baked-in, so such internals are likely going to be subject to change 
in the future if you rely on them to support your use case (though, I assume 
you'd be on top of watching for those changes that impact you if somebody 
proposes them).

So, yes, we can do the ZK solution as a workaround, but the other side of the 
issue is that finding the table isn't the problematic part... all the 
problematic logic in the master and in the tests that arbitrarily 
create/delete/scan/alter permissions on the replication table, as if it was a 
user-managed table. That has to be cleaned up regardless of how the table is 
found, which means that the ZK solution you propose really is only going to be 
useful for you upgrading your existing instances, and not for anybody else to 
specify a different table to manage replication.

> Replication table should be user-controlled or live in accumulo namespace
> -------------------------------------------------------------------------
>
>                 Key: ACCUMULO-3147
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3147
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: replication
>            Reporter: Christopher Tubbs
>            Assignee: Christopher Tubbs
>            Priority: Blocker
>             Fix For: 1.7.0
>
>
> At present, it looks like the replication table is managed by/written to by 
> the system user, yet the table lives in the default namespace, which is where 
> user tables live.
> This appears to violate the namespace model of segregating system tables from 
> user tables.
> There's a few options for resolution:
> # Move the replication table into the reserved accumulo system namespace 
> (there's some complication with this, because the system namespace is 
> currently static, and the replication table may be created at any time; 
> additionally, if users are expected to interact with this table... and I'm 
> not sure if they are at all, the system namespace is probably not 
> appropriate).
> # Create an additional reserved system namespace for replication (my least 
> preferred option).
> # Use user credentials to manage/write to this table, rather than the system 
> user (this is what the tracer/trace table does, and this is my preferred 
> solution.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to