You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Sonu Kumar Singh (Jira)" <ji...@apache.org> on 2020/10/22 11:52:00 UTC

[jira] [Commented] (KYLIN-3947) TS conflict when kylin update metadata in JDBC (MySQL)

    [ https://issues.apache.org/jira/browse/KYLIN-3947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218960#comment-17218960 ] 

Sonu Kumar Singh commented on KYLIN-3947:
-----------------------------------------

Hi, I am facing issue very frequently. As per KYLIN-2562 PR, the fix code changes are available on Kylin 3.0.2. But still, I am facing the same issue. We are running 2 Kylin instance one with query mode and another as All mode.

> 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)