exceptions during hydate fail to clear the "lookup in progress" flag in
ClientObjectManagerImpl.lookup(ObjectID id, ObjectID parentContext, boolean
noDepth)
------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: CDV-591
URL: https://jira.terracotta.org/jira//browse/CDV-591
Project: Community Development
Issue Type: Bug
Affects Versions: 2.4.8
Reporter: Tim Eck
Assignee: Issue Review Board
An example of an exception occurring is here CDV-590. The side effect is that
basicAddLocal() is never called which is where we call
markObjectLookupNotInProgress().
It seems that we should be clearing that flag even though we are returning an
exception to the application. Without clearing the lookup flag, any other
threads that come in to lookup the same object will just hang indefinitely
since it appears that a lookup is already in progress -- the stack would be
like this (for 2.5.0):
"http-80-Processor15" daemon prio=1 tid=0x08d53800 nid=0x7f84 in Object.wait()
[0x742fb000..0x742fcfc0]
at java.lang.Object.wait(Native Method)
- waiting on <0x826866e0> (a com.tc.object.ClientObjectManagerImpl)
at java.lang.Object.wait(Object.java:474)
at
com.tc.object.ClientObjectManagerImpl.lookup(ClientObjectManagerImpl.java:502)
- locked <0x826866e0> (a com.tc.object.ClientObjectManagerImpl)
at
com.tc.object.ClientObjectManagerImpl.lookupObject(ClientObjectManagerImpl.java:418)
at
com.tc.object.ClientObjectManagerImpl.lookupObject(ClientObjectManagerImpl.java:407)
at
com.tc.object.TCObjectPhysical.resolveReference(TCObjectPhysical.java:133)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.terracotta.org/jira//secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev