You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@zookeeper.apache.org by Dean Voets <de...@motum.be> on 2015/11/06 18:59:02 UTC

It appears the wrong File seperator is used when dynamicConfigFile in zoo.cfg changes. (in 3.5.1-alpha)

Hello,

This week I got to know ZooKeeper by working on the distributed planning system at work (in automation of fork lifts). I upgraded the zookeeper version we use to the new 3.5.1 version to support a changing fleet size using the dynamic reconfiguration in ZooKeeper.
During the initial tests on my development laptop (mac OS) everything worked nicely. Unfortunately this changed when trying it on the embedded windows systems used in our vehicles. Soon after starting the zookeeper servers, a version is added in the filename of the dynamic configuration file specified in zoo.cfg. The updated location of the file is saved using \ as file seperator instead of / causing FileNotFoundExceptions in QuorumPeerMain. 
I’ve been looking for the cause of this for a while now but I’m stuck so I hope someone can point me in the right direction to find the problem. At this point I have no clue if this is caused by a mistake in configuration from me (and what configuration that could cause this) or if I should be looking at the zooKeeper classes for some windows specific bug (or which class in zookeeper updates the zoo.cfg when the dynamic configuration changes).

Thanks in advance,
Dean Voets


Re: It appears the wrong File seperator is used when dynamicConfigFile in zoo.cfg changes. (in 3.5.1-alpha)

Posted by Dean Voets <de...@motum.be>.
Hello Chris,

Thanks for your reply. Yesterday I have build version 3.5.2 locally and tested it on our test setup (with the computers we use on the vehicles). I’m glad to report that everything works fine now.
The planning software that I mentioned is a distributed system with an instance on each vehicle deciding which order should be executed by which vehicle, what route to take etc. We use ZooKeeper mainly for keeping track of the state of the orders. ZooKeeper allows our system to continue working if not every vehicle is reachable. 
Our last client often has multiple vehicles turned off because their factory is not working at full capacity yet. Therefore, it was very important for us to be able to reconfigure ZooKeeper depending on if the vehicle is in service or not. Vehicles that are out of service are changed to observers and when they are restarted they change back to participant.

Thanks again for your help,
Dean Voets

> On 06 Nov 2015, at 19:05, Chris Nauroth <cn...@hortonworks.com> wrote:
> 
> Hello Dean,
> 
> Wow, forklift automation!  That's a use case I haven't seen before for
> ZooKeeper.  :-)
> 
> You are correct that this is a bug.  We have a fix already, and it will
> ship in ZooKeeper 3.5.2.  See issue ZOOKEEPER-2244 for more details.
> 
> https://issues.apache.org/jira/browse/ZOOKEEPER-2244
> 
> 
> If you don't want to wait for the 3.5.2 release, then you could consider
> applying that patch manually yourself and rebuilding.  Also, if you don't
> need the ZooKeeper 3.5 features immediately, then another option would be
> to go back to ZooKeeper 3.4.  Our current stable release line is the 3.4
> line.
> 
> I hope this helps.
> 
> --Chris Nauroth
> 
> 
> 
> 
> On 11/6/15, 9:59 AM, "Dean Voets" <de...@motum.be> wrote:
> 
>> Hello,
>> 
>> This week I got to know ZooKeeper by working on the distributed planning
>> system at work (in automation of fork lifts). I upgraded the zookeeper
>> version we use to the new 3.5.1 version to support a changing fleet size
>> using the dynamic reconfiguration in ZooKeeper.
>> During the initial tests on my development laptop (mac OS) everything
>> worked nicely. Unfortunately this changed when trying it on the embedded
>> windows systems used in our vehicles. Soon after starting the zookeeper
>> servers, a version is added in the filename of the dynamic configuration
>> file specified in zoo.cfg. The updated location of the file is saved
>> using \ as file seperator instead of / causing FileNotFoundExceptions in
>> QuorumPeerMain. 
>> I¹ve been looking for the cause of this for a while now but I¹m stuck so
>> I hope someone can point me in the right direction to find the problem.
>> At this point I have no clue if this is caused by a mistake in
>> configuration from me (and what configuration that could cause this) or
>> if I should be looking at the zooKeeper classes for some windows specific
>> bug (or which class in zookeeper updates the zoo.cfg when the dynamic
>> configuration changes).
>> 
>> Thanks in advance,
>> Dean Voets
>> 
>> 
> 


Re: It appears the wrong File seperator is used when dynamicConfigFile in zoo.cfg changes. (in 3.5.1-alpha)

Posted by Chris Nauroth <cn...@hortonworks.com>.
Hello Dean,

Wow, forklift automation!  That's a use case I haven't seen before for
ZooKeeper.  :-)

You are correct that this is a bug.  We have a fix already, and it will
ship in ZooKeeper 3.5.2.  See issue ZOOKEEPER-2244 for more details.

https://issues.apache.org/jira/browse/ZOOKEEPER-2244


If you don't want to wait for the 3.5.2 release, then you could consider
applying that patch manually yourself and rebuilding.  Also, if you don't
need the ZooKeeper 3.5 features immediately, then another option would be
to go back to ZooKeeper 3.4.  Our current stable release line is the 3.4
line.

I hope this helps.

--Chris Nauroth




On 11/6/15, 9:59 AM, "Dean Voets" <de...@motum.be> wrote:

>Hello,
>
>This week I got to know ZooKeeper by working on the distributed planning
>system at work (in automation of fork lifts). I upgraded the zookeeper
>version we use to the new 3.5.1 version to support a changing fleet size
>using the dynamic reconfiguration in ZooKeeper.
>During the initial tests on my development laptop (mac OS) everything
>worked nicely. Unfortunately this changed when trying it on the embedded
>windows systems used in our vehicles. Soon after starting the zookeeper
>servers, a version is added in the filename of the dynamic configuration
>file specified in zoo.cfg. The updated location of the file is saved
>using \ as file seperator instead of / causing FileNotFoundExceptions in
>QuorumPeerMain. 
>I¹ve been looking for the cause of this for a while now but I¹m stuck so
>I hope someone can point me in the right direction to find the problem.
>At this point I have no clue if this is caused by a mistake in
>configuration from me (and what configuration that could cause this) or
>if I should be looking at the zooKeeper classes for some windows specific
>bug (or which class in zookeeper updates the zoo.cfg when the dynamic
>configuration changes).
>
>Thanks in advance,
>Dean Voets
>
>