datahub-project / datahub

The Metadata Platform for your Data Stack
https://datahubproject.io
Apache License 2.0
9.74k stars 2.87k forks source link

SQL exception on the latest build. #333

Closed ragubal closed 4 years ago

ragubal commented 7 years ago

I build using the master. On browing the play is throwing bunch of SQL exception and page is not getting displayed properly.

! @736icn5ag - Internal server error, for (GET) [/api/v1/list/datasets?urn=teradata:///financial/] ->

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT distinct SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1) as name, concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) as urn, s.id FROM dict_dataset d LEFT JOIN dict_dataset s ON s.urn = concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) WHERE d.urn LIKE ? ORDER BY d.urn]; SQL state [HY000]; error code [3065]; Unknown error 3065; nested exception is java.sql.SQLException: Unknown error 3065]] at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.GlobalSettings$class.onError(GlobalSettings.scala:179) [play_2.10-2.4.8.jar:2.4.8] at play.api.DefaultGlobal$.onError(GlobalSettings.scala:212) [play_2.10-2.4.8.jar:2.4.8] at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:94) [play_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:162) [play-netty-server_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:159) [play-netty-server_2.10-2.4.8.jar:2.4.8] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [scala-library.jar:na] at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:185) [scala-library.jar:na] at scala.util.Try$.apply(Try.scala:161) [scala-library.jar:na] at scala.util.Failure.recover(Try.scala:185) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) [scala-library.jar:na] at play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) [play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) [play-iteratees_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) [scala-library.jar:na] at scala.concurrent.Promise$class.complete(Promise.scala:55) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) [scala-library.jar:na] at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [akka-actor_2.10-2.3.13.jar:na] at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [akka-actor_2.10-2.3.13.jar:na] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library.jar:na]

syknar commented 7 years ago

I'm seeing similar SQL exceptions trying to browse a HIVE dataset that was recently crawled:

[info] - play.api.Play - Application started (Dev) [error] - application - com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input at [Source: java.io.FileInputStream@5ee528d; line: 1, column: 1] [error] - com.jolbox.bonecp.ConnectionHandle - Database access problem. Killing off this connection and all remaining connections in the connection pool. SQL State = HY000 [error] - application -

! @739d5gaad - Internal server error, for (GET) [/api/v1/list/datasets?urn=hive:///] ->

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT distinct SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1) as name, concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) as urn, s.id FROM dict_dataset d LEFT JOIN dict_dataset s ON s.urn = concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) WHERE d.urn LIKE ? ORDER BY d.urn]; SQL state [HY000]; error code [3065]; Expression #1 of ORDER BY clause is not in SELECT list, references column 'wherehows.d.urn' which is not in SELECT list; this is incompatible with DISTINCT; nested exception is java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'wherehows.d.urn' which is not in SELECT list; this is incompatible with DISTINCT]] at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.GlobalSettings$class.onError(GlobalSettings.scala:179) [play_2.10-2.4.8.jar:2.4.8] at play.api.DefaultGlobal$.onError(GlobalSettings.scala:212) [play_2.10-2.4.8.jar:2.4.8] at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:94) [play_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:162) [play-netty-server_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:159) [play-netty-server_2.10-2.4.8.jar:2.4.8] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [scala-library.jar:na] at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:185) [scala-library.jar:na] at scala.util.Try$.apply(Try.scala:161) [scala-library.jar:na] at scala.util.Failure.recover(Try.scala:185) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) [scala-library.jar:na] at play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) [play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) [play-iteratees_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) [scala-library.jar:na] at scala.concurrent.Promise$class.complete(Promise.scala:55) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) [scala-library.jar:na] at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [akka-actor_2.10-2.3.13.jar:na] at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [akka-actor_2.10-2.3.13.jar:na] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library.jar:na] Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT distinct SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1) as name, concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) as urn, s.id FROM dict_dataset d LEFT JOIN dict_dataset s ON s.urn = concat(?, SUBSTRING_INDEX(SUBSTRING_INDEX(d.urn, ?, -1), '/', 1)) WHERE d.urn LIKE ? ORDER BY d.urn]; SQL state [HY000]; error code [3065]; Expression #1 of ORDER BY clause is not in SELECT list, references column 'wherehows.d.urn' which is not in SELECT list; this is incompatible with DISTINCT; nested exception is java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'wherehows.d.urn' which is not in SELECT list; this is incompatible with DISTINCT at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:737) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:787) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:892) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at dao.DatasetsDAO.getDatasetListViewNodes(DatasetsDAO.java:1978) ~[classes/:na] at controllers.api.v1.Dataset.getDatasetListNodes(Dataset.java:799) ~[classes/:na] at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$21$$anonfun$apply$21.apply(Routes.scala:1812) ~[classes/:na] at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$21$$anonfun$apply$21.apply(Routes.scala:1812) ~[classes/:na] at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:136) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:127) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:70) ~[play_2.10-2.4.8.jar:2.4.8] at play.http.DefaultHttpRequestHandler$1.call(DefaultHttpRequestHandler.java:20) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na] at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70) [play-iteratees_2.10-2.4.8.jar:2.4.8] at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) ~[play_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$.apply(Future.scala:31) ~[scala-library.jar:na] at scala.concurrent.Future$.apply(Future.scala:485) ~[scala-library.jar:na] at play.core.j.JavaAction.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.10-2.4.8.jar:2.4.8] at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103) ~[play_2.10-2.4.8.jar:2.4.8] at scala.Option.map(Option.scala:145) ~[scala-library.jar:na] at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:536) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:536) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na] ... 6 common frames omitted Caused by: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'wherehows.d.urn' which is not in SELECT list; this is incompatible with DISTINCT at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2677) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.jolbox.bonecp.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:174) ~[bonecp-0.8.0.RELEASE.jar:na] at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:703) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] ... 45 common frames omitted [error] - application -

