[jira] [Commented] (NIFI-7414) NiFi fails to startup if it encounters some unicode characters in the flow.xml.gz

2020-05-04 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-7414:
---

Commit 0448e23a963a4f34f12cfa96e13d81675eb2b33b in nifi's branch 
refs/heads/master from Mark Payne
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=0448e23 ]

NIFI-7414: Escape user-defined values that contain invalid XML characters 
before writing flow.xml.gz

NIFI-7414: Updated StandardFlowSerializerTest to include testing for variable 
names and values being filtered

This closes #4244


> NiFi fails to startup if it encounters some unicode characters in the 
> flow.xml.gz
> -
>
> Key: NIFI-7414
> URL: https://issues.apache.org/jira/browse/NIFI-7414
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> There are some elements where NiFi does not strip out invalid XML characters 
> when writing out the flow.xml.gz. For example, if a variable is created and 
> the variable's value has a unicode 0x0001 character in it, NiFi will accept 
> the input but then will fail to restart with the following stack trace:
> {quote}
> 2020-04-30 13:06:16,834 WARN [main] org.apache.nifi.web.server.JettyServer 
> Failed to start web server... shutting down.
> org.apache.nifi.controller.serialization.FlowSerializationException: 
> org.xml.sax.SAXParseException; lineNumber: 51; columnNumber: 30; Character 
> reference "&#
>   at 
> org.apache.nifi.cluster.protocol.StandardDataFlow.parseFlowBytes(StandardDataFlow.java:140)
>   at 
> org.apache.nifi.cluster.protocol.StandardDataFlow.getFlowDocument(StandardDataFlow.java:97)
>   at 
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:183)
>   at 
> org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1426)
>   at 
> org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:89)
>   at 
> org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:792)
>   at 
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:537)
>   at 
> org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>  

[jira] [Commented] (NIFI-7414) NiFi fails to startup if it encounters some unicode characters in the flow.xml.gz

2020-05-04 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-7414:
---

Commit 0448e23a963a4f34f12cfa96e13d81675eb2b33b in nifi's branch 
refs/heads/master from Mark Payne
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=0448e23 ]

NIFI-7414: Escape user-defined values that contain invalid XML characters 
before writing flow.xml.gz

NIFI-7414: Updated StandardFlowSerializerTest to include testing for variable 
names and values being filtered

This closes #4244


> NiFi fails to startup if it encounters some unicode characters in the 
> flow.xml.gz
> -
>
> Key: NIFI-7414
> URL: https://issues.apache.org/jira/browse/NIFI-7414
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> There are some elements where NiFi does not strip out invalid XML characters 
> when writing out the flow.xml.gz. For example, if a variable is created and 
> the variable's value has a unicode 0x0001 character in it, NiFi will accept 
> the input but then will fail to restart with the following stack trace:
> {quote}
> 2020-04-30 13:06:16,834 WARN [main] org.apache.nifi.web.server.JettyServer 
> Failed to start web server... shutting down.
> org.apache.nifi.controller.serialization.FlowSerializationException: 
> org.xml.sax.SAXParseException; lineNumber: 51; columnNumber: 30; Character 
> reference "&#
>   at 
> org.apache.nifi.cluster.protocol.StandardDataFlow.parseFlowBytes(StandardDataFlow.java:140)
>   at 
> org.apache.nifi.cluster.protocol.StandardDataFlow.getFlowDocument(StandardDataFlow.java:97)
>   at 
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:183)
>   at 
> org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1426)
>   at 
> org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:89)
>   at 
> org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:792)
>   at 
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:537)
>   at 
> org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
>   at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
>   at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
>   at 
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>   at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>   at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>   at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>