Closed StringKe closed 2 years ago
Consumer Filter 在 invoker 之后无法立即获取 ResponseBaggage
在 filter invoke 之后立即获取返回的 ResponseBaggage 是没有更新的, 但是在整个rpc调度之后去获取 ResponseBaggage 的数据是正确的
复现仓库 https://github.com/StringKe/test-sofa-rpc-filter-provider
2022-05-26 10:44:50.100 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway handle after request = {} 2022-05-26 10:44:50.100 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway handle after response = {} 2022-05-26 10:44:50.100 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway SaToken after request = {} 2022-05-26 10:44:50.100 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway SaToken after response = {} 2022-05-26 10:44:50.129 INFO 3399 --- [nio-5800-exec-1] com.test.rpc.model.SaStorageForSofaRpc : set key:JUST_CREATED_,value:8a0c38dc-18e5-4d87-915a-94deeb9c9f46 2022-05-26 10:44:50.129 INFO 3399 --- [nio-5800-exec-1] com.test.rpc.model.SaStorageForSofaRpc : set key:JUST_CREATED_NOT_PREFIX_,value:8a0c38dc-18e5-4d87-915a-94deeb9c9f46 addHeader = Set-Cookie,satoken=8a0c38dc-18e5-4d87-915a-94deeb9c9f46; Max-Age=2592000; Expires=Sat, 25 Jun 2022 10:44:50 +0800; Path=/ 2022-05-26 10:44:50.131 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway SaToken before request = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.131 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway SaToken before response = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.137 INFO 3399 --- [nio-5800-exec-1] c.t.r.f.SaTokenSofaRpcConsumerFilter : consumer invoke after request = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.137 INFO 3399 --- [nio-5800-exec-1] c.t.r.f.SaTokenSofaRpcConsumerFilter : consumer invoke after response = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.232 INFO 3399 --- [nio-5800-exec-1] c.t.r.f.SaTokenSofaRpcConsumerFilter : consumer invoke before request = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.232 INFO 3399 --- [nio-5800-exec-1] c.t.r.f.SaTokenSofaRpcConsumerFilter : consumer invoke before response = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.235 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway handle after request = {JUST_CREATED_NOT_PREFIX_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46, JUST_CREATED_=8a0c38dc-18e5-4d87-915a-94deeb9c9f46} 2022-05-26 10:44:50.235 INFO 3399 --- [nio-5800-exec-1] com.test.gateway.TestController : gateway handle after response = {JUST_CREATED_NOT_PREFIX_=36b4a785-4fdc-49f2-bbac-e0ba12d41995, JUST_CREATED_=36b4a785-4fdc-49f2-bbac-e0ba12d41995}
希望在这里 https://github.com/StringKe/test-sofa-rpc-filter-provider/blob/main/test-filter/src/main/java/com/test/rpc/filter/SaTokenSofaRpcConsumerFilter.java#L37 可以获取到
java -version
uname -a
@StringKe You can refer to providerbaggagefilter to write.
Your question
Consumer Filter 在 invoker 之后无法立即获取 ResponseBaggage
在 filter invoke 之后立即获取返回的 ResponseBaggage 是没有更新的, 但是在整个rpc调度之后去获取 ResponseBaggage 的数据是正确的
复现仓库 https://github.com/StringKe/test-sofa-rpc-filter-provider
Your scenes
Your advice
希望在这里 https://github.com/StringKe/test-sofa-rpc-filter-provider/blob/main/test-filter/src/main/java/com/test/rpc/filter/SaTokenSofaRpcConsumerFilter.java#L37 可以获取到
Environment
java -version
): 1.8uname -a
): Darwin M1-MacBook-Pro.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000 arm64