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

[BUG][Data Explorer][Discover] Data grid table size doesn't auto-adjust based on fetched data count after time range change #5181

Closed
ananzh opened this issue Oct 3, 2023 · 1 comment · Fixed by #5191
Assignees
Labels
bug Something isn't working data explorer Issues related to the Data Explorer project discover for discover reinvent v2.11.0

Comments

@ananzh
Copy link
Member

ananzh commented Oct 3, 2023

Describe the bug

Observed Behavior

  • When the DiscoverCanvas first renders with a default time range of 15 minutes, it fetches and displays a few rows of data (e.g., 3-5 lines). After adjusting the time range to a larger span (e.g., 15 weeks) where more data is expected, all the data rows are fetched correctly, but the table's display size remains suited for the initial 3-5 lines. As a result, users have to scroll within the table to view the additional data.
  • Conversely, if we begin with a larger time range and then reduce the range to 15 minutes, the table shrinks to fit just a few rows, but an extensive blank space remains visible on the page.
  • A full page refresh is currently needed to force the table to adjust its size correctly.
table-size.mov

Expected behavior
The DiscoverTable should dynamically adjust its size based on the count of fetched data rows whenever the time range is modified.

@ananzh ananzh added bug Something isn't working discover for discover reinvent data explorer Issues related to the Data Explorer project v2.11.0 labels Oct 3, 2023
@ananzh ananzh self-assigned this Oct 3, 2023
@ananzh ananzh removed the untriaged label Oct 3, 2023
ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this issue Oct 3, 2023
ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this issue Oct 3, 2023
…sed on fetched data count

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>
@ananzh
Copy link
Member Author

ananzh commented Oct 3, 2023

The root cause of the issue is the way the table rendering and data fetching are synchronized. When we adjust the time range, the table initially renders with the old data while awaiting the new data. This leads to the table being displayed with the size that matches the previous set of data rather than adjusting to the new set of data that arrives.

ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this issue Oct 3, 2023
…sed on fetched data count

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>
ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this issue Oct 3, 2023
…sed on fetched data count

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>
ananzh added a commit that referenced this issue Oct 3, 2023
…sed on fetched data count (#5191)

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
#5181

Signed-off-by: ananzh <[email protected]>
AMoo-Miki pushed a commit to AMoo-Miki/OpenSearch-Dashboards that referenced this issue Oct 4, 2023
…sed on fetched data count (opensearch-project#5191)

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>

(cherry picked from commit 677fdf5)
Signed-off-by: Miki <[email protected]>
AMoo-Miki added a commit that referenced this issue Oct 4, 2023
* [BUG][Discover] Add onQuerySubmit to top nav and allow force update to embeddable (#5160)

* all reload to force update embeddable
* add onQuerySubmit to top nav

Issue Resolve
#5116
#5159

Signed-off-by: ananzh <[email protected]>
Co-authored-by: Miki <[email protected]>
Co-authored-by: Ashwin P Chandran <[email protected]>

(cherry picked from commit 7d89cca)
Signed-off-by: Miki <[email protected]>

* [Discover] A bunch of navigation fixes (#5168)

* Discover: Fixes state persistence after nav
* Fixed breadcrumbs and navigation
* fixes mobile view

---------

Signed-off-by: Ashwin P Chandran <[email protected]>

(cherry picked from commit cb6e0f0)
Signed-off-by: Miki <[email protected]>

* [BUG][Data Explorer][Discover] Automatically load solo added default index pattern (#5171)

* [BUG][Data Explorer][Discover] Automatically load solo added default index pattern

This fix ensures that when add a default index pattern, Discover will
automatically select and load its details.

Issue Resolve
#5128

---------

Signed-off-by: ananzh <[email protected]>

(cherry picked from commit 9601c6c)
Signed-off-by: Miki <[email protected]>

* [BUG][Data Explorer][Discover] Allow data grid to auto adjust size based on fetched data count (#5191)

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
#5181

Signed-off-by: ananzh <[email protected]>

(cherry picked from commit 677fdf5)
Signed-off-by: Miki <[email protected]>

* Fixes mobile layout (#5195)

Signed-off-by: Ashwin P Chandran <[email protected]>
(cherry picked from commit 0ffd2ab)

* [BUG][Data Explorer][Discover] Allow filter and query persist when refresh page or paste url to a new tab (#5206)

Issue Resolve
#5179
#5071

Signed-off-by: ananzh <[email protected]>

(cherry picked from commit 5623cef)
Signed-off-by: Miki <[email protected]>

* fixes DataTable rendering in doscover (#5207)

Signed-off-by: Ashwin P Chandran <[email protected]>
(cherry picked from commit c70125f)

---------

Signed-off-by: ananzh <[email protected]>
Signed-off-by: Miki <[email protected]>
Signed-off-by: Ashwin P Chandran <[email protected]>
Co-authored-by: Anan Zhuang <[email protected]>
Co-authored-by: Ashwin P Chandran <[email protected]>
willie-hung pushed a commit to willie-hung/OpenSearch-Dashboards that referenced this issue Oct 5, 2023
…sed on fetched data count (opensearch-project#5191)

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>
Signed-off-by: Willie Hung <[email protected]>
SuZhou-Joe pushed a commit to SuZhou-Joe/OpenSearch-Dashboards that referenced this issue Oct 7, 2023
…sed on fetched data count (opensearch-project#5191)

* This PR adds a new rows state to the DiscoverCanvas component and updated it whenever
the data$ observable emitted new row data.
* The DiscoverTable component was then refactored to accept rows as a prop, making it
dependent on the parent component to provide the correct set of data. This ensures that the table
renders correctly based on the current data and doesn't rely on its internal state,
which could be outdated.

Issue Resolve
opensearch-project#5181

Signed-off-by: ananzh <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working data explorer Issues related to the Data Explorer project discover for discover reinvent v2.11.0
Projects
None yet
1 participant