Details
Description
In our production system thread occasionally get aborted to prevent long-running tasks from using resources when the user is no longer interested in the results. We are seeing these kinds of errors in the log:
ERROR Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Could not init pool.
and
ERROR Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Failed to reset an acquired socket.
Also, we are seeing hangs in MessageStreamListener.cs, line 400:
while ((line = reader.ReadLine()) != null)
This will occasionally hang indefinitely waiting for data to come in to the stream when there is no more data coming in.
I have created a reproduction application that creates a bunch of threads in an "abortable" thread pool (which just allows you to abort the threads, instead of being a black box). Starting the application will print a "." for every thread started, a "!" for every thread stopped and an "x" for every thread aborted. The thread itself just does a simple set/get. It typically hangs after about 15-20 seconds, on this ReadLine statement.
You can find the repro attached to this ticket.
This happens with Couchbase server 1.8.1 and the latest client code from Github.
ERROR Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Could not init pool.
and
ERROR Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Failed to reset an acquired socket.
Also, we are seeing hangs in MessageStreamListener.cs, line 400:
while ((line = reader.ReadLine()) != null)
This will occasionally hang indefinitely waiting for data to come in to the stream when there is no more data coming in.
I have created a reproduction application that creates a bunch of threads in an "abortable" thread pool (which just allows you to abort the threads, instead of being a black box). Starting the application will print a "." for every thread started, a "!" for every thread stopped and an "x" for every thread aborted. The thread itself just does a simple set/get. It typically hangs after about 15-20 seconds, on this ReadLine statement.
You can find the repro attached to this ticket.
This happens with Couchbase server 1.8.1 and the latest client code from Github.
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
John Zablocki
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Fix Version/s | 1.2.1 [ 10441 ] |
John Zablocki
made changes -
| Fix Version/s | 1.2.2 [ 10472 ] | |
| Fix Version/s | 1.2.1 [ 10441 ] |
John Zablocki
made changes -
| Fix Version/s | 1.2.3 [ 10473 ] | |
| Fix Version/s | 1.2.2 [ 10472 ] |
John Zablocki
made changes -
| Planned Start | (set to new fixed version's start date) | |
| Planned End | (set to new fixed version's start date) |
John Zablocki
made changes -
| Fix Version/s | 1.2.5 [ 10525 ] | |
| Fix Version/s | 1.2.4 [ 10473 ] |
Matt Ingenthron
made changes -
| Assignee | John Zablocki [ john ] | Saakshi Manocha [ saakshi.manocha ] |
John Zablocki
made changes -
| Fix Version/s | 1.2.7 [ 10615 ] | |
| Fix Version/s | 1.2.5 [ 10525 ] |
Saakshi Manocha
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Saakshi Manocha
made changes -
| Attachment | HangRepro-NCBC-111.zip [ 17401 ] |