Using separate ZK paths for replicas assignment and configs seems better
since it allows each of them to be updated independently. Yes, we should
make a path of values stored in ZK for future extension. Could you file a
jira?

Thanks,

Jun

On Wed, Jan 16, 2013 at 7:47 PM, Jay Kreps <jay.kr...@gmail.com> wrote:

> Why is the node<=>partition mapping stored as strings?
>
> get /brokers/topics/my-topic
> { "0": ["0"] }
>
> This is a bug, right? Partitions and node ids are ints.
>
> Also, this structure is not very extensible. If you add anything to this
> map that is not a partition-node mapping it would break. I think the way
> this should have been done is
>
> {
>   "partitions:{0:[1,3,2], 1:[3,1,7], ...}
> }
>
> Then we could add more attributes to the map:
>
> {
>   "partitions:{0:[1,3,2], 1:[3,1,7], ...}
>   "settings":{
>      "log.segment.bytes":1234234,
>       ...
>    }
> }
>
> I think our zookeeper data structures are another "contract" it would be
> good to document and review these before the 0.8 release. If we want to
> change something now it is really easy but once it is out there all changes
> will need to be backwards compatible since they are persistent and can be
> shared by all brokers (so rolling upgrade will be difficult).
>
> -Jay
>

Reply via email to