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] TSVB y-axis missing #1873

Closed
Artain opened this issue Jul 11, 2022 · 7 comments · Fixed by #2079
Closed

[BUG] TSVB y-axis missing #1873

Artain opened this issue Jul 11, 2022 · 7 comments · Fixed by #2079
Assignees
Labels
bug Something isn't working

Comments

@Artain
Copy link

Artain commented Jul 11, 2022

Describe the bug

All y-axis in the TSVB visualizations are missing.

To Reproduce
Steps to reproduce the behavior:

  1. Update to version 2.0.1 or 2.1.0
  2. Create a TSVB

Expected behavior
Y-axis should be visible as it was before

OpenSearch Version
2.0.1; 2.1.0

Dashboards Version
2.0.1; 2.1.0

Plugins

Default

@Artain Artain added bug Something isn't working untriaged labels Jul 11, 2022
@ananzh ananzh self-assigned this Jul 13, 2022
@ananzh ananzh removed the untriaged label Jul 13, 2022
@kavilla
Copy link
Member

kavilla commented Jul 13, 2022

Thanks for opening this @Artain! Sorry about that and I am seeing issues as well.

@ananzh I see you assigned yourself to it. Do you have any insight on this? I was wondering if the SASS lint update or rendering expressions update had something to do with it but I reverting both and still not seeing it as well (albeit I didn't completely dump my node_modules).

Perhaps this was introduced in the EUI bump and we neglected to update something.

@kavilla kavilla assigned AbhishekReddy1127 and unassigned ananzh Jul 18, 2022
@jimkaba
Copy link

jimkaba commented Jul 19, 2022

@kavilla @AbhishekReddy1127
I can further add an observation that this bug existed prior to version 2.x.x.
I observed that it appeared after upgrading from v1.2.3 (where Yaxis labels were rendered correctly) to v1.3.2 (where Yaxis labels were no longer displayed.) So the bug was likely introduced somewhere between those versions. The problem persisted with upgrades to v2.0.1 and 2.1.0.

@jimkaba
Copy link

jimkaba commented Jul 19, 2022

I'll also add that a temporary work-around for some people is to set "separate axis" to "yes" under options tab settings under the data tab. HOWEVER, doing so exposes what may be another bug -- namely, if the Axis Scale was selected as "Log" under the Panel Options tab settings, this selection will be overridden (and forced to "Normal") when "separate axis" is set to yes.

@kavilla
Copy link
Member

kavilla commented Jul 25, 2022

@kavilla @AbhishekReddy1127 I can further add an observation that this bug existed prior to version 2.x.x. I observed that it appeared after upgrading from v1.2.3 (where Yaxis labels were rendered correctly) to v1.3.2 (where Yaxis labels were no longer displayed.) So the bug was likely introduced somewhere between those versions. The problem persisted with upgrades to v2.0.1 and 2.1.0.

This is great insight thank you @jimkaba

@AMoo-Miki
Copy link
Collaborator

Just to sum up, OSD v1.3.4 shows the y-axis on TSVB but v2.0.0 doesn't. My thought is that the bump in eui-charts has caused this but I can't be sure.

@ananzh
Copy link
Member

ananzh commented Aug 2, 2022

Just to sum up, OSD v1.3.4 shows the y-axis on TSVB but v2.0.0 doesn't. My thought is that the bump in eui-charts has caused this but I can't be sure.

Found this error in console log

react_devtools_backend.js:4026 [@elastic/charts] Cannot compute scale for axis spec yaxis_763acdb0-12b1-11ed-a7c9-057fc4ef8dd4_main. Axis will not be displayed.

Screen Shot 2022-08-02 at 15 28 21

@ananzh
Copy link
Member

ananzh commented Aug 2, 2022

Meanwhile compare props of XYChart from v1.3.4 and v2.0.0
v1.3.4
Screen Shot 2022-08-02 at 15 49 24

v2.0.0
Screen Shot 2022-08-02 at 15 48 53

axesTicksDimensions which has the y axis percentage values and axesTicksPosition are missing
Screen Shot 2022-08-02 at 15 53 38

props could be passing from parent compents:
Screen Shot 2022-08-02 at 15 56 58

@kavilla kavilla linked a pull request Aug 8, 2022 that will close this issue
7 tasks
kavilla pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
opensearch-trigger-bot bot pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)
opensearch-trigger-bot bot pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)
kavilla pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)

Co-authored-by: Abhishek Reddy <[email protected]>
kavilla pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)

Co-authored-by: Abhishek Reddy <[email protected]>
opensearch-trigger-bot bot pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)
opensearch-trigger-bot bot pushed a commit that referenced this issue Aug 9, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)
kavilla pushed a commit that referenced this issue Aug 23, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)

Co-authored-by: Abhishek Reddy <[email protected]>
kavilla pushed a commit that referenced this issue Aug 23, 2022
Issue:
#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)

Co-authored-by: Abhishek Reddy <[email protected]>
pjfitzgibbons pushed a commit to pjfitzgibbons/OpenSearch-Dashboards that referenced this issue Oct 24, 2022
…ch-project#2107)

Issue:
opensearch-project#1873

This was happening because of a prop useDefaultGroupDomain. This prop was introduced into the elastic charts to allow clustering for the multiple series which will share a common Y domain i.e for example the stacked and non- stacked bars will have the same Y common domain/axis. As per the elastic/charts whenever the useDefaultGroupDomain is set to true, it will force to group the series/visualiations groupId's to a default group domain. But, TSVB is not a shared Y domain. So the prop is unneeded.

Further insight:

From the code:
```
const groupId = hasSeparateAxis || isStackedWithinSeries ? seriesGroup.id : mainAxisGroupId;
```
where
```
const mainAxisGroupId = yAxisIdGenerator('main_group');
```
... which indicates that the global default `groupId` is not used by TSVB. Hence, TSVB should have not been using `useDefaultGroupDomain` ever.

Signed-off-by: AbhishekReddy1127 <[email protected]>
(cherry picked from commit 55181d4)

Co-authored-by: Abhishek Reddy <[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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants