[
https://issues.apache.org/jira/browse/NIFI-730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14984153#comment-14984153
]
Aldrin Piri commented on NIFI-730:
----------------------------------
Overall code, contrib and build are all good. Tested both a single instance
and clustered with various configurations on the queue.
The single instance seemed to be fine regardless of configuration. There is
some interesting behavior in terms of statistics where if I proceed to purge a
queue from one view of the UI and have the UI open in another window,
initiating another purge from that other window the second window's request
will not start until the purge in the first UI completes and will not update
any of the stats in that window until that process begins.
I made a local cluster with a manager and two nodes. I create a flow
consisting of a GenerateFlowFile connected to a non-running UpdateAttribute.
The connection between them had a backpressure of 500k flowfiles. I did the
same approach as laid out above with the associated backpressure and this
resulted in both nodes getting disconnected with stacktraces as shown below:
{code}
015-10-31 16:43:19,200 INFO [NiFi Web Server-123]
org.apache.nifi.web.filter.RequestLogger Attempting request for (anonymous) GET
http://localhost:8080/nifi-api/controller/proce
ss-groups/81b0bf63-3127-4eec-830b-28d325d8ce6c/connections/9d12660c-71ad-4895-acae-d0045987b90b/drop-requests/447fbe61-f0ed-3487-b5df-14e96c20251d
(source ip: 127.0.0.1)
2015-10-31 16:43:19,206 ERROR [NiFi Web Server-123]
o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred:
java.lang.ArithmeticException: / by zero. Returning
Internal Server Error response.
java.lang.ArithmeticException: / by zero
at
org.apache.nifi.web.api.dto.DtoFactory.createDropRequestDTO(DtoFactory.java:332)
~[classes/:na]
at
org.apache.nifi.web.StandardNiFiServiceFacade.getFlowFileDropRequest(StandardNiFiServiceFacade.java:2107)
~[classes/:0.3.1-SNAPSHOT]
at
org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$358780e0.invoke(<generated>)
~[spring-core-4.1.6.RELEASE.jar:0.3.1-SNAPSHOT]
at
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.apache.nifi.web.NiFiServiceFacadeLock.getLock(NiFiServiceFacadeLock.java:139)
~[classes/:0.3.1-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_60]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60]
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB$$d357524c.getFlowFileDropRequest(<generated>)
~[spring-core-4.1.6.RELEASE.jar:0.3.1-SNAPSHOT]
at
org.apache.nifi.web.api.ConnectionResource.getDropRequest(ConnectionResource.java:1030)
~[classes/:na]
at
org.apache.nifi.web.api.ConnectionResource$$FastClassBySpringCGLIB$$b8cd4334.invoke(<generated>)
~[spring-core-4.1.6.RELEASE.jar:na]
at
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64)
~[spring-security-core-3.2.7.RELEASE.jar:
3.2.7.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at
org.apache.nifi.web.api.ConnectionResource$$EnhancerBySpringCGLIB$$155c0ae4.getDropRequest(<generated>)
~[spring-core-4.1.6.RELEASE.jar:na]
at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_60]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60]
at
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
~[jersey-server-1.19.jar:1.19]
{code}
> Purge Queue from UI
> -------------------
>
> Key: NIFI-730
> URL: https://issues.apache.org/jira/browse/NIFI-730
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework, Core UI
> Reporter: Brian Ghigiarelli
> Priority: Minor
> Fix For: 0.4.0
>
> Attachments: blocked-ui.dump
>
>
> Making changes to connections between NiFi processors is difficult when data
> is queued up between those processors. A workaround to this data build up is
> to stop both processors, reduce/set the FlowFile Expiration of the connection
> to a low number (e.g., 2 sec), then start the receiving processor to age off
> the data.
> A more user-friendly solution is to provide a "Purge" or "Delete" context
> menu option on the queues to remove the data and/or age it off immediately.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)