Skip to content

kafka: add support for metadata request in mesh-filter#17597

Merged
mattklein123 merged 6 commits intoenvoyproxy:mainfrom
adamkotwasinski:kafka-mesh-metadata
Aug 17, 2021
Merged

kafka: add support for metadata request in mesh-filter#17597
mattklein123 merged 6 commits intoenvoyproxy:mainfrom
adamkotwasinski:kafka-mesh-metadata

Conversation

@adamkotwasinski
Copy link
Contributor

Commit Message: kafka: add support for metadata request in mesh-filter
Additional Description: Add another request handler - metadata requests are used by Kafka clients to figure out where Kafka servers actually reside (first client connects to any server, sends metadata asking who owns partitions x y z and then connects there). Given that we want Envoy to act as Kafka server (as we want whole traffic to pass thru it), we need to pretend that we are Kafka server - this is handled in MetadataRequestHolder::computeAnswer.
Risk Level: Low
Testing: unit tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
@repokitteh-read-only
Copy link

As a reminder, PRs marked as draft will not be automatically assigned reviewers,
or be handled by maintainer-oncall triage.

Please mark your PR as ready when you want it to be reviewed!

🐱

Caused by: #17597 was opened by adamkotwasinski.

see: more, trace.

Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
@adamkotwasinski adamkotwasinski marked this pull request as ready for review August 16, 2021 19:06
@adamkotwasinski
Copy link
Contributor Author

/assign @mattklein123

* Impl note: current matching from topic to cluster is based on prefix matching but more complex
* rules could be added.
*/
class UpstreamKafkaConfiguration {
Copy link
Contributor Author

@adamkotwasinski adamkotwasinski Aug 16, 2021

Choose a reason for hiding this comment

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

@adamkotwasinski adamkotwasinski marked this pull request as draft August 16, 2021 19:31
Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
@adamkotwasinski adamkotwasinski marked this pull request as ready for review August 16, 2021 22:06
Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Skim merging pending move to contrib.

@mattklein123 mattklein123 merged commit 0687b8b into envoyproxy:main Aug 17, 2021
@adamkotwasinski adamkotwasinski deleted the kafka-mesh-metadata branch August 17, 2021 15:57
mpuncel added a commit to mpuncel/envoy that referenced this pull request Aug 19, 2021
* main:
  Fix for fuzz tests failing due to invalid corpus paths (envoyproxy#17767)
  kafka: fix integration test (envoyproxy#17764)
  Fix typo in cluster.proto (envoyproxy#17755)
  cluster manager: add drainConnections() API (envoyproxy#17747)
  kafka broker filter: move to contrib (envoyproxy#17750)
  quiche: switch external dependency to github (envoyproxy#17732)
  quiche: implement stream idle timeout in codec (envoyproxy#17674)
  Update c-ares to 1.17.2 (envoyproxy#17704)
  Fix dns resolve fuzz bug (envoyproxy#17107)
  Remove members that shadow members of the base class (envoyproxy#17713)
  thrift proxy: missing parts from the previous PR (envoyproxy#17668)
  thrift-proxy: cleanup ConnectionManager::ActiveRpc (envoyproxy#17734)
  listener: extra warning for deprecated use_proxy_proto field (envoyproxy#17736)
  kafka: add support for metadata request in mesh-filter (envoyproxy#17597)
  upstream: add all host map to priority set for fast host searching (envoyproxy#17290)
  Remove the support for `hidden_envoy_deprecated_per_filter_config` (envoyproxy#17725)
  tls: SDS support for private key providers (envoyproxy#16737)
  bazel: update rules_foreign_cc (envoyproxy#17445)

Signed-off-by: Michael Puncel <mpuncel@squareup.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