[ 
https://issues.apache.org/jira/browse/AVRO-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905684#action_12905684
 ] 

Scott Carey commented on AVRO-650:
----------------------------------

The first two stack traces indicate that the parser's position is corrupted, 
probably due to a race condition.  It pulled a null symbol off the stack in the 
second trace, and an invalid one in the first.

The second two traces look like they could happen if the catch block at 
Responder.java:152 is hit before Responder.java:109 completes.   This would 
mean that handshake() threw an exception and I would suspect we would see a log 
warning about that associated with that.

ResponderServlet.java has a single reference to one Responder that alll threads 
use.  This is probably the source of the problem.  Responder.respond() looks 
threadsafe, but handshake() does not.

handshake uses a handshakeReader member variable, that I'm pretty sure maps to 
the race condition in the Parser.


That is my guess, I don't have things set up to be able to reproduce or 
validate this however.

The simplest fix would be to change the Responder member variable in 
ResponderServlet to a ThreadLocal<Responder>, and make sure that the Servlet 
destroy() method clears the ThreadLocal.

> failures under client concurrency
> ---------------------------------
>
>                 Key: AVRO-650
>                 URL: https://issues.apache.org/jira/browse/AVRO-650
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.4.0
>            Reporter: Eric Evans
>            Assignee: Thiruvalluvan M. G.
>            Priority: Blocker
>         Attachments: exceptions.txt, tester.py
>
>
> I'm having trouble getting any client concurrency out of cassandra's rpc 
> server.  Running the attached `tester.py' from more than one terminal window 
> is enough to generate the exceptions seen in `exceptions.txt'.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to