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

James Wing commented on NIFI-1752:
----------------------------------

I believe the problem is not concurrency, but thread-specific class loaders 
used by XPathFactory.  Calls to XPathValidator.validate() on thread 
"Timer-Driven Process Thread-?" use a NarThreadContextClassLoader and succeed.  
Calls on thread "NiFi Web Server-?" used class loader WebAppClassLoader and 
failed loading the same class net.sf.saxon.xpath.XPathFactoryImpl.

I'm not sure why this error seems intermittent and selective to particular 
installations.  Maybe classpath?  On one of my instances I was able to resolve 
the issue by dropping a copy of Saxon-HE-9.6.0-5.jar into the {{lib}} folder 
and restarting NiFi.  This might be a workaround, but I certainly haven't 
tested it thoroughly. [~dionosys], would you be willing to try this?

I also do not know if this is new in 0.6.0 or how it might have been 
introduced.  I'm working on a fix that explicitly uses the XPathValidator's 
instance ClassLoader in the call to XPathFactory.newInstance().

> EvaluateXPath invalid when starting processor
> ---------------------------------------------
>
>                 Key: NIFI-1752
>                 URL: https://issues.apache.org/jira/browse/NIFI-1752
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 0.6.0
>            Reporter: Joseph Witt
>
> Guillaume Pool:
> Hi,
>  
> If anyone could help I would appreciate it:
>  
> After upgrading to 0.6.0 all my EvaluateXMLPath processors report as invalid 
> with nothing specific reported as the error.
>  
> I use flowfile attribute as the destination, xpath query similar to 
> /message/address
>  
> Return type auto-detect / string
>  
> Error:
>  
> 2016-04-11 17:37:12,465 INFO [NiFi Web Server-64629] 
> org.apache.nifi.web.filter.RequestLogger Attempting request for (anonymous) 
> PUT 
> http://sv-hdpdf1.hdp.supergrp.net:8443/nifi-api/controller/process-groups/d02a0bbc-c142-37ba-adaa-ee191b98790d/processors/e49acf40-76d1-3b6e-a67d-dc40153605ad
>  (source ip: 172.27.0.97)
> 2016-04-11 17:37:12,474 INFO [NiFi Web Server-64629] 
> o.a.n.w.a.c.IllegalStateExceptionMapper java.lang.IllegalStateException: 
> EvaluateXPath[id=e49acf40-76d1-3b6e-a67d-dc40153605ad] is not in a valid 
> state. Returning Conflict response.
>  
> Reports this even if you drop a new processor in.
> James Wing:
> I am able to see the same EvaluateXPath issue Guillame Pool reported on NiFi 
> 0.6.0.  I created a template gist at 
> https://gist.github.com/jvwing/7e7948d8eb5ad3643f38966b4ba3ce2e that 
> illustrates this for me.  You don't even need to run the whole thing, just 
> try to start the EvaluateXPath processor.  I see a pop-up error trying to 
> start it "EvaluateXPath[id=b481c570-686a-4b6e-859c-9ebe27398fe1] is not in a 
> valid state".
> Trying to troubleshoot this, I attached a debugger and found an 
> IllegalStateException thrown by StandardProcessorNode.verifyCanStart() on 
> line 1141.  The error text was:
> 'address' validated against '/message/address' is invalid because Unable to 
> initialize XPath engine due to 
> javax.xml.xpath.XPathFactoryConfigurationException: No XPathFactory 
> implementation found for the object model: http://saxon.sf.net/jaxp/xpath/om
> I haven't figured out what change is the root cause, but the trail seems to 
> lead into validating the dynamic XPath attribute. 



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

Reply via email to