! @739d5h173 - Internal server error, for (GET) [/api/v1/lineage/dataset/1?upLevel=1&downLevel=1] ->

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT ca.app_id, ca.app_code as cluster, jedl.job_name, fj.job_path, fj.job_type, jedl.flow_path, jedl.storage_type, jedl.source_target_type, jedl.operation, jedl.source_srl_no, jedl.srl_no, max(jedl.job_exec_id) as job_exec_id FROM job_execution_data_lineage jedl JOIN cfg_application ca on ca.app_id = jedl.app_id LEFT JOIN job_execution je on jedl.app_id = je.app_id and jedl.flow_exec_id = je.flow_exec_id and jedl.job_exec_id = je.job_exec_id LEFT JOIN flow_job fj on je.app_id = fj.app_id and je.flow_id = fj.flow_id and je.job_id = fj.job_id WHERE abstracted_object_name in ( ? ) and jedl.flow_path not REGEXP '^(rent-metrics:|tracking-investigation:)' and FROM_UNIXTIME(job_finished_unixtime) > CURRENT_DATE - INTERVAL (?) DAY GROUP BY ca.app_id, cluster, jedl.job_name, jedl.flow_path, jedl.source_target_type, jedl.storage_type, jedl.operation ORDER BY jedl.source_target_type DESC, jedl.job_finished_unixtime]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wherehows.fj.job_path' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]] at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.GlobalSettings$class.onError(GlobalSettings.scala:179) [play_2.10-2.4.8.jar:2.4.8] at play.api.DefaultGlobal$.onError(GlobalSettings.scala:212) [play_2.10-2.4.8.jar:2.4.8] at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:94) [play_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:162) [play-netty-server_2.10-2.4.8.jar:2.4.8] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:159) [play-netty-server_2.10-2.4.8.jar:2.4.8] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [scala-library.jar:na] at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:185) [scala-library.jar:na] at scala.util.Try$.apply(Try.scala:161) [scala-library.jar:na] at scala.util.Failure.recover(Try.scala:185) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) [scala-library.jar:na] at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) [scala-library.jar:na] at play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) [play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) [play-iteratees_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) [scala-library.jar:na] at scala.concurrent.Promise$class.complete(Promise.scala:55) [scala-library.jar:na] at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) [scala-library.jar:na] at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [akka-actor_2.10-2.3.13.jar:na] at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [akka-actor_2.10-2.3.13.jar:na] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library.jar:na] at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library.jar:na] Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT ca.app_id, ca.app_code as cluster, jedl.job_name, fj.job_path, fj.job_type, jedl.flow_path, jedl.storage_type, jedl.source_target_type, jedl.operation, jedl.source_srl_no, jedl.srl_no, max(jedl.job_exec_id) as job_exec_id FROM job_execution_data_lineage jedl JOIN cfg_application ca on ca.app_id = jedl.app_id LEFT JOIN job_execution je on jedl.app_id = je.app_id and jedl.flow_exec_id = je.flow_exec_id and jedl.job_exec_id = je.job_exec_id LEFT JOIN flow_job fj on je.app_id = fj.app_id and je.flow_id = fj.flow_id and je.job_id = fj.job_id WHERE abstracted_object_name in ( ? ) and jedl.flow_path not REGEXP '^(rent-metrics:|tracking-investigation:)' and FROM_UNIXTIME(job_finished_unixtime) > CURRENT_DATE - INTERVAL (?) DAY GROUP BY ca.app_id, cluster, jedl.job_name, jedl.flow_path, jedl.source_target_type, jedl.storage_type, jedl.operation ORDER BY jedl.source_target_type DESC, jedl.job_finished_unixtime]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wherehows.fj.job_path' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:91) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:722) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:772) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:192) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForList(NamedParameterJdbcTemplate.java:290) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at dao.LineageDAO.getNodes(LineageDAO.java:564) ~[classes/:na] at dao.LineageDAO.getObjectAdjacentNode(LineageDAO.java:762) ~[classes/:na] at dao.LineageDAO.getObjectAdjacnet(LineageDAO.java:163) ~[classes/:na] at controllers.api.v1.Lineage.getDatasetLineageGraphData(Lineage.java:112) ~[classes/:na] at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$86$$anonfun$apply$86.apply(Routes.scala:2202) ~[classes/:na] at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$86$$anonfun$apply$86.apply(Routes.scala:2202) ~[classes/:na] at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:136) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:127) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:70) ~[play_2.10-2.4.8.jar:2.4.8] at play.http.DefaultHttpRequestHandler$1.call(DefaultHttpRequestHandler.java:20) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na] at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70) [play-iteratees_2.10-2.4.8.jar:2.4.8] at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) ~[play_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$.apply(Future.scala:31) ~[scala-library.jar:na] at scala.concurrent.Future$.apply(Future.scala:485) ~[scala-library.jar:na] at play.core.j.JavaAction.apply(JavaAction.scala:94) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.10-2.4.8.jar:2.4.8] at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103) ~[play_2.10-2.4.8.jar:2.4.8] at scala.Option.map(Option.scala:145) ~[scala-library.jar:na] at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96) ~[play_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:536) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:536) ~[play-iteratees_2.10-2.4.8.jar:2.4.8] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na] ... 6 common frames omitted Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wherehows.fj.job_path' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_60] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_60] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_60] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_60] at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2677) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.jolbox.bonecp.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:174) ~[bonecp-0.8.0.RELEASE.jar:na] at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:703) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE] ... 47 common frames omitted [error] - application - com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input at [Source: java.io.FileInputStream@10794d14; line: 1, column: 1] [error] - com.jolbox.bonecp.ConnectionHandle - Database access problem. Killing off this connection and all remaining connections in the connection pool. SQL State = HY000 [error] - application -

