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

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

We may not need a fix here.  It looks like there has already been a post-0.6.0 
fix in [NIFI-1697 AmbariReportingTask not working when using 
PutHDFS|https://issues.apache.org/jira/browse/NIFI-1697].  That ticket includes 
a change to explicitly use the NarClassLoader via NarClosable for all processor 
validation ([commit 65b5c1a for 
StandardProcessorNode.isValid()|https://github.com/apache/nifi/commit/65b5c1a5f1899fd58d306b81983a015e79f9355f#diff-bf3824cc09a89e6ea5f0f4aec0134c3f]).
  I believe this also fixes the problem for XPathValidator.  Using a more 
centralized fix avoids a situation where individual property validators have to 
goof around with their ClassLoader.

Testing the issue in the 0.x branch with 65b5c1a shows the use of the 
NarThreadContextClassLoader to get the XPathFactory, and I have not reproduced 
the problem in the 0.x branch.

> 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
>             Fix For: 0.7.0
>
>
> 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