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

Timelion is not setting data-render-complete to true #22561

Closed
LeeDr opened this issue Aug 30, 2018 · 6 comments
Closed

Timelion is not setting data-render-complete to true #22561

LeeDr opened this issue Aug 30, 2018 · 6 comments
Labels
bug Fixes for quality problems that affect the customer experience (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead failed-test A test failure on a tracked branch, potentially flaky-test skipped-test Team:Visualizations Visualization editors, elastic-charts and infrastructure test

Comments

@LeeDr
Copy link
Contributor

LeeDr commented Aug 30, 2018

Kibana version: master

Elasticsearch version: master

Server OS version: Jenkins jobs

Browser version: Chrome

Browser OS version: Linux Jenkins worker

Original install method (e.g. download page, yum, from source, etc.): dev build

Describe the bug: As noted in this dashboard failing test issue #22408 the results show that on that dashboard with 17 visualizations they all set data-render-complete="true" except Timelion on at least 2 recent failures that I looked at.

@LeeDr LeeDr added bug Fixes for quality problems that affect the customer experience test Feature:Visualizations Generic visualization features (in case no more specific feature label is available) flaky-failing-test labels Aug 30, 2018
@stacey-gammon stacey-gammon added :Sharing (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead labels Sep 4, 2018
@LeeDr
Copy link
Contributor Author

LeeDr commented Sep 5, 2018

@elastic/kibana-visualizations Has anyone had a chance to take a look at this? We still have some dashboard tests relying on waiting for rendering complete and this makes those tests flaky.

@timroes
Copy link
Contributor

timroes commented Sep 6, 2018

Hey I looked into the code quickly. Can't reproduce this and there is nothing in the code that looks suspicious to me, why this would not be set correctly. For reference, the timelion visualization should set it's render complete via this file: https://github.com/elastic/kibana/blob/master/src/core_plugins/timelion/public/vis/timelion_vis_controller.js#L25

I have no idea why this would potentially fail.

@markov00
Copy link
Member

markov00 commented Sep 6, 2018

hey @LeeDr I was able to reproduce it directly and also found another flakyness.
To reproduce:

  • configure the test_runner to test only the _dashboard_filtering.jsfile
  • run the test runner and wait until the test has added all the 17 visualizations.
  • copy the url link
  • close the test runner
  • open the URL on chrome
    you will see that you will get all the 17 visualisations but the timeline one has the data-rendering-complete to false (and it's seems to be there and rendered.

screen shot 2018-09-06 at 11 08 42

The other flakyness was discovered using the trick of slow 3g: you can get a more interesting tests results where you can have only 6 visualization added to the dashboard out of 17...

One useful thing is to include, when reporting a flaky test, the current URL and the snapshots (png and html) of the page (better if them can be saved somewhere) because our CI remove the build logs after few days and it's always useful to have a look at the full log or at least at the snapshot of the page, just to understand what was really rendered there.

@stacey-gammon
Copy link
Contributor

@markov00 - what is this slow 3g trick? You'll have to show me, sounds very interesting. I was also able to repro (didn't realize you were also looking into this!) by increasing the debounce timeout in visualization_chart.tsx, then resizing the browser window.

For some reason it gets hit much more often in ci. This was the output:

               │      http://localhost:5620/bundles/kibana.bundle.js 111063:24 "VisualizationChart: this.renderSubject.next"
               │      http://localhost:5620/bundles/kibana.bundle.js 110959:28 "VisualizationChart: dispatchRenderStart"
               │      http://localhost:5620/bundles/commons.bundle.js 22639:24 "RenderCompleteHelper: Filter Bytes Test: timelion split 5 on bytes: data-render-complete: false"
               │      http://localhost:5620/bundles/commons.bundle.js 34696:20 "Timelion Schema: Emitting timelionChartRendered"
               │      http://localhost:5620/bundles/commons.bundle.js 81899:12 "TimelionVisController: Calling scope.renderComplete"
               │      http://localhost:5620/bundles/kibana.bundle.js 110986:40 "VisualizationChart: Calling this.visualization.render"
               │      http://localhost:5620/bundles/commons.bundle.js 72306:16 "AngularVisController: render (Filter Bytes Test: timelion split 5 on bytes)"
               │      http://localhost:5620/bundles/commons.bundle.js 72309:20 "AngularVisController.updateScope: (Filter Bytes Test: timelion split 5 on bytes)"
               │

I'm not sure what the right fix is though...

@markov00
Copy link
Member

markov00 commented Sep 7, 2018

@stacey-gammon slow-3g trick is:

  • run your functional test runner
  • when chrome appear, open the dev tools with your keyboard shortcut
  • go to "network" tab
  • go to the last dropdown option on the right that says "online" and change it to 'Slow 3g". (to see this option I always have to first to "undock" the dev tools to a separate window and resize the dev tools)

This will slow down the network so you will get some more slower responses from ES

@timroes timroes added Team:Visualizations Visualization editors, elastic-charts and infrastructure and removed Team:Visualizations Visualization editors, elastic-charts and infrastructure :Sharing Feature:Visualizations Generic visualization features (in case no more specific feature label is available) labels Sep 13, 2018
@liza-mae liza-mae added failed-test A test failure on a tracked branch, potentially flaky-test and removed failed-test A test failure on a tracked branch, potentially flaky-test flaky-failing-test labels Nov 1, 2018
@stacey-gammon
Copy link
Contributor

The tests specifically avoid testing this in TSVB because of this bug, hence the skipped-test label, you just won't be able to find it by search for .skip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead failed-test A test failure on a tracked branch, potentially flaky-test skipped-test Team:Visualizations Visualization editors, elastic-charts and infrastructure test
Projects
None yet
Development

No branches or pull requests

5 participants