kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KYLIN-3663) Failed to delete project when project has more than one table
Date Mon, 05 Nov 2018 01:46:00 GMT

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

ASF GitHub Bot commented on KYLIN-3663:
---------------------------------------

woyumen4597 commented on a change in pull request #325: KYLIN-3663 fix deleting project error
when project has more than one …
URL: https://github.com/apache/kylin/pull/325#discussion_r230617173
 
 

 ##########
 File path: server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java
 ##########
 @@ -137,8 +138,10 @@ public ProjectInstance updateProject(ProjectInstance newProject, ProjectInstance
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN)
     public void deleteProject(String projectName, ProjectInstance project) throws IOException
{
         Set<String> tables = project.getTables();
-        for (String table : tables) {
+        for (String table : Sets.newTreeSet(tables)) {
 
 Review comment:
   Since the unloading table operation will modify the set tables,while tables is traversed
at the same time,which will cause concurrentException.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Failed to delete project when project has more than one table
> -------------------------------------------------------------
>
>                 Key: KYLIN-3663
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3663
>             Project: Kylin
>          Issue Type: Bug
>          Components: Metadata
>    Affects Versions: v2.5.0
>         Environment: MacOSX,JDK1.8+
>            Reporter: rongchuan.jin
>            Assignee: rongchuan.jin
>            Priority: Minor
>             Fix For: v2.6.0
>
>
> When I drop a project with more than one table.(When there is only one table,it works
well)
> It comes out an error:
> {code:java}
> org.apache.kylin.rest.exception.InternalErrorException: Failed to delete project. Caused
by: null
>  at org.apache.kylin.rest.controller.ProjectController.deleteProject(ProjectController.java:199)
>  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.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
>  at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
>  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
>  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
>  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
>  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
>  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
>  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>  at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:894)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:656)
>  at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
>  at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
>  at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
>  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
>  at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
>  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.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:318)
>  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)
> Caused by: java.util.ConcurrentModificationException
>  at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442)
>  at java.util.HashMap$KeyIterator.next(HashMap.java:1466)
>  at org.apache.kylin.rest.service.ProjectService.deleteProject(ProjectService.java:140)
>  at org.apache.kylin.rest.service.ProjectService$$FastClassBySpringCGLIB$$8ee134e.invoke(<generated>)
>  at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>  at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
>  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
>  at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
>  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
>  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
>  at org.apache.kylin.rest.service.ProjectService$$EnhancerBySpringCGLIB$$40349acf.deleteProject(<generated>)
>  at org.apache.kylin.rest.controller.ProjectController.deleteProject(ProjectController.java:196)
>  ... 72 more{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message