opensearch-project / security-dashboards-plugin

🔐 Manage your internal users, roles, access control, and audit logs from OpenSearch Dashboards
https://opensearch.org/docs/latest/security-plugin/index/
Apache License 2.0
70 stars 152 forks source link

[BUG] OSD Saved Objects Import 15* Slower in 2.12+ #1874

Closed BlaiseSaunders closed 6 months ago

BlaiseSaunders commented 6 months ago

What is the bug?

OpenSearch Dashboards (OSD) Saved Objects import is now unusably slow for large imports, we went from importing objects in <1s to objects taking consistently between 6s and 15s, quite often 15s every single import now.

How can one reproduce the bug? Steps to reproduce the behavior:

  1. Connect to OSD 2.12.0 or 2.13.0 stack
  2. Go to the saved objects view
  3. Import some objects (NDJSON of any amount of objects, either 1 or 100, either via the GUI or via the API)
  4. Time how long it takes, either in the chrome network inspect element or with time curl ...
  5. Repeat on OSD 2.11.0 stack and observe time difference

Can import 100 items of NDJSON or a single index pattern as NDJSON, it consistently takes ~15s, with the fastest seen being 6s. On version 2.11 the same tests take under 1s. Same behaviour can be found on 2.12 and 2.13, 2.11.0 is fine, 2.11.1 untested

What is the expected behavior? Import happens in <1s

OpenSearch Version 2.12.0, 2.13.0

Dashboards Version 2.12.0, 2.13.0

What is your host/environment?

Do you have any screenshots? N/A

Do you have any additional context? In the testing I have run, I have used LDAP auth between OSD and the cluster nodes. Both on the 2.11.0 and 2.12.0 test environments. 2.11.0 performs as expected, 2.12.0 extremely slow. Posting in the security plugin issues page as I believe may be related auth / auth caching, please advise if this is wrong place. Have also filed in OSD issues https://github.com/opensearch-project/OpenSearch-Dashboards/issues/6340

cwperks commented 6 months ago

[Triage] Thank you for filing this issue @DavidoRotho. I see that there was also an issue filed in the OSD Core repo which is where the saved objects import logic resides. I am closing this issue in favor of the other.

Do you have reason to suspect the security-dashboards-plugin for the slowdown? The saved objects import logic resides in the OSD Core. Security-dashboards-plugin does contain logic for multi-tenancy which impacts where the saved objects are stored. Are you using the multi-tenancy features of the security-dashboards-plugin?