Joseph Percivall created NIFI-3839:
--------------------------------------
Summary: Problem accessing provenance initially when upgrading
from 1.1.2 to 1.2.0
Key: NIFI-3839
URL: https://issues.apache.org/jira/browse/NIFI-3839
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.2.0
Environment: centos 7, docker instance, OpenJDK 1.8
Reporter: Joseph Percivall
Priority: Minor
Upgraded a long running dev docker 1.1.2 instance to 1.2.0 RC1. Did not change
any configuration. After leaving it running for a couple days, when I attempted
to access provenance either by right-clicking the component or by accessing it
through the hamburger menu I got a 500 error due to a NPE. I see the stacktrace
in the window that should have the provenance events (stacktraces from nifi-app
log below). Upgraded the version to RC2 (restarting the container) and
afterwards it worked.
There are no tickets resolved in RC2 that appear to relate to this issue.
One thing of note relating to provenance, there would have been events that
expired between being started with 1.2.0-RC1 and the provenance being queried.
The docker container was running the latest version of Centos7 with OpenJdk
java 1.8.0 and the provenance volume was mounted (so it persisted through
restarts). Also, the instance is secure with certs and I had the correct
policies to access the provenance.
I have not been able to reproduce and restarting the instance appeared to
resolve the issue. I am logging an issue relating to the RC because I believe
there may be an issue related to upgrading 1.1.2 -> 1.2.0 and provenance events
expiring while keeping an old prov repo but is solved by restarting.
For the stacktraces, I pulled a couple lines before/after the actual stacktrace
in order to provide context and maybe some pertinent context.
Stacktrace 1:
{code}
2017-05-08 14:05:36,943 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.UpdateMinimumEventId Updated Minimum Event ID for Provenance
Event Repository - Minimum Event ID now 589858079
2017-05-08 14:05:36,943 INFO [Provenance Maintenance Thread-2]
o.a.n.p.PersistentProvenanceRepository Successfully performed Expiration Action
org.apache.nifi.provenance.lucene.UpdateMinimumEventId@6340141b on Provenance
Event file ./provenance_repository/589858075.prov.gz in 1 millis
2017-05-08 14:05:36,944 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.DeleteIndexAction Removed expired Provenance Event file
./provenance_repository/589858075.prov.gz
2017-05-08 14:05:36,944 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.DeleteIndexAction Removed expired Provenance Table-of-Contents
file ./provenance_repository/toc/589858075.toc
2017-05-08 14:05:36,944 INFO [Provenance Maintenance Thread-2]
o.a.n.p.PersistentProvenanceRepository Successfully performed Expiration Action
org.apache.nifi.provenance.expiration.FileRemovalAction@16a8507e on Provenance
Event file ./provenance_repository/589858075.prov.gz in 402049 nanos
2017-05-08 14:05:38,879 WARN [NiFi Web Server-18211]
org.eclipse.jetty.server.HttpChannel /nifi/provenance
javax.servlet.ServletException: org.eclipse.jetty.servlet.ServletHolder$1:
java.lang.NullPointerException
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:138)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:561)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:258)
at
org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:147)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at
org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
at
org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.eclipse.jetty.servlet.ServletHolder$1:
java.lang.NullPointerException
at
org.eclipse.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:596)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:655)
at
org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:498)
at
org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:785)
at
org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:770)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:538)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:561)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:258)
at
org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:147)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
... 3 common frames omitted
Caused by: java.lang.NullPointerException: null
at
org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:397)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:387)
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637)
... 32 common frames omitted
2017-05-08 14:05:39,462 INFO [Provenance Maintenance Thread-1]
o.a.n.p.lucene.UpdateMinimumEventId Updated Minimum Event ID for Provenance
Event Repository - Minimum Event ID now 589858259
2017-05-08 14:05:39,462 INFO [Provenance Maintenance Thread-1]
o.a.n.p.PersistentProvenanceRepository Successfully performed Expiration Action
org.apache.nifi.provenance.lucene.UpdateMinimumEventId@6340141b on Provenance
Event file ./provenance_repository/589858080.prov.gz in 10 millis
{code}
Stacktrace 2:
{code}
2017-05-08 14:07:21,100 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.UpdateMinimumEventId Updated Minimum Event ID for Provenance
Event Repository - Minimum Event ID now 589873378
2017-05-08 14:07:21,100 INFO [Provenance Maintenance Thread-2]
o.a.n.p.PersistentProvenanceRepository Successfully performed Expiration Action
org.apache.nifi.provenance.lucene.UpdateMinimumEventId@6340141b on Provenance
Event file ./provenance_repository/589873199.prov.gz in 11 millis
2017-05-08 14:07:21,101 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.DeleteIndexAction Removed expired Provenance Event file
./provenance_repository/589873199.prov.gz
2017-05-08 14:07:21,101 INFO [Provenance Maintenance Thread-2]
o.a.n.p.lucene.DeleteIndexAction Removed expired Provenance Table-of-Contents
file ./provenance_repository/toc/589873199.toc
2017-05-08 14:07:21,101 INFO [Provenance Maintenance Thread-2]
o.a.n.p.PersistentProvenanceRepository Successfully performed Expiration Action
org.apache.nifi.provenance.expiration.FileRemovalAction@16a8507e on Provenance
Event file ./provenance_repository/589873199.prov.gz in 562266 nanos
2017-05-08 14:07:21,379 WARN [NiFi Web Server-18263]
org.eclipse.jetty.server.HttpChannel /nifi/provenance
javax.servlet.ServletException: org.eclipse.jetty.servlet.ServletHolder$1:
java.lang.NullPointerException
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:138)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:561)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:258)
at
org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:147)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at
org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
at
org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.eclipse.jetty.servlet.ServletHolder$1:
java.lang.NullPointerException
at
org.eclipse.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:596)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:655)
at
org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:498)
at
org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:785)
at
org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:770)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:538)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:561)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:258)
at
org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:147)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
... 3 common frames omitted
Caused by: java.lang.NullPointerException: null
at
org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:397)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:387)
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637)
... 32 common frames omitted
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)