[ https://issues.apache.org/jira/browse/KYLIN-3947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
nichunen closed KYLIN-3947. --------------------------- Resolution: Fixed > TS conflict when kylin update metadata in JDBC (MySQL) > ------------------------------------------------------ > > Key: KYLIN-3947 > URL: https://issues.apache.org/jira/browse/KYLIN-3947 > Project: Kylin > Issue Type: Bug > Components: Security > Affects Versions: v2.6.1 > Reporter: Iñigo Martinez > Assignee: Yaqian Zhang > Priority: Major > Fix For: Backlog > > > Unable to login in Kylin with admin user. Kylin cluster is composed by two > nodes, one QUERY node and one ALL node. Our backend for metadata is MySQL > (not HBASE). Kylin version: 2.6.1 > Solved with same workaround applied in related bug. > {code:java} > $KYLIN_HOME/bin/metastore.sh remove /user/admin > {code} > > Tomcat exception follows: > {code:java} > Apr 10, 2019 7:30:29 AM org.apache.catalina.core.StandardWrapperValve invoke > SEVERE: Servlet.service() for servlet [kylin] in context with path [/kylin] > threw exception > org.apache.kylin.common.persistence.WriteConflictException: Overwriting > conflict /user/ADMIN, expect old TS 0, but it is 1554879164739 > at > org.apache.kylin.common.persistence.JDBCResourceStore$5.execute(JDBCResourceStore.java:482) > at > org.apache.kylin.common.persistence.JDBCResourceStore.executeSql(JDBCResourceStore.java:100) > at > org.apache.kylin.common.persistence.JDBCResourceStore.checkAndPutResourceInternal(JDBCResourceStore.java:439) > at > org.apache.kylin.common.persistence.JDBCResourceStore.checkAndPutResourceImpl(JDBCResourceStore.java:427) > at > org.apache.kylin.common.persistence.ResourceStore$6.call(ResourceStore.java:442) > at > org.apache.kylin.common.persistence.ResourceStore$6.call(ResourceStore.java:439) > at > org.apache.kylin.common.persistence.ExponentialBackoffRetry.doWithRetry(ExponentialBackoffRetry.java:52) > at > org.apache.kylin.common.persistence.ResourceStore.checkAndPutResourceWithRetry(ResourceStore.java:439) > at > org.apache.kylin.common.persistence.ResourceStore.checkAndPutResourceCheckpoint(ResourceStore.java:427) > at > org.apache.kylin.common.persistence.ResourceStore.checkAndPutResource(ResourceStore.java:421) > at > org.apache.kylin.common.persistence.ResourceStore.checkAndPutResource(ResourceStore.java:401) > at > org.apache.kylin.common.persistence.ResourceStore.checkAndPutResource(ResourceStore.java:380) > at > org.apache.kylin.metadata.cachesync.CachedCrudAssist.save(CachedCrudAssist.java:192) > at > org.apache.kylin.rest.security.KylinUserManager.update(KylinUserManager.java:124) > at > org.apache.kylin.rest.service.KylinUserService.updateUser(KylinUserService.java:86) > at > org.apache.kylin.rest.service.KylinUserService.createUser(KylinUserService.java:78) > at > org.apache.kylin.rest.security.KylinAuthenticationProvider.authenticate(KylinAuthenticationProvider.java:116) > at > org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174) > at > org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199) > at > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:180) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209) > at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) > at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:748) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)