polissar
polissar

Reputation: 13

Apache nifi: Timed out while waiting for OnScheduled of 'QueryDatabaseTable' processor to finish

I'm trying to create my first flow using the QueryDatabaseTable to incrementally extract rows from an Oracle database table.

I'm getting the errors below. I enabled full debug but nothing else useful is logged.

Thoughts on what to try next?

2017-07-10 14:43:52,280 WARN [StandardProcessScheduler Thread-4] o.a.n.controller.StandardProcessorNode Timed out while waiting for OnScheduled of 'QueryDatabaseTable' processor to finish. An attempt is made to cancel the task via Thread.interrupt(). However it does not guarantee that the task will be canceled since the code inside current OnScheduled operation may have been written to ignore interrupts which may result in a runaway thread. This could lead to more issues, eventually requiring NiFi to be restarted. This is usually a bug in the target Processor 'QueryDatabaseTable[id=1e535f00-015d-1000-236d-7adebe14958a]' that needs to be documented, reported and eventually fixed.

2017-07-10 14:43:52,280 ERROR [StandardProcessScheduler Thread-4] o.a.n.p.standard.QueryDatabaseTable QueryDatabaseTable[id=1e535f00-015d-1000-236d-7adebe14958a] QueryDatabaseTable[id=1e535f00-015d-1000-236d-7adebe14958a] failed to invoke @OnScheduled method due to java.lang.RuntimeException: Timed out while executing one of processor's OnScheduled task.; processor will not be scheduled to run for 30 seconds: java.lang.RuntimeException: Timed out while executing one of processor's OnScheduled task. java.lang.RuntimeException: Timed out while executing one of processor's OnScheduled task. at org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) at org.apache.nifi.controller.StandardProcessorNode.access$000(StandardProcessorNode.java:102) at org.apache.nifi.controller.StandardProcessorNode$1.run(StandardProcessorNode.java:1303) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.TimeoutException: null at java.util.concurrent.FutureTask.get(FutureTask.java:205) at org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1465) ... 9 common frames omitted

2017-07-10 14:43:52,280 ERROR [StandardProcessScheduler Thread-4] o.a.n.controller.StandardProcessorNode Failed to invoke @OnScheduled method due to java.lang.RuntimeException: Timed out while executing one of processor's OnScheduled task. java.lang.RuntimeException: Timed out while executing one of processor's OnScheduled task. at org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) at org.apache.nifi.controller.StandardProcessorNode.access$000(StandardProcessorNode.java:102) at org.apache.nifi.controller.StandardProcessorNode$1.run(StandardProcessorNode.java:1303) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.TimeoutException: null at java.util.concurrent.FutureTask.get(FutureTask.java:205) at org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1465) ... 9 common frames omitted

Upvotes: 1

Views: 1768

Answers (3)

Erkan Şirin
Erkan Şirin

Reputation: 2095

On my case, it was a firewall issue. I asked to permission from security manager. The connection also can be checked via telnet.

telnet databaseserver port_number

Expected output:

Trying database_server...
Connected to 1database_server.
Escape character is '^]'.

Upvotes: 0

Jorge Machado
Jorge Machado

Reputation: 772

I Only have one Nifi Server Running. If I Chance the Connection String it Throws a Oracle Error. So I assume that this is working. Any Tipps How can I debug this ?

UPDATE: I checked and I have no connection from the nifi to the DB. This error is misleading.

Upvotes: 0

Joe Skora
Joe Skora

Reputation: 14920

The @OnScheduled method of QueryDatabaseTable is trying to connect to your database and appears to be having problems causing it to hit the 60 second processor scheduling timeout.

Can you verify your DBCPConnectionPool service is correctly configured and that the servers running NiFi can otherwise connect to the database with the same credentials?

Upvotes: 5

Related Questions