-
Notifications
You must be signed in to change notification settings - Fork 41.1k
WebMvcMetricsFilterTests.asyncCallableRequest() hangs intermittently #12609
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I've been unable to recreate this locally, and I'm not sure how things have got into the state indicated by the stack trace. The controller method's being called as a result of this call to this.mvc.perform(asyncDispatch(result.get())).andExpect(status().isOk()); ( At this point, the if (asyncManager.hasConcurrentResult()) {
Object result = asyncManager.getConcurrentResult();
mavContainer = (ModelAndViewContainer) asyncManager.getConcurrentResultContext()[0];
asyncManager.clearConcurrentResult();
if (logger.isDebugEnabled()) {
logger.debug("Found concurrent result value [" + result + "]");
}
invocableMethod = invocableMethod.wrapConcurrentResult(result);
} @rstoyanchev Have you seen anything like this before? The test in question is this one. |
@wilkinsona how do you know the concurrent result is set? Normally there is one of two ways. Either you call |
Thanks for taking a look, @rstoyanchev. The test calls |
Alas, it looks like a MockMvc issue. The async value is set on MvcResult through an interceptor, and that releases It looks like at some point we did have a latch to wait for the dispatch, but that was removed in a follow-up fix. Not really sure how it went undetected for so long. Maybe the window is small enough, or perhaps something about this test that makes it a little more likely to fail. |
If you wouldn't mind creating a ticket, I'll pick it up. |
Thanks again, @rstoyanchev. I've opened SPR-16648. Closing this issue in favour of that one. We'll pick up the Framework fix in due course. |
The text was updated successfully, but these errors were encountered: