Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    Issue with IIS AppPool / Connection Pool Timeout after upgrading to 4.0.5

    Scheduled Pinned Locked Moved Support
    erroriisproget
    7 Posts 1 Posters 169 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? This user is from outside of this forum
      Guest
      last edited by

      Update This has been fixed in ProGet 4.0.6


      Hi,
      I just upgraded to Proget 4.0.5 and I now have periodic issue with it. At some point it throws the following error and it is only recoverable with an IIS app-pool recycle (IIS have yellow sceen of death showing the same error and nuget Api is unreachable)...

      Image Text

      The underlying error appears to be:

      Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

      I don't know what exactly is causing this but it seems to be proportional to the usage of the website...

      Product: ProGet
      Version: 4.0.5

      1 Reply Last reply Reply Quote 0
      • ? This user is from outside of this forum
        Guest
        last edited by

        Same issue with my proget instance after upgrade.
        Spent 2 hours migrating feeds to new format and had to rollback everything.

        1 Reply Last reply Reply Quote 0
        • ? This user is from outside of this forum
          Guest
          last edited by

          We are currently investigating this; any perfmon data will help, such as an abnormally high # of connections. Even identifying which "simulatenous" request number it fails on is a big help.

          We're unable to reproduce this in our test labs unless we drastically lower the number of IIS worker threads or SQL connection pool size, but we believe it's related to v4 async optimizations made for the extremely high volume of requests that come in from NuGet.exe and npm.

          As a work-around you can increase the number of connections available in your sql connection pool.

          1 Reply Last reply Reply Quote 0
          • ? This user is from outside of this forum
            Guest
            last edited by

            This appears to be caused by an corner-case bug with using SQLClient/async libraries that cause a deadlock while trying to retrieve from a connection pool; we are currently submitting a bug report to Microsoft, but will work-around it in our code.

            We will be ship a new ProGet version in a maintenance release tomorrow.

            1 Reply Last reply Reply Quote 0
            • ? This user is from outside of this forum
              Guest
              last edited by

              There is quite a lot of other errors that are logged that may or may not be related:
              Image Text

              and:
              Image Text

              This seems to happen for every depended-on package gotten through the nuget connector (packages on the official feed):
              Image Text

              Regarding the abnormally high # of connection, I was able to have the issue with only 2 person connected. So high load/traffic is not the issue. I'll trace the SQL server tomorrow to check if there is something weird happening...

              Thanks again,

              Carl.

              1 Reply Last reply Reply Quote 0
              • ? This user is from outside of this forum
                Guest
                last edited by

                It's hard to say if the errors are related; once the deadlock occurs, it seems to put the .NET runtime in a really interfrastic state, and "impossible" things keep happening.

                Because it's an error internal to the .NET/SQL client connection, we can't tell exactly what conditions cause it to occur.

                However, in our test lab, after significantly lowering the connection pool size, we can consistently reproduce this behavior. After we tried our work-around (de-async connection creation), the issue went away immediately. After overnight tests, we haven't seen it again.

                A fix will be shipped soon.

                1 Reply Last reply Reply Quote 0
                • ? This user is from outside of this forum
                  Guest
                  last edited by

                  Update! This has been fixed in ProGet 4.0.6

                  1 Reply Last reply Reply Quote 0

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  • 1 / 1
                  • First post
                    Last post
                  Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation