Не удается создать PoolableConnectionFactory (null) - PullRequest
0 голосов
/ 14 апреля 2020

Я пытался заставить свой пул соединений с базой данных работать на моем потоке nifi. У меня он успешно работает на NiFi 1.7.0, но при обновлении до NiFi 1.9.2 я получаю сообщение об ошибке ниже.

Невозможно создать PoolableConnectionFactory (null)

Соединения работать на SQuirreL SQL Client и NiFi-1.7.0, что странно. Сообщение об ошибке очень расплывчато. Я не смог найти никакого решения для этого.

Я использую сервер запросов phoenix с phoenix-5.0.0-HBase-2.0-thin-client.jar.

По умолчанию все параметры процессора DBCP:

Любая помощь приветствуется, спасибо!

org.apache.nifi.processor.exception.ProcessException: java.sql.SQLException: Cannot create PoolableConnectionFactory (null)
        at org.apache.nifi.dbcp.DBCPConnectionPool.getConnection(DBCPConnectionPool.java:474)
        at org.apache.nifi.dbcp.DBCPService.getConnection(DBCPService.java:49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:87)
        at com.sun.proxy.$Proxy89.getConnection(Unknown Source)
        at org.apache.nifi.processors.standard.AbstractExecuteSQL.onTrigger(AbstractExecuteSQL.java:222)
        at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
        at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1162)
        at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:209)
        at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
        at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (null)
        at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2385)
        at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2110)
        at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
        at org.apache.nifi.dbcp.DBCPConnectionPool.getConnection(DBCPConnectionPool.java:470)
        ... 20 common frames omitted
Caused by: java.sql.SQLFeatureNotSupportedException: null
        at org.apache.phoenix.shaded.org.apache.calcite.avatica.Helper.unsupported(Helper.java:72)
        at org.apache.phoenix.shaded.org.apache.calcite.avatica.AvaticaConnection.isValid(AvaticaConnection.java:376)
        at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:874)
        at org.apache.commons.dbcp2.PoolableConnection.validate(PoolableConnection.java:270)
        at org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:389)
        at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2398)
        at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2381)
        ... 23 common frames omitted

1 Ответ

0 голосов
/ 15 апреля 2020

Установка запроса проверки, который возвращает хотя бы одну строку в службе контроллера DBCP, исправила его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...