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

Mark Payne commented on NIFI-740:
---------------------------------

Toivo,

Looking over this, it looks like the code that causes this was added after 
those tests were ignored, which explains why you would see it now and we didn't 
see it before.

I think the best thing to do is to add a new method to 
org.apache.nifi.logging.LogRepositoryFactory:

public static void purge() {
// clear internal state
}

And then in the FlowController's shutdown just call that purge method. This 
would ensure that we always clear out the log observers on shutdown.

Thanks
-Mark

> StandardFlowServiceTest need to be updated.
> -------------------------------------------
>
>                 Key: NIFI-740
>                 URL: https://issues.apache.org/jira/browse/NIFI-740
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>            Reporter: Toivo Adams
>            Assignee: Toivo Adams
>            Priority: Minor
>             Fix For: 0.3.0
>
>         Attachments: NIFI-740_11jul2015.patch
>
>
> Currently 
> /nifi-framework-core/src/test/java/org/apache/nifi/controller/StandardFlowServiceTest.java
>  :
> [Error] :22:16: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comment}' is expected. 
> [Error] :28:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{styles}' is expected. 
> [Error] :46:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{styles}' is expected. 
> [Error] :69:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comments}' is expected. 
> [Error] :75:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comments}' is expected. 
> [Error] :80:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{size}' is expected. 
> [Error] :87:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comment}' is expected. 
> [Error] :93:24: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{styles}' is expected. 
> [Error] :112:24: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comments}' is expected. 
> [Error] :118:24: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comments}' is expected. 
> [Error] :126:25: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{sourceId}' is expected. 
> [Error] :142:20: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{comment}' is expected. 
> [Error] :152:21: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{sourceId}' is expected. 
> [Error] :169:21: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{sourceId}' is expected. 
> [Error] :186:21: cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'style'. One of '{sourceId}' is expected. 
> And finally public void testLoadExistingFlow() test fails: 
> org.apache.nifi.controller.FlowSynchronizationException: 
> java.lang.NullPointerException: Name is null 
>         at 
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:317)
>  
>         at 
> org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1154)
>  
>         at 
> org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:72)
>  
>         at 
> org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:608)
>  
>         at 
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:458)
>  
>         at 
> org.apache.nifi.controller.StandardFlowServiceTest.testLoadExistingFlow(StandardFlowServiceTest.java:98)
>  
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  
>         at java.lang.reflect.Method.invoke(Method.java:606) 
>         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.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
>         at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>  
>         at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>  
>         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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
>         at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>  
>         at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>  
>         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>  
>         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>  
>         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>  
>         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
>  
> Caused by: java.lang.NullPointerException: Name is null 
>         at java.lang.Enum.valueOf(Enum.java:235) 
>         at 
> org.apache.nifi.controller.ScheduledState.valueOf(ScheduledState.java:1) 
>         at 
> org.apache.nifi.controller.FlowFromDOMFactory.getScheduledState(FlowFromDOMFactory.java:444)
>  
>         at 
> org.apache.nifi.controller.FlowFromDOMFactory.getProcessor(FlowFromDOMFactory.java:356)
>  
>         at 
> org.apache.nifi.controller.FlowFromDOMFactory.getProcessGroup(FlowFromDOMFactory.java:147)
>  
>         at 
> org.apache.nifi.controller.StandardFlowSynchronizer.addProcessGroup(StandardFlowSynchronizer.java:758)
>  
>         at 
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:271)
>  
>         ... 30 more 
> Possibly flow files used for testing 
> "/conf/all-flow.xml" 
> "/conf/all-flow-inheritable.xml"
> etc
> need to be updated to comply with newer FlowConfiguration.xsd requirements. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to