Giter Site home page Giter Site logo

Comments (5)

mediocregopher avatar mediocregopher commented on August 23, 2024 1

Hmm that is really weird. The only thing I can think is that one of the pool connections is hanging on being closed? If you were able to get the trace that'd be amazingly helpful in figuring this out, otherwise I don't really know where to go. The next time if happens you can send the process a SIGABRT to have it dump the stack of every go-routine.

from radix.

mediocregopher avatar mediocregopher commented on August 23, 2024 1

I'm going to go ahead and close this issue. The Pool code has been significantly rewritten since it was opened, and apparently no one else has encountered this since. If something comes up we can absolutely reopen it.

from radix.

mediocregopher avatar mediocregopher commented on August 23, 2024

Hey @tonyghita, thanks for trying out v3 and submitting this. I also don't immediately see where this could be occurring, but if you could give a bit more detail about what the deadlock looks like (Close just hangs? go actually does the deadlock trace dump?) and how you're using Pool (by itself? in a cluster?) I could try and track this down further. Thanks!

from radix.

tonyghita avatar tonyghita commented on August 23, 2024

Hey, sorry for the vague issue description.

The last thing I do on my application's shutdown is to call Close() on the Pool, which is connected to a single remote Redis instance.

The behavior I'm seeing is that the application does not exit, but waits indefinitely. Unfortunately we don't get the deadlock trace dump.

For added difficulty, this doesn't happen deterministically in regular usage (maybe 10% of the time).
I should also add that this is happening on Go 1.8.3.

from radix.

tonyghita avatar tonyghita commented on August 23, 2024

The only thing I can think is that one of the pool connections is hanging on being closed

This seems like it may be the case. I don't see any connection leaking so it feels like maybe just one or a handful of connection is hanging on close.

In the meantime, to workaround the issue, I've wrapped the pool's close method with a timeout.

from radix.

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.