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

Josh Elser commented on ACCUMULO-4050:
--------------------------------------

bq. I mean an object that is composed of the configuration (set of key value 
pairs) deserialized from ZK, as well as functions to perform the 
serialization/deserialization, and which can atomically swap out the reference 
to the complete configuration.

This doesn't really help clarify the things that are vague to me :). Let me try 
to guess instead; maybe that will help describe what is not clear to me. A 
table would have multiple containers: one for the dynamic system-wide 
properties, one for the dynamic namespace-wide properties, and one for the 
dynamic table-specific properties? And these containers could be merged 
together (as per the currrent precedence of table > namespace > system)? Or, 
would the container be abstracting this hierarchy away?

bq. By "snapshot", I mean an isolated immutable view of the entire set of 
configuration (k-v pairs) at a single point in time

bq. I suppose we could incorporate the ZNode Version into the snapshot object 
or its containers somehow

I think allowing a snapshot to have know what "time" it was created at would be 
all that we'd really need. Even if it's just a no-op now (always 0) or just 
{{System.currentTimeMillis()}}, we could easily swap in the necessary info from 
ZK down the road to piece together the logic to determine when every server has 
seen (at least) some update.

bq. Any of that would definitely be follow-on work.

Yes, completely. My only concern is that if you/Michael step up to do this 
work, let's look a few feet in front of us to make sure we at least don't make 
solving the client/server config disconnect harder :) What you have outlined so 
far sounds like a nice building block to fixing this stupid problem once and 
for all.

> Serialize table configs into a single ZK node
> ---------------------------------------------
>
>                 Key: ACCUMULO-4050
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4050
>             Project: Accumulo
>          Issue Type: Sub-task
>            Reporter: Christopher Tubbs
>             Fix For: 2.0.0
>
>
> Use a single ZK node to store table configs, rather than split across 
> multiple configs. This should make it easier to implement atomic changes to 
> the configuration, and should simplify reading loading/saving configuration 
> from/to ZooKeeper.



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

Reply via email to