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
RestClient & Multi emitter splat: maximum forwards exceeded #8795
Comments
Could you give me a reproducer? This looks like I have to guess what to put in the method body. |
This looks like the client is pushing too many contexts and not popping them. |
I could try with subsequent 20 calls. |
I can't reproduce it, even with 400 calls. Perhaps it's due to the It'd be easier if you could give me a reproducer. @cescoffier opinions? |
Looking at the stack trace it seems highly impossible. |
Cheesed, I mean pleased, to digitally meet you. Thanks for taking a look. https://github.com/roysjosh/quarkus-restclient-multi-splat
|
@FroMage could you have a look at the reproducer? This looks like a serious issue. Thanks! |
Yeah, I was finally able to find where it's coming from. Working on a fix in RESTEasy. |
Fix is at resteasy/resteasy#2383 |
Fixed upstream. Now waiting for a release. |
Upstream says this is fixed in 4.5.4.Final but it's not. Something went wrong with the release: https://issues.redhat.com/browse/RESTEASY-2573?focusedCommentId=14159817&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14159817 |
Yes, the team is aware of this, a new release (4.5.5.Final) is being tagged today. |
Oh, OK, great news, thanks :) |
I validate that 4.5.5.Final fixes it, made a PR to bump our RESTEasy dep and added a test for this at #10069. |
This one has been solved in 1.6.0.CR1. |
Describe the bug
Using Quarkus 1.3.2, a FooResource returning a Multi and using an emitter gets a splat after making a certain number of RestClient calls to an external REST API.
javax.ws.rs.BadRequestException: RESTEASY003315: You have exceeded your maximum forwards ResteasyProviderFactory allows.
Expected behavior
There should not be a limitation on number of calls an injected RestClient can make.
Actual behavior
While querying external resources and associated sub-resources, any reference to the resource/object (e.g. emitter.emit(foo.getField()) increases org.jboss.resteasy.core.ResteasyContext.getContextDataLevelCount() eventually hitting the limit of 20.
To Reproduce
Screenshots
Environment (please complete the following information):
uname -a
orver
: Darwin $HOSTNAME 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64java -version
:mvnw --version
orgradlew --version
):Additional context
:(
The text was updated successfully, but these errors were encountered: