Giter Site home page Giter Site logo

Comments (14)

ahfeel avatar ahfeel commented on September 21, 2024

(I'm using curator 1.0.3)

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

Wow - that seems impossible. The only thing I can think of is that the internal event loop exited. Can you get a thread dump and/or build a test case?

from curator.

ahfeel avatar ahfeel commented on September 21, 2024

Here's a testcase that, from my understanding, should work but doesn't: https://gist.github.com/2157404

It's not exactly the same environment, but the idea is there: 2 servers, kill one to break the Quorum (and the Curator connection here as I only connect to the first server), and I don't get the connection state changes.

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

Dang - I can't reproduce the problem. The test runs fine for me.

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

Describe the environment your test is running in.

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

Hold on - I built a fresh project using the distributed 1.0.3 and I'm reproducing. Stay tuned...

from curator.

ahfeel avatar ahfeel commented on September 21, 2024

Seems strange, I just ran the test again and you're right, it seems to work. But I maintain the original bug, I'm trying to enhance the testcase to make it closer to the original problem, I'll keep you posted.

from curator.

ahfeel avatar ahfeel commented on September 21, 2024

Okay, I'm not 100% sure of the way I'm restarting the ZK server, but the goal is to shutdown a server, break the quorum, and restart it. The RECONNECTED event isn't fired to the listener, and the countdown (3 events) fails.
https://gist.github.com/2163701

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

I'm 90% sure there's a real problem here. But the timing is tricky. I'll keep on it and let you know in the next day or so.

from curator.

ahfeel avatar ahfeel commented on September 21, 2024

Okay great ! Thanks for looking :) Can you just confirm that this new testcase fails for you ?

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

It fails intermittently

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

OK - I've figured it out. The bug is in the test and not Curator. blockUntilConnectedOrTimedOut() returns true if the connection is successful, but false if the connection timeout elapses. I've found that using these in-memory testing clusters can take a long time to connect. The test needs to increase the connectionTimeoutMs and, possibly, just keep retrying until the connection succeeds.

from curator.

ahfeel avatar ahfeel commented on September 21, 2024

I'm pretty sure there's a bug around here. My real use case shows the issue very easily, but is hard to bundle into a single testcase. I'm on IRC (ahfeel) if you have a few minutes to have a look at it :)

from curator.

Randgalt avatar Randgalt commented on September 21, 2024

I'm not an IRC user. But, you can IM me:

Google: randgalt
Yahoo: jordanz

from curator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.