Bug 1441857 - DashboardDataException in engine log after dashboard fails to load on environment without dwh
Summary: DashboardDataException in engine log after dashboard fails to load on environ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Frontend.Core
Version: future
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ovirt-4.1.2
: 4.1.2
Assignee: Scott Dickerson
QA Contact: Lucie Leistnerova
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-04-12 22:24 UTC by Raz Tamir
Modified: 2017-05-23 08:15 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-05-23 08:15:54 UTC
oVirt Team: UX
Embargoed:
rule-engine: ovirt-4.1+


Attachments (Terms of Use)
engine and vdsm logs (114.15 KB, application/x-gzip)
2017-04-12 22:24 UTC, Raz Tamir
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 68664 0 master MERGED webadmin: disable dashboard data if DWH isn't available 2020-09-07 00:38:22 UTC
oVirt gerrit 75652 0 ovirt-engine-4.1 MERGED webadmin: disable dashboard data if DWH isn't available 2020-09-07 00:38:23 UTC

Description Raz Tamir 2017-04-12 22:24:45 UTC
Created attachment 1271286 [details]
engine and vdsm logs

Description of problem:
When the dashboard loads a DashboardDataException appears in engine.log:

2017-04-12 23:40:02,934+03 ERROR [org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.CacheUpdate.Utilization] (EE-ManagedThreadFactory-default-Thread-5) [] Could not update the Utilization Cache: Error while running SQL query: org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataException: Error while running SQL query



Version-Release number of selected component (if applicable):
oVirt Engine Version: 4.2.0-0.0.master.20170408115943.gitea6bd62.el7.centos

How reproducible:


Steps to Reproduce:
1. Press the dashboard button in environment without dwh installed
2.
3.

Actual results:
2017-04-12 23:40:02,934+03 ERROR [org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.CacheUpdate.Utilization] (EE-ManagedThreadFactory-default-Thread-5) [] Could not update the Utilization Cache: Error while running SQL query: org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataException: Error while running SQL query
	at org.ovirt.engine.ui.frontend.server.dashboard.dao.BaseDao.runQuery(BaseDao.java:60) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.dao.HostDwhDao.getTotalCpuMemCount(HostDwhDao.java:78) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.HourlySummaryHelper.getTotalCpuMemCount(HourlySummaryHelper.java:43) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.HourlySummaryHelper.getCpuMemSummary(HourlySummaryHelper.java:21) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.lookupGlobalUtilization(DashboardDataServlet.java:294) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.getDashboard(DashboardDataServlet.java:268) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.populateUtilizationCache(DashboardDataServlet.java:231) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet.access$000(DashboardDataServlet.java:26) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet$1.run(DashboardDataServlet.java:106) [frontend.jar:]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_121]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [rt.jar:1.8.0_121]
	at org.glassfish.enterprise.concurrent.internal.ManagedScheduledThreadPoolExecutor$ManagedScheduledFutureTask.access$201(ManagedScheduledThreadPoolExecutor.java:383) [javax.enterprise.concurrent-1.0.jar:]
	at org.glassfish.enterprise.concurrent.internal.ManagedScheduledThreadPoolExecutor$ManagedScheduledFutureTask.run(ManagedScheduledThreadPoolExecutor.java:534) [javax.enterprise.concurrent-1.0.jar:]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
	at org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250) [javax.enterprise.concurrent-1.0.jar:]
Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/DWHDataSource
	at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:146)
	at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
	at org.ovirt.engine.ui.frontend.server.dashboard.dao.BaseDao.runQuery(BaseDao.java:53) [frontend.jar:]
	... 16 more
Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/DWHDataSource
	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:656)
	at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:429)
	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:747)
	at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
	... 18 more
Caused by: javax.resource.ResourceException: IJ031084: Unable to create connection
	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:345)
	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:352)
	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:287)
	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConnectionEventListener(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1320)
	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:496)
	at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:617)
	at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:589)
	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:590)
	... 21 more
Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "engine_history"
	at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398)
	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
	at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136)
	at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
	at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
	at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
	at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
	at org.postgresql.Driver.makeConnection(Driver.java:393)
	at org.postgresql.Driver.connect(Driver.java:267)
	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:321)
	... 28 more

2017-04-12 23:41:30,917+03 ERROR [org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataServlet] (default task-13) [] Unable to retrieve dashboard data: org.ovirt.engine.ui.frontend.server.dashboard.DashboardDataException: Error while running SQL query


Expected results:
No exceptions in engine.log

Additional info:

Comment 2 Scott Dickerson 2017-04-17 15:06:27 UTC
I have a solution for this problem already sorted out.  Took awhile to get it right.  Greg already attached the patch.  This only happens in an ovirt-engine install that does not have the datawarehouse setup.  Typically that is only for engine developers.

Until the patch gets merged and backported, there is a temporary solution.  Add a conf file to your install to manually disable the dashboard data.  Add file "$DEV_OVIRT_PREFIX/etc/ovirt-engine/engine.conf.d/99-no-dashboard.conf" with the contents:

     #
     # Disable the dashboard DB query cache
     #
     DASHBOARD_CACHE_UPDATE=false

Comment 3 Lucie Leistnerova 2017-05-04 11:20:19 UTC
no dashboard error in log

verified in ovirt-engine-4.1.2-0.1.el7.noarch


Note You need to log in before you can comment on or make changes to this bug.