this.uiSettings is undefined

After updating to a recent release of ELK and importing my old discover pane and visualizations, besides one using Timelion, all fail to display showing only the error...
"this.uiSettings is undefined"?

Hi @Kenneth_M_Kolano. We need a little more information. Which release did you update from and which release did you update to?

Formerly working version is 7.8.0, broken updated version 7.9.2.

Thanks @Kenneth_M_Kolano. How are you importing your old visualizations into the new release? Usually, the upgrade process automatically migrates your visualizations and dashboards.

This is against a fresh install, with the indexes / dashboards imported. The install config process shown below...

echo -e "\nAwait Kibana startup"
if curl -s -S --retry 10 --retry-connrefused -f http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings; then
	echo -e "\n\nSet Kibana index patterns"
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/saved_objects/index-pattern/eve-* -H 'Content-Type: application/json' -H 'kbn-xsrf: anything' -d @./Installation/kibana/default_index_pattern.json
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/saved_objects/index-pattern/file-analysis -H 'Content-Type: application/json' -H 'kbn-xsrf: anything' -d @./Installation/kibana/YYY_index_pattern.json
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/saved_objects/index-pattern/device-details -H 'Content-Type: application/json' -H 'kbn-xsrf: anything' -d @./Installation/kibana/ZZZ_index_pattern.json

	echo -e "\n\nSet Kibana date format"
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/dateFormat -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": "YY-MM-DD HH:mm:ss.SSS"}'

	echo -e "\n\nHide the default Time field" #Time related fields will need to be manually added, would be preferable if this could be set per Saved Search, refer: https://github.com/elastic/kibana/pull/23897
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/doc_table:hideTimeColumn -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value":true}'

	echo -e "\n\nSet Kibana default index pattern"
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/defaultIndex -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": "XXX-*"}'

	echo -e "\n\nSet Kibana Discovery search size"
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/discover:sampleSize -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": "1000"}'

	echo -e "\n\nSet Kibana Timelion max buckets" 	
	#This allows >1d of results on BBB dashboard
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/timelion:max_buckets -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": "10000"}'

	echo -e "\n\nHide Kibana fields found outside of source"
	#Though we only want "_source" here, the 7.3 release results in "child "meta_fields" fails because ["meta_fields" must be an array]" errors if this is set to a singular value, refer: https://github.com/elastic/kibana/issues/43167
	#curl --connect-timeout 15 -s -S -X POST http://localhost:5601/kibana/api/kibana/settings/metaFields -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": ["_source"]}'
	curl --connect-timeout 15 -s -S -X POST http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/settings/metaFields -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"value": ["_source","_id"]}'

	echo -e "\n\nImport Kibana Dashboards"
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/AAA\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/AAA\ Reports\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/BBB\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/CCC\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/DDD\ Events\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/EEE\ Reports\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/EEE\ Dashboard.json
	curl --connect-timeout 15 -s -S -X POST "http://elastic:$elasticsearch_pass@localhost:5601/kibana/api/kibana/dashboards/import?exclude=index-pattern" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d @./Installation/kibana/FFF\ Dashboard.json
else
	echo -e "\nError starting Kibana, unable to configure"
fi

Hi @Kenneth_M_Kolano. I'm not able to recreate the issue. I tried importing a dashboard from 7.8.0 into 7.9.2 but did not get the same errors as you. Probably there is a situation unique to your saved objects that is causing the error. I wonder if you can create a reproducible example? Then we can file a bug report to get it fixed.

So things mysteriously started working tonight. This seems to be related to logging in as the "elastic" admin user, rather than just as an alternate user set up for my application.

Is there now some sort of initialization that occurs on the initial admin user login? How can I automate such to enable an install without further interaction?

Hi @Kenneth_M_Kolano. I'm glad you got it working.

Is there now some sort of initialization that occurs on the initial admin user login? How can I automate such to enable an install without further interaction?

There is a saved object initialization that occurs on login. But it's difficult to see if this is related unless we can find a reproducible bug.

I can easily and repeatably reproduce this, though it will take me some time to pull together a script to allow others to do so, as it requires generating new users and a few additional steps to setup indexes/visualizations.

More or less until the "elastic" user logs in and access a visualization on an index, other users accessing visualizations/saved searches get a "this.uiSettings is undefined" error.

This seems to be resolved with 7.10

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.