[
https://issues.apache.org/jira/browse/NIFI-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14702386#comment-14702386
]
Aldrin Piri commented on NIFI-862:
----------------------------------
One item I just noticed in the logs is that it looks like the logging is a
little off, interpreting the expression as a different method signature.
{quote}
2015-08-18 23:01:57,200 ERROR [pool-27-thread-1]
o.a.n.c.s.StandardControllerServiceNode
[DBCPConnectionPool[id=a2639013-c688-4080-8bbc-3a604122ae15]] Failed to invoke
@OnEnabled method due to {}
org.apache.nifi.reporting.InitializationException:
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class
'com.bogusville.net'
at
org.apache.nifi.dbcp.DBCPConnectionPool.onConfigured(DBCPConnectionPool.java:175)
~[nifi-dbcp-service-0.3.0-SNAPSHOT.jar:0.3.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_45]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_45]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
at
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:102)
~[na:na]
at
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:47)
~[na:na]
at
org.apache.nifi.controller.scheduling.StandardProcessScheduler$6.run(StandardProcessScheduler.java:644)
~[na:na]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_45]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver
class 'com.bogusville.net'
at
org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.nifi.dbcp.DBCPConnectionPool.onConfigured(DBCPConnectionPool.java:169)
~[nifi-dbcp-service-0.3.0-SNAPSHOT.jar:0.3.0-SNAPSHOT]
... 10 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.bogusville.net
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_45]
{quote}
which seems attributable to StandardProcessScheduler, Line 667. This should
likely be componentLog.error("Failed to invoke @OnEnabled
method due to {}", new Object[]{cause});
> If a Controller Service fails to start, a Processor depending on it will not
> stop
> ---------------------------------------------------------------------------------
>
> Key: NIFI-862
> URL: https://issues.apache.org/jira/browse/NIFI-862
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Critical
> Fix For: 0.3.0
>
> Attachments:
> 0001-NIFI-862-Ensure-that-if-we-are-unable-to-stop-a-cont.patch
>
>
> Steps to replicate:
> 1. Add a DBCPConnectionPool controller service
> 2. Configure it with an invalid driver class name
> 3. Enable the Controller Service
> 4. Add a processor that depends on DBCPConnectionPool (for example,
> ExecuteSQL) to the flow
> 5. Configure the processor to use the controller service that is now failing
> to start (because you gave it an invalid driver class name)
> 6. Start the Processor
> 7. Stop the Processor
> NiFi will hang, waiting for the service to properly start.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)