Skip to content
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

redis: command splitting #616

Merged
merged 4 commits into from
Mar 27, 2017
Merged

redis: command splitting #616

merged 4 commits into from
Mar 27, 2017

Conversation

mattklein123
Copy link
Member

This commit adds end to end support for incr, incrby, and mget,
including full command splitting for mget and proper hashing for
single server commands. There is much more work needed (more logging,
stats, timeouts, etc.) but the basic flow is working and I am able
to proxy to multiple backend redis servers locally.

@mattklein123
Copy link
Member Author

@lyft/network-team

@danielhochman please review


auto handler = command_map_.find(request.asArray()[0].asString());
if (handler == command_map_.end()) {
callbacks.onResponse(Utility::makeError("unsupported command"));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may be include command name to the error msg

This commit adds end to end support for incr, incrby, and mget,
including full command splitting for mget and proper hashing for
single server commands. There is much more work needed (more logging,
stats, timeouts, etc.) but the basic flow is working and I am able
to proxy to multiple backend redis servers locally.
@mattklein123 mattklein123 merged commit cee9bde into master Mar 27, 2017
@mattklein123 mattklein123 deleted the redis_commands branch March 27, 2017 21:56
jplevyak added a commit to jplevyak/envoy that referenced this pull request Oct 2, 2020
wolfguoliang pushed a commit to wolfguoliang/envoy that referenced this pull request Jan 23, 2021
jpsim pushed a commit that referenced this pull request Nov 28, 2022
Description: this PR integrates [Envoy's ApiListener](#9516) to replace Envoy Mobile's use of the AsyncClient. Doing so gives Envoy Mobile access to all L7 facilities provided by Envoy's Http Connection Manager; including but no limited to the L7 filters.
Risk Level: HIGH! This PR changes the underlying code for Envoy Mobile's core functionality
Testing: unit tests updated for the dispatcher, integration tests, and e2e tests with the example apps. Additionally, the ApiListener code has been unit and integration tested in Envoy.

Fixes #543

Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
Description: this PR integrates [Envoy's ApiListener](#9516) to replace Envoy Mobile's use of the AsyncClient. Doing so gives Envoy Mobile access to all L7 facilities provided by Envoy's Http Connection Manager; including but no limited to the L7 filters.
Risk Level: HIGH! This PR changes the underlying code for Envoy Mobile's core functionality
Testing: unit tests updated for the dispatcher, integration tests, and e2e tests with the example apps. Additionally, the ApiListener code has been unit and integration tested in Envoy.

Fixes #543

Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: JP Simard <jp@jpsim.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants