elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.8k stars 8.19k forks source link

Filters not showing up sometimes #14319

Closed stacey-gammon closed 7 years ago

stacey-gammon commented 7 years ago

I noticed this on @jimgoodwin's github dashboard, on cloud using 6.0.0-rc-1.

There is an issue with filters not showing up in the filter bar.

To repro, just create a pinned filter on Discover, then navigate to Visualize. The pinned filter is still taking affect, but it's not showing up. FWIW, I don't think the issue is exclusively with pinned filters as I also noticed it on a dashboard.

screen shot 2017-10-04 at 7 38 07 pm screen shot 2017-10-04 at 7 38 16 pm

cc @elastic/kibana-discovery

Bargs commented 7 years ago

@Stacey-Gammon any error in the console? I cannot reproduce following your steps. The only time I've seen "invisible" filters occur is when the meta.index property of the filter is incorrect, but that shouldn't be happening here.

stacey-gammon commented 7 years ago

I can reproduce really easily on https://2d39a95a5bf400764a8fba71d096b5f3.us-central1.gcp.cloud.es.io:9243

Once I get into the state the only way I can get rid of the invisible filters is to log out and log back in.

invisiblefilters

Have not tried to reproduce anywhere else. Possible it's an imported dashboard error? Or a cloud issue?

Bargs commented 7 years ago

I see what's happening on dashboards at least. It's the same root issue as https://github.com/elastic/kibana/issues/13905. The query in the query bar on dashboard used to be inserted into the filters array in the searchsource. Somehow this query object is also getting into the filters array in app state. This query object has no meta property, so it throws an error when we try to access it in other code. I think this will only be an issue with dashboards created pre 6.0. In 6.0+ we no longer shove the query into the filters array in searchsource. However, I don't understand how the query is getting into the filters array in app state in the first place. It should get removed when the initial app state is created here.

That's for dashboard. I still don't know what's happening on Visualize (the second screenshot in your first post). Can you link me to a specific visualization where this is happening?

Bargs commented 7 years ago

Oh I see now, when we changed the default query for an empty query bar from query_string: query: * to match_all, this condition became outdated.

When did this dashboard get created? I think this issue will only arise in 6.0+ with a dashboard created in 5.5 or 5.6 (when this pr went in). I'm actually surprised this hasn't caused troubles in 5.5 or 5.6 as well...

Bargs commented 7 years ago

Ah here we go, it's not an issue in 5.x because this PR specifically updated that condition in 5.x. I think we just need to make the same update in master and 6.x.

Bargs commented 7 years ago

@Stacey-Gammon submitted a PR to fix this on dashboards https://github.com/elastic/kibana/pull/14338.

Let me know if this is also an issue on Discover or Visualize, if so it's probably a completely different root cause.

stacey-gammon commented 7 years ago

Awesome thanks @Bargs! I can no longer repro with Discover and visualize. I wonder if my filter bar was already in a bad state from dashboard and that had something to do with it. Will let you know if I run into that again.

BellBiker commented 6 years ago

Hello, I just update from Kibana 4.3.1 to Kibana 5.6.3 during my update to ElasticStack 5.6.3. I realized the same issue that setting a filter on the discover page either by clicking on a + for an attribute / column or editing / saving a filter is not shown but does the job. This is really very unconformtable that you are never aware whether a filter is set or not. The same can be observed if I add a filter to a visualization or a dashboard and pin this filter. On the visualization and the dashboard the filters are shown as before. Kind regards

Additional remark: I am missing the colouring of a filter which shows in green or brown whether he is a + or a - filter.

BellBiker commented 6 years ago

Hello again, it is really a mistery. Now the filter also on the discover page is shown after some restarts of kibana with the goal to increase the verbosity. The only additional remark I can give is that the load of elasticsearch itsself is declined to a normal level. And in addition I realize that kibana uses a new colour for the + filter. It is not longer green. The - filter is as it was before brown. So from my point of view everything is solved for the moment. Sorry for the unconvenience