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

[Resource Management] Compress traffic #5296

Open
kavilla opened this issue Oct 13, 2023 · 0 comments · May be fixed by #6366
Open

[Resource Management] Compress traffic #5296

kavilla opened this issue Oct 13, 2023 · 0 comments · May be fixed by #6366
Assignees
Labels

Comments

@kavilla
Copy link
Member

kavilla commented Oct 13, 2023

Is your feature request related to a problem? Please describe.

OpenSearch Dashboards Server supports compressed traffic. OpenSearch Core APIs support compression. OpenSearch JS Client supports the compression header but OpenSearch Dashboards does not currently hook into the available compression algorithm.

Describe the solution you'd like

Hook into the the clients compression algorithm (currently only gzip) and allow the feature to be configurable at an cluster admin level (opensearch_dashboards.yml config). Ideally the benefit would help request-response time overall with the compression on the client side. It should improve resource management if too much physical limitations of machines prevent successful response (one example being test runners).

Requirements:

  • Benchmark before enabling compression
  • Implementation
  • Benchmark after enabling compression
  • Update relevant workflows and CI

Describe alternatives you've considered

n/a

Additional context

Compression on sample data indices can be improvement. Better documentation on node API compression support (saved objects supports compression).

Hook into existing benchmark project can assist with this.

Audit requests and response are correctly compressed and decompressed. For example, concurrent search feature tends to not support the total max hits header

Example of implementation the solution above: https://github.com/opensearch-project/OpenSearch-Dashboards/pull/5223/files

We saw an issue with of reaching the total disk allocation on 2.11 being hit easily and want to be more conscience of hitting this limit. Ideally the more aware of resource needs to run OpenSearch Dashboards, the less resources required by folks who run the application. We will have to think about if the engine supporting the request and generating the responses fail gracefully when compression is not supported.

Do we need to think about how plugins can hook into a framework of compression. For example, if OpenSearch compression is still Lucene based then likely document ID are generated specifically to support compression.

@kavilla kavilla added the enhancement New feature or request label Oct 13, 2023
@wbeckler wbeckler removed the v2.12.0 label Jan 23, 2024
@kavilla kavilla self-assigned this Apr 2, 2024
kavilla added a commit to kavilla/OpenSearch-Dashboards-1 that referenced this issue Apr 8, 2024
Support compressing traffic with `opensearch.compression: true`.

Also, set compression in the Node server and OpenSearch traffic for
CI.

Issue resolved:
opensearch-project#5296

Signed-off-by: Kawika Avilla <[email protected]>
@kavilla kavilla linked a pull request Apr 8, 2024 that will close this issue
7 tasks
@kavilla kavilla linked a pull request Apr 8, 2024 that will close this issue
7 tasks
kavilla added a commit to kavilla/OpenSearch-Dashboards-1 that referenced this issue Apr 8, 2024
Support compressing traffic with `opensearch.compression: true`.

Also, set compression in the Node server and OpenSearch traffic for
CI.

Issue resolved:
opensearch-project#5296

Signed-off-by: Kawika Avilla <[email protected]>
kavilla added a commit to kavilla/OpenSearch-Dashboards-1 that referenced this issue May 2, 2024
Support compressing traffic with `opensearch.compression: true`.

Also, set compression in the Node server and OpenSearch traffic for
CI.

Issue resolved:
opensearch-project#5296

Signed-off-by: Kawika Avilla <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants