Support Questions

Find answers, ask questions, and share your expertise

NiFi: HiveConnectionPool access across process groups

avatar
Expert Contributor

If we create HiveConnectionPool controller service outside of any of the process groups, they do not appear in the dropdown of PutHiveQL to be selected, under any of the process groups. The only option is to create a separate HiveConnectionPool controller service within the process group. Is this expected behavior, if so what are the benefits?

On another issue, I noticed if we copy the PutHiveQL processor from process group to another, even if the associated HiveConnectionPool controller service is enabled, when the processor is run it throws the below error.

23:56:07 EST ERROR 01581169-e0a4-10e0-eab4-0f04f9d74f16 PutHiveQL[id=01581169-e0a4-10e0-eab4-0f04f9d74f16] PutHiveQL[id=01581169-e0a4-10e0-eab4-0f04f9d74f16] failed to process session due to java.lang.reflect.UndeclaredThrowableException: java.lang.reflect.UndeclaredThrowableException

1 ACCEPTED SOLUTION

avatar
Master Guru

Since NiFi 1.0, there are two types of controller services...

You can create controller services from the global hamburger menu in the top right, but these are only to be used by any reporting tasks that use a controller service. For example, the site to site provenance reporting task can use an SSL context service.

For processors they have to be created through the context pallet on the left hand side. If you are on the root canvas and have nothing selected, and then click the configuration icon in the pallet then you can create a controller service at the root group. These should be visible to any processors on the root group and with in any sub groups. If you go into a process group and create a controller service there, then it is visible to anything in that group and below, but not anything above it.

View solution in original post

1 REPLY 1

avatar
Master Guru

Since NiFi 1.0, there are two types of controller services...

You can create controller services from the global hamburger menu in the top right, but these are only to be used by any reporting tasks that use a controller service. For example, the site to site provenance reporting task can use an SSL context service.

For processors they have to be created through the context pallet on the left hand side. If you are on the root canvas and have nothing selected, and then click the configuration icon in the pallet then you can create a controller service at the root group. These should be visible to any processors on the root group and with in any sub groups. If you go into a process group and create a controller service there, then it is visible to anything in that group and below, but not anything above it.