nifi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Wing (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NIFI-1752) EvaluateXPath invalid when starting processor
Date Wed, 13 Apr 2016 05:15:25 GMT

    [ 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)

Mime
View raw message