[
https://issues.apache.org/jira/browse/ZOOKEEPER-132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jakob Homan updated ZOOKEEPER-132:
----------------------------------
Attachment: ZOOKEEPER-132.patch
Patch:
* Creates an Enum value, CreateMode, which handles the four possible
combinations of ephemeral and sequential values.
* Provides JavaDoc for this new Enum
* Changes the ZooKeeper .create methods to use this type rather than the
previous integer value
* Converts all the unit tests to use the enum
* Changes the Jute encoding to use two booleans rather than the bit-packed
integer value to transmit the flag.
I think it will help quite a bit to have this create flag be type-safe and
spelled out via an enum. I found it confusing when I started, particularly
since 0 (or persistent), was not a named constant.
Jute doesn't support sending enums over the wire. I played with code to
convert the original int back into an enum at the server but decided against it
as (a) it was god-awful ugly as enums are poorly implemented and supported in
Java and, (b) it is more efficient to use two booleans (two bytes) rather than
a full 32-bit integer to essentially send two bits of information over the
wire. This is particularly true since those values are immediately used and
discarded at the server.
This is of course, non-b/w compatible and meant for the 3.0 release. If this
looks good, I'll start on similar code for enums/enumsets for file permissions
and watcher codes. I'd like to do them as separate patches, but if it's better
to role them all into one, I can do that too. Thanks.
> Create Enum to replace CreateFlag in ZooKepper.create method
> ------------------------------------------------------------
>
> Key: ZOOKEEPER-132
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-132
> Project: Zookeeper
> Issue Type: Sub-task
> Components: java client
> Affects Versions: 3.0.0
> Reporter: Jakob Homan
> Assignee: Jakob Homan
> Fix For: 3.0.0
>
> Attachments: ZOOKEEPER-132.patch
>
>
> Replace the current named constant integer in the craete method with a
> typesafe enum value.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.