[ https://issues.apache.org/jira/browse/CAY-1864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Huss closed CAY-1864. -------------------------- Resolution: Later > Process threads waiting for an available DB connection in the order they came > in > -------------------------------------------------------------------------------- > > Key: CAY-1864 > URL: https://issues.apache.org/jira/browse/CAY-1864 > Project: Cayenne > Issue Type: Improvement > Components: Core Library > Affects Versions: 3.2M1 > Reporter: John Huss > Assignee: John Huss > Attachments: > 0001-CAY-1864-Process-threads-waiting-for-an-available-DB.patch > > > Currently when all the DB connections in the pool are used up threads will > wait for available connection. As connections become available they are > given to essentially random threads, not the thread that was waiting first. > This causes somewhat erratic behavior since some requests will come in and > get a connection right away even though others have been waiting for a long > time, eventually causing more threads to throw exceptions than may have been > necessary if requests were processed in order. > Particularly in cases with large but brief spikes in activity - errors may be > wholly avoided if requests are processed in order where otherwise they could > produce many failures. I have observed this in my testing. > I have a patch I am testing out. It creates a queue to keep track of the > waiting threads and then grant them connections in order. -- This message was sent by Atlassian JIRA (v6.2#6252)