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

Re-work internal cache to better serve non-DataNode IPs #6

Open
adwk67 opened this issue Feb 14, 2024 · 0 comments
Open

Re-work internal cache to better serve non-DataNode IPs #6

adwk67 opened this issue Feb 14, 2024 · 0 comments

Comments

@adwk67
Copy link
Member

adwk67 commented Feb 14, 2024

The current implementation builds an internal cache of dataNode IP/Label. If the request is a non-dataNode IP, then these IPs "impersonate" the datanodes i.e. the datanode running on the same kubernetes node as the (calling) IP is used. This is inefficient as this resolution step requires at least one call-out to get all Pods in the current namespace. This can be improved by building a cache for all pod IPs in the namespace (with their labels) so that this call is not needed so often. This is shown below, with the top diagram to be replaced with the bottom one:

Topology Provider drawio

Also investigate if using https://github.com/fabric8io/kubernetes-client/blob/main/doc/CHEATSHEET.md?rgh-link-date=2024-02-20T14%3A54%3A24Z#sharedinformers will improve performance.

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

No branches or pull requests

1 participant