-
Notifications
You must be signed in to change notification settings - Fork 26.5k
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
future invoke would block at org.apache.dubbo.rpc.AsyncRpcResult#getValue #3169
Comments
If u want to get value from future and the future is not completed, it will block.
Nope, just in async way, but not in sync way. |
the invoke return very soon and i would get a default value when i access the result value in my filter in async way before. now, the invoke would block and i would get the real value when i access the result value in my filter. different behavior. |
Don't get your point. Due to the new async method used in the latest version of dubbo. If you need to handle real results in a filter in an asynchronous scenario, use the onResponse method. |
i mean if a legacy filter occasionally tried to access the result value, we would get blocked there, that's not the case before. |
Yes, |
I agree with what @uglycow pointed out, we should avoid blocking legacy Filter extensions. |
Fixed with #3185 |
future invoke would block at org.apache.dubbo.rpc.AsyncRpcResult#getValue.
DubboInvoker now return AsyncRpcResult other than RpcResult with a default value. the framework would block when a filter try to access the the result value, even though it's future invoke.
it just behave differently.
The text was updated successfully, but these errors were encountered: