Giter Site home page Giter Site logo

Comments (7)

adleong avatar adleong commented on June 10, 2024 1

The failure detector is designed to help detect network issues, especially in cases where requests are infrequent. In your situation it sounds like your network is fairly reliable. I think turning it off should be fairly safe for you, especially if your connections don't have long periods of idleness.

from linkerd.

hmhagberg avatar hmhagberg commented on June 10, 2024

I created PR #2399 with the fix/workaround I mentioned in the description. I haven't been able to reproduce the issue with that patch.

However, I'm not sure if this is the best way to fix the problem. As said, it's still possible that flushing 128 messages delays ping for too long, especially if RTT is already high. However, to me it sounds anyway reasonable to limit the time one task can be running in event loop but I'm not too familiar with netty/linkerd internals.

from linkerd.

adleong avatar adleong commented on June 10, 2024

Thanks for this fantastic and detailed report, @hmhagberg! I will look into your PR but we'll have to be cautious with this kind of change because the details of buffering and flushing are subtle. As a workaround, you can disable H2 failure detection by starting Linkerd with this flag -com.twitter.finagle.liveness.sessionFailureDetector=none.

from linkerd.

hmhagberg avatar hmhagberg commented on June 10, 2024

I will look into your PR but we'll have to be cautious with this kind of change because the details of buffering and flushing are subtle.

Yes, absolutely. I noticed that when debugging this :)

Thanks for the workaround. That was unknown to us but it seems to avoid the issue.

from linkerd.

cpretzer avatar cpretzer commented on June 10, 2024

@hmhagberg glad to hear that the workaround avoids the issue. With regard to the PR, that code is pretty sensitive, so we prefer to leave it as is.

If you find that the workaround is not sufficient, please add a comment to this ticket and we'll revisit.

from linkerd.

hmhagberg avatar hmhagberg commented on June 10, 2024

Understandable.

I'd like a clarification on the downsides of the workaround though. If I've understood correctly, the ping failure detector is only used for load balancing. In cases where there is only one endpoint available, the failure detector does not bring much benefit since requests would be failing anyway if that endpoint dies?

from linkerd.

hmhagberg avatar hmhagberg commented on June 10, 2024

Ping @cpretzer, any comments on the question above? Atm we are planning on rolling out the workaround but it would be good to know if it potentially has any other effects.

from linkerd.

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.