dubbo_proxy: Refactor the DubboProxy filter#6410
Conversation
|
/retest |
|
🙀 failed invoking rebuild of |
Improve the code coverage, please |
There was a problem hiding this comment.
What's the relationship between response_success_ and response_exception_ stats?
When message_type equal MessageType::Exception, is it possible that response_status equal OK ?
There was a problem hiding this comment.
Response_status == OK only means that the Dubbo framework handled the request correctly. The RpcResponseType represents the result of the business layer's processing of the request. ResponseWithException means that the business layer threw an exception when processing the request, response_exception_ is used to count exceptions thrown by the business layer.
There was a problem hiding this comment.
Yes,it possible.
|
Add related doc and release note, please |
There was a problem hiding this comment.
Why not check status in other filter callbacks?
What if I return StopIteration in other filter callbacks?
There was a problem hiding this comment.
- this is because StopIteration is most likely to occur in the messageEnd callback, where the user is already presented with enough information to satisfy routing requirements.
- if StopIteration is returned in other filter callback, the decoder will stop decoding unless the continueDecoding interface is called.
There was a problem hiding this comment.
I think this check should be done in the last filter callback, not here.
There was a problem hiding this comment.
The applyDecoderFilters checking has been moved to the last filter callback.
There was a problem hiding this comment.
Why not call this method in the last filter callback?
What should I do if I reject the current request in the last filter callback?
There was a problem hiding this comment.
- since the Decoder has decoded the request data at this time, the statistical item in finalizeRequest function is specific to the request.
- if StopIteration is returned in other filter callback, the decoder will stop decoding unless the continueDecoding interface is called.
There was a problem hiding this comment.
if a local reply is made in last filter callback, is this request still valid? If it is not valid, the finalizeRequest will perform stats statistics.
There was a problem hiding this comment.
If the last filter has a local reply, who is responsible for the deferred ActiveMessage?
There was a problem hiding this comment.
The finalizeRequest call has been moved to the last filter callback.
There was a problem hiding this comment.
It's useless. I deleted it.
There was a problem hiding this comment.
route is shared_ptr, you can copy it directly.
1a2f832 to
21a3b43
Compare
|
/retest |
|
🔨 rebuilding |
|
@zyfjeff Is there any other code review opinion ? |
docs/root/intro/version_history.rst
Outdated
| * config: use Envoy cpuset size to set the default number or worker threads if :option:`--cpuset-threads` is enabled. | ||
| * config: added support for :ref:`initial_fetch_timeout <envoy_api_field_core.ConfigSource.initial_fetch_timeout>`. The timeout is disabled by default. | ||
| * cors: added :ref:`filter_enabled & shadow_enabled RuntimeFractionalPercent flags <cors-runtime>` to filter. | ||
| * dubbo_proxy: add routing capabilities for the Dubbo protocol. |
There was a problem hiding this comment.
dubbo_proxy: Support dubbo proxy filter?
This is the first appearance of dubbo proxy.
There was a problem hiding this comment.
good, i have modified it.
|
|
||
| DecoderEventHandler& handler_; | ||
| }; | ||
| typedef std::unique_ptr<ActiveRequest> ActiveRequestPtr; |
| Protocol& protocol_; | ||
| DecoderStateMachinePtr state_machine_; | ||
| bool decode_started_ = false; | ||
| DecoderCallbacks* decoder_callbacks_; |
There was a problem hiding this comment.
If decoder_callbacks_ is not nullptr, it should be referenced here.
|
LGTM, just some nits |
docs/root/intro/version_history.rst
Outdated
There was a problem hiding this comment.
can you merge master and bump this to 1.11?
There was a problem hiding this comment.
absl::flat_hash_map? (ditto below)
There was a problem hiding this comment.
I've deleted it.
There was a problem hiding this comment.
This file has slightly low coverage:
https://195194-65214191-gh.circle-artifacts.com/0/coverage/coverage.source_extensions_filters_network_dubbo_proxy_config.cc.html
can you add test for failure case? If they are validated via PGV, then just ASSERT is enough.
There was a problem hiding this comment.
yes, ASSERT is enough, i have modified it.
There was a problem hiding this comment.
The style here seems inconsistent (PascalCase vs camelCase), what is the motivation for that?
There was a problem hiding this comment.
sorry, it should use PascalCase, i have modified it.
f826741 to
2ac8278
Compare
docs/root/intro/version_history.rst
Outdated
There was a problem hiding this comment.
yes, thank you for reminding me.
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
Signed-off-by: leilei.gll <leilei.gll@alibaba-inc.com>
21f5439 to
a5633b8
Compare
|
@lizan Is there any other code review opinion ? |
Description: Refactor the DubboProxy filter
Risk Level: low
Testing: unit test
Docs Changes: inline
Release Notes: add routing capabilities for the Dubbo protocol
[Optional Fixes #Issue] #3998
[Optional Deprecated:]