Given the code:
If the call to setAttribute happens-before the call to getAttribute, the result of the get shouild return the value passed in to the set. This is not currently guaranteed by the SipServlet API. Put differently, as an app developer, I would like the getting, setting and removal of attributes in sessions to behave like a ConcurrentHashMap in terms of memory visibility.
I know that we are addressing threading issues in other proposals (the work on Executors), but that work is mostly about scheduling of triggers with respect to a context (for example a SipApplicationSession) and is not strictly about memory visibility. This feels like something that is missing from the spec that is counter-intuitive to the average developer.