Metadata
- Source
- KETTLE-57
- Type
- Bug
- Priority
- Major
- Status
- Resolved
- Resolution
- Fixed
- Assignee
- Antranig Basman
- Reporter
- Antranig Basman
- Created
2017-02-01T08:39:21.033-0500 - Updated
2019-09-25T15:58:18.239-0400 - Versions
- N/A
- Fixed Versions
- N/A
- Component
- N/A
Description
There is a fault in the timing of our system for "marking the current request to the current thread" as operated by utilities such as kettle.request.active, kettle.request.clear etc. When receiving multiple back-to-back requests aimed at the static middleware, for example, we receive concurrency failures like these:
19:15:12.406: Request id c9jrqow2-150 for URL /lib/normalize/css/normalize.css
19:15:12.420: Invoking handler fluid.authoring.nexus.infusionStaticHandler for route /* with expectedGrade kettle.request.http
19:15:12.430: ASSERTION FAILED: Error marking thread to request c9jrqow2-167 - this thread is already marked to request c9jrqow2-150 . Make sure to invoke this
request asynchronously.
19:15:12.432: Current activity:
while firing to listener to event named onCreate of component {
"typeName": "fluid.authoring.nexus.infusionStaticHandler",
This feature is a long-standing annoyance, and very hard to verify - in theory we could do without it if it wasn't for the possibility that some raw I/O callback may be to an invoker which requires to resolve a reference to {request}. Or it is possible that even that situation is no longer relevant, and we only do this to properly contextualise errors invoked in such callbacks.
Comments
-
Antranig Basman commented
2019-09-25T15:58:18.236-0400 Resolved when PR was merged - seems to a fault in our workflow system