[ 
https://issues.apache.org/jira/browse/SUBMARINE-1128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Su resolved SUBMARINE-1128.
---------------------------------
    Fix Version/s: 0.7.0
       Resolution: Fixed

Issue resolved by pull request 826
[https://github.com/apache/submarine/pull/826]

> Submarine server can not connect to database
> --------------------------------------------
>
>                 Key: SUBMARINE-1128
>                 URL: https://issues.apache.org/jira/browse/SUBMARINE-1128
>             Project: Apache Submarine
>          Issue Type: Bug
>          Components: Backend Server
>            Reporter: cdmikechen
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.7.0
>
>
> I run submarine server in my computer and start a mysql with command *docker 
> run -it -p 3306:3306 -d --name submarine-database -e 
> MYSQL_ROOT_PASSWORD=password apache/submarine:database-0.7.0-SNAPSHOT
> *. 
> when I start server and login, the server report error:
> {code}
> ### Error querying database.  Cause: java.sql.SQLException: The connection 
> property 'allowMultiQueries' only accepts values of the form: 'true', 
> 'false', 'yes' or 'no'. The value 'truefailOverReadOnly=false' is not in this 
> set.
> ### The error may exist in 
> org/apache/submarine/database/mappers/SysUserMapper.xml
> ### The error may involve 
> org.apache.submarine.server.workbench.database.mappers.SysUserMapper.login
> ### The error occurred while executing a query
> ### Cause: java.sql.SQLException: The connection property 'allowMultiQueries' 
> only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 
> 'truefailOverReadOnly=false' is not in this set.
> org.apache.ibatis.exceptions.PersistenceException: 
> ### Error querying database.  Cause: java.sql.SQLException: The connection 
> property 'allowMultiQueries' only accepts values of the form: 'true', 
> 'false', 'yes' or 'no'. The value 'truefailOverReadOnly=false' is not in this 
> set.
> ### The error may exist in 
> org/apache/submarine/database/mappers/SysUserMapper.xml
> ### The error may involve 
> org.apache.submarine.server.workbench.database.mappers.SysUserMapper.login
> ### The error occurred while executing a query
> ### Cause: java.sql.SQLException: The connection property 'allowMultiQueries' 
> only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 
> 'truefailOverReadOnly=false' is not in this set.
>       at 
> org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
>       at 
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)
>       at 
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)
>       at 
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)
>       at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:68)
>       at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
>       at com.sun.proxy.$Proxy49.login(Unknown Source)
>       at 
> org.apache.submarine.server.workbench.rest.LoginRestApi.login(LoginRestApi.java:61)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
>       at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
>       at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
>       at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
>       at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
>       at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
>       at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
>       at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
>       at 
> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
>       at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
>       at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
>       at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
>       at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
>       at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
>       at 
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
>       at 
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
>       at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
>       at 
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at org.eclipse.jetty.server.Server.handle(Server.java:516)
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>       at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.sql.SQLException: The connection property 'allowMultiQueries' 
> only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 
> 'truefailOverReadOnly=false' is not in this set.
>       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
>       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
>       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
>       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
>       at 
> com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.validateStringValues(ConnectionPropertiesImpl.java:314)
>       at 
> com.mysql.jdbc.ConnectionPropertiesImpl$BooleanConnectionProperty.initializeFrom(ConnectionPropertiesImpl.java:91)
>       at 
> com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom(ConnectionPropertiesImpl.java:216)
>       at 
> com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2503)
>       at 
> com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3153)
>       at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774)
>       at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
>       at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
>       at 
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
>       at java.sql.DriverManager.getConnection(DriverManager.java:664)
>       at java.sql.DriverManager.getConnection(DriverManager.java:208)
>       at 
> org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:195)
>       at 
> org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:190)
>       at 
> org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:92)
>       at 
> org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:375)
>       at 
> org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:84)
>       at 
> org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:134)
>       at 
> org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61)
>       at 
> org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:279)
>       at 
> org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:72)
>       at 
> org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:59)
>       at 
> org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
>       at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)
>       at 
> org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)
>       at 
> com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:108)
>       at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:60)
>       at com.sun.proxy.$Proxy48.query(Unknown Source)
>       at 
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)
>       ... 60 more
> {code}
> I've found that a recently submitted PR has modified the database link url.
> [SUBMARINE-1052. Create submarine model management service in 
> server|https://github.com/apache/submarine/commit/9ba44b975d3971664c9bd3daa9945d845a335251]
> I think maybe we need to check this url and check whether the parameters are 
> valid



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@submarine.apache.org
For additional commands, e-mail: dev-h...@submarine.apache.org

Reply via email to