The delete topic function is Kafka has had some issues in the past. I don't think it's critical we expose that through the REST API so I propose we just take it out. Any objections?
On Thu, Mar 16, 2017 at 3:52 PM, cestella <g...@git.apache.org> wrote: > Github user cestella commented on the issue: > > https://github.com/apache/incubator-metron/pull/477 > > I'm kicking travis, but it appears that there are some intermittent > test failures in the REST API tests. In particular around deleting topics > for the KafkaControllerIntegrationTest: > ``` > Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 9.185 > sec <<< FAILURE! - in org.apache.metron.rest.controller. > KafkaControllerIntegrationTest > test(org.apache.metron.rest.controller.KafkaControllerIntegrationTest) > Time elapsed: 9.13 sec <<< ERROR! > org.springframework.web.util.NestedServletException: Request > processing failed; nested exception is kafka.common. > TopicAlreadyMarkedForDeletionException: topic bro is already marked for > deletion > at org.springframework.web.servlet.FrameworkServlet. > processRequest(FrameworkServlet.java:982) > at org.springframework.web.servlet.FrameworkServlet. > doDelete(FrameworkServlet.java:894) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:654) > at org.springframework.web.servlet.FrameworkServlet. > service(FrameworkServlet.java:846) > at org.springframework.test.web.servlet.TestDispatcherServlet. > service(TestDispatcherServlet.java:65) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at org.springframework.mock.web.MockFilterChain$ > ServletFilterProxy.doFilter(MockFilterChain.java:167) > at org.springframework.mock.web.MockFilterChain.doFilter( > MockFilterChain.java:134) > 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:115) > 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:169) > 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:215) > 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.logout. > LogoutFilter.doFilter(LogoutFilter.java:121) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:331) > at org.springframework.security.web.header.HeaderWriterFilter. > doFilterInternal(HeaderWriterFilter.java:66) > 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(SecurityContextPersistenceFilt > er.java:105) > 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.FilterChainProxy. > doFilterInternal(FilterChainProxy.java:214) > at org.springframework.security.web.FilterChainProxy.doFilter( > FilterChainProxy.java:177) > at org.springframework.mock.web.MockFilterChain.doFilter( > MockFilterChain.java:134) > at org.springframework.test.web.servlet.MockMvc.perform( > MockMvc.java:155) > at org.apache.metron.rest.controller. > KafkaControllerIntegrationTest.test(KafkaControllerIntegrationTest > .java:180) > 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:483) > at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( > FrameworkMethod.java:50) > at org.junit.internal.runners.model.ReflectiveCallable.run( > ReflectiveCallable.java:12) > at org.junit.runners.model.FrameworkMethod.invokeExplosively( > FrameworkMethod.java:47) > at org.junit.internal.runners.statements.InvokeMethod. > evaluate(InvokeMethod.java:17) > at org.junit.internal.runners.statements.RunBefores. > evaluate(RunBefores.java:26) > at org.springframework.test.context.junit4.statements. > RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks. > java:75) > at org.junit.internal.runners.statements.RunAfters.evaluate( > RunAfters.java:27) > at org.springframework.test.context.junit4.statements. > RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) > at org.springframework.test.context.junit4.statements. > SpringRepeat.evaluate(SpringRepeat.java:84) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at org.springframework.test.context.junit4. > SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) > at org.springframework.test.context.junit4. > SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren( > ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate( > ParentRunner.java:268) > at org.springframework.test.context.junit4.statements. > RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) > at org.springframework.test.context.junit4.statements. > RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at org.springframework.test.context.junit4. > SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) > at org.apache.maven.surefire.junit4.JUnit4Provider.execute( > JUnit4Provider.java:283) > at org.apache.maven.surefire.junit4.JUnit4Provider. > executeWithRerun(JUnit4Provider.java:173) > at org.apache.maven.surefire.junit4.JUnit4Provider. > executeTestSet(JUnit4Provider.java:153) > at org.apache.maven.surefire.junit4.JUnit4Provider.invoke( > JUnit4Provider.java:128) > at org.apache.maven.surefire.booter.ForkedBooter. > invokeProviderInSameClassLoader(ForkedBooter.java:203) > at org.apache.maven.surefire.booter.ForkedBooter. > runSuitesInProcess(ForkedBooter.java:155) > at org.apache.maven.surefire.booter.ForkedBooter.main( > ForkedBooter.java:103) > Caused by: kafka.common.TopicAlreadyMarkedForDeletionException: topic > bro is already marked for deletion > at kafka.admin.AdminUtils$.deleteTopic(AdminUtils.scala:315) > at org.apache.metron.rest.service.impl.KafkaServiceImpl. > deleteTopic(KafkaServiceImpl.java:69) > at org.apache.metron.rest.controller.KafkaController. > delete(KafkaController.java:77) > 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:483) > at org.springframework.web.method.support.InvocableHandlerMethod. > doInvoke(InvocableHandlerMethod.java:221) > at org.springframework.web.method.support.InvocableHandlerMethod. > invokeForRequest(InvocableHandlerMethod.java:136) > at org.springframework.web.servlet.mvc.method.annotation. > ServletInvocableHandlerMethod.invokeAndHandle( > ServletInvocableHandlerMethod.java:114) > 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:963) > at org.springframework.web.servlet.DispatcherServlet. > doService(DispatcherServlet.java:897) > at org.springframework.web.servlet.FrameworkServlet. > processRequest(FrameworkServlet.java:970) > ... 71 more > > ``` > > > --- > If your project is set up for it, you can reply to this email and have your > reply appear on GitHub as well. If your project does not have this feature > enabled and wishes so, or if the feature is enabled but not working, please > contact infrastructure at infrastruct...@apache.org or file a JIRA ticket > with INFRA. > --- >