You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Paul Grey (Jira)" <ji...@apache.org> on 2022/12/06 16:05:00 UTC

[jira] [Commented] (NIFI-10951) Null exception error with DBCP Controller service and AWS parameter provider

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

Paul Grey commented on NIFI-10951:
----------------------------------

Going from this line in the stack trace above:

{noformat}
at org.apache.nifi.dbcp.DBCPConnectionPool.lambda$configureDataSource$0(DBCPConnectionPool.java:554)
{noformat}

There was a recent refactor that migrated this code to a new class:

https://github.com/apache/nifi/blob/89426d167b34f49bfce28abf38ccb990f8bb7393/nifi-nar-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java#L446-L447

I suspect the issue is still present (unaffected by the refactor).


> Null exception error with DBCP Controller service and AWS parameter provider
> ----------------------------------------------------------------------------
>
>                 Key: NIFI-10951
>                 URL: https://issues.apache.org/jira/browse/NIFI-10951
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: NiFi Stateless
>    Affects Versions: 1.18.0, 1.19.0
>            Reporter: Lucas Read
>            Priority: Major
>
> I have a AWS Secrets Manager parameter provider configured and assigned to a process group. I am trying to execute the process group as a stateless flow but getting a null exception returned. It works when I do not run it as a nonstateless flow but not when it is stateless. 
>  
> {code:java}
> 2022-12-02 23:34:35,762 ERROR [Component Lifecycle for dataflow stateless_test Thread-1] o.a.n.c.s.StandardControllerServiceNode StandardControllerServiceNode[service=DBCPConnectionPool[id=4e17ba60-aba6-3443-83ff-5f6da6de96ac], name=stateless_DBCPConnectionPool, active=true] Failed to invoke @OnEnabled method
> java.lang.NullPointerException: null
>         at java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
>         at java.base/java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
>         at java.base/java.util.Properties.put(Properties.java:1340)
>         at org.apache.commons.dbcp2.BasicDataSource.addConnectionProperty(BasicDataSource.java:384)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.lambda$configureDataSource$0(DBCPConnectionPool.java:554)
>         at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.configureDataSource(DBCPConnectionPool.java:550)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.onConfigured(DBCPConnectionPool.java:497)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:145)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:133)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:78)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:55)
>         at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:598)
>         at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:829)
> 2022-12-02 23:34:35,763 ERROR [Timer-Driven Process Thread-2] o.a.n.p.stateless.ExecuteStateless ExecuteStateless[id=294238ae-8268-1987-ffff-fffffd45d0f8] Could not create dataflow from snapshot
> java.lang.IllegalStateException: Controller Service StandardControllerServiceNode[service=DBCPConnectionPool[id=4e17ba60-aba6-3443-83ff-5f6da6de96ac], name=stateless_DBCPConnectionPool, active=true] has not fully enabled. Current Validation Status is VALID with validation Errors: []
>         at org.apache.nifi.stateless.flow.StandardStatelessFlow.enableControllerServices(StandardStatelessFlow.java:391)
>         at org.apache.nifi.stateless.flow.StandardStatelessFlow.initialize(StandardStatelessFlow.java:228)
>         at org.apache.nifi.processors.stateless.ExecuteStateless.createDataflow(ExecuteStateless.java:471)
>         at org.apache.nifi.processors.stateless.ExecuteStateless.getDataflow(ExecuteStateless.java:478)
>         at org.apache.nifi.processors.stateless.ExecuteStateless.onTrigger(ExecuteStateless.java:498)
>         at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>         at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1354)
>         at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:246)
>         at org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:59)
>         at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
>         at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
>         at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022)
>         at org.apache.nifi.stateless.flow.StandardStatelessFlow.enableControllerServices(StandardStatelessFlow.java:388)
>         ... 15 common frames omitted
> Caused by: java.lang.reflect.InvocationTargetException: null
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:145)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:133)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:78)
>         at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:55)
>         at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:598)
>         ... 7 common frames omitted
> Caused by: java.lang.NullPointerException: null
>         at java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
>         at java.base/java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
>         at java.base/java.util.Properties.put(Properties.java:1340)
>         at org.apache.commons.dbcp2.BasicDataSource.addConnectionProperty(BasicDataSource.java:384)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.lambda$configureDataSource$0(DBCPConnectionPool.java:554)
>         at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.configureDataSource(DBCPConnectionPool.java:550)
>         at org.apache.nifi.dbcp.DBCPConnectionPool.onConfigured(DBCPConnectionPool.java:497)
>         ... 16 common frames omitted
> 2022-12-02 23:34:35,764 INFO [Timer-Driven Process Thread-2] o.a.n.c.s.StandardProcessScheduler Stopping ExecuteStateless[id=294238ae-8268-1987-ffff-fffffd45d0f8]
> 2022-12-02 23:34:35,764 INFO [Timer-Driven Process Thread-2] o.a.n.controller.StandardProcessorNode Stopping processor: ExecuteStateless[id=294238ae-8268-1987-ffff-fffffd45d0f8]
> 2022-12-02 23:34:35,764 INFO [Timer-Driven Process Thread-2] o.a.n.c.s.TimerDrivenSchedulingAgent Stopped scheduling ExecuteStateless[id=294238ae-8268-1987-ffff-fffffd45d0f8] to run
> 2022-12-02 23:34:35,767 ERROR [Component Lifecycle for dataflow stateless_test Thread-1] org.apache.nifi.engine.FlowEngine Uncaught Exception in Runnable task
> java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@16031961[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@928538f[Wrapped task = org.apache.nifi.engine.FlowEngine$2@6f6116bf]] rejected from org.apache.nifi.engine.FlowEngine@1519ec12[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
>         at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
>         at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
>         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:340)
>         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:562)
>         at org.apache.nifi.engine.FlowEngine.schedule(FlowEngine.java:87)
>         at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:625)
>         at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:829) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)