! @739d5oin7 - Internal server error, for (GET) [/api/v1/list/datasets?urn=hive:///] ->

alyiwang commented 7 years ago

Thank you for bring up this bug! We are currently using MySQL 5.6 which doesn't have such issue. But we are migrating to 5.7 very soon, so this problem should be fixed by then.

I found the cause of this problem to be MySQL 5.7 's additional constraint on Group_by clause https://github.com/Piwigo/Piwigo/issues/376

alyiwang commented 7 years ago

Fixed in #345

ragubal commented 7 years ago

Thanks for fixing the issues. On clicking the tree view on the latest build there is no action. It says "Loading...." and nothing happens beyond it.

alyiwang commented 7 years ago

The tree view needs the tree builder ETL job to be properly setup. The job will build a Json tree of the datasets for the browser to load.

However, this approach has certain limitations in that the builder only runs periodically (every few hours), so the browsed dataset list may not be up-to-date. In the near future we are deprecating this view in favor of the browser view, which is real time query.

Also we have UI revamp undergoing, which will vastly improve the search experience, and put more focus on search than browsing.

ragubal commented 7 years ago

Thanks Alan. We are looking forward for revamp.

keremsahin1 commented 4 years ago

Dear issue owner,

Thanks for your interest in WhereHows. We have recently announced DataHub which is the rebranding of WhereHows. LinkedIn improved the architecture of WhereHows and rebranded WhereHows into DataHub and replaced its metadata infrastructure in this direction. DataHub is a more advanced and improved metadata management product compared to WhereHows.

Unfortunately, we have to stop supporting WhereHows to better focus on DataHub and offer more help to DataHub users. Therefore, we will drop all issues related to WhereHows and will not accept any contribution for it. Active development for DataHub has already started on datahub branch and will continue to live in there until it's finally merged to master and project is renamed to DataHub.

Please check the datahub branch to get familar with DataHub.

Best, DataHub team