Code Monkey home page Code Monkey logo

Comments (5)

jurmous avatar jurmous commented on August 15, 2024

I do not understand your issue. -1 will retry indefinitely until etcd returns a valid response. Or is this issue an effect of issue #32 in which some valid responses are treated as errors?

from etcd4j.

MartinPodval avatar MartinPodval commented on August 15, 2024

Ok, I understand. The problem here is that if ETCD does not working, e.g. you use wrong url, this causes infinite loop.

I mean I tried to verify behavior how my component works when it's not possible to connect to etcd, e.g. because of network partition. My test terminated in infinite loop because of described problem.

Lets say you starting your server which needs to connect to remote etcd instance during init operation. The server will not work and you are not able to find out what happen as it just loops in infinite loop.

from etcd4j.

jurmous avatar jurmous commented on August 15, 2024

It indeed causes an infinite retry loop with the default retry handler. You can change to other retry behaviors. The log will tell what is going on while retrying:

[nioEventLoopGroup-2-11] DEBUG mousio.client.retry.RetryPolicy - Retry 10 to send command
[nioEventLoopGroup-2-12] DEBUG mousio.etcd4j.transport.EtcdNettyClient - Connection failed to https://127.0.0.1:4001

What do you propose? Use a different default RetryHandler which quits after some time?

from etcd4j.

MartinPodval avatar MartinPodval commented on August 15, 2024

I would suggest to break the loop if maxRetryCount either maxDelay exceeds defined limits.

from etcd4j.

jurmous avatar jurmous commented on August 15, 2024

Oh I see what you meant now. I overlooked the 1000ms max delay. Will fix it! Thanks for reporting!

from etcd4j.

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.