Joe Witt created NIFI-11814:
-------------------------------

             Summary: Controller Services that are enabling (not enabled) 
appear to block parameter context changes
                 Key: NIFI-11814
                 URL: https://issues.apache.org/jira/browse/NIFI-11814
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
    Affects Versions: 1.22.0, 1.21.0
            Reporter: Joe Witt
             Fix For: 1.23.0


Flagging as a blocker for given the problem it can cause.

Scenario:
* User has a significant number of Controller Services (more than 1000 of them)
* Some Controller Services reference Param Context values some dont.
* A handful of the Controller Services are failing to start but are not 
disabled.  They're invalid but listed as 'enabling' when looking at diagnostics 
for instance.  Such as 'DBCPConnectionPool : 1003 total, {enabling=1, 
enabled=278, disabled=724}'
* Now user tries to edit a parameter in a parameter context that does not 
reference any controller services (or they make a new param context then try to 
add a param at all).  It will timeout after about 30 seconds failing due to 
{noformat}
                        ยง 2023-07-14 14:21:13,791 WARN [Replicate Request 
Thread-219480] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate 
request GET /nifi-api/flow/process-groups/root/controller-services to host:9443 
due to java.net.ProtocolException: unexpected end of stream
2023-07-14 14:21:13,791 WARN [Replicate Request Thread-219480] 
o.a.n.c.c.h.r.ThreadPoolRequestReplicator
java.net.ProtocolException: unexpected end of stream
        at 
okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.kt:415)
        at 
okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:276)
        at okio.RealBufferedSource.read(RealBufferedSource.kt:189)
        at okio.RealBufferedSource.exhausted(RealBufferedSource.kt:197)
        at okio.InflaterSource.refill(InflaterSource.kt:112)
        at okio.InflaterSource.readOrInflate(InflaterSource.kt:76)
        at okio.InflaterSource.read(InflaterSource.kt:49)
        at okio.GzipSource.read(GzipSource.kt:69)
        at okio.Buffer.writeAll(Buffer.kt:1290)
        at okio.RealBufferedSource.readByteArray(RealBufferedSource.kt:236)
        at okhttp3.ResponseBody.bytes(ResponseBody.kt:124)
        at 
org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.getResponseBytes(OkHttpReplicationClient.java:168)
        at 
org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:138)
        at 
org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:130)
        at 
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:645)
        at 
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:869)
        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.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)
2023-07-14 14:21:13,791 ERROR [Parameter Context Update Thread-2] 
o.a.n.web.api.ParameterContextResource Failed to update Parameter Context
org.apache.nifi.web.util.LifecycleManagementException: Failed while waiting for 
Controller Services to finish transitioning to a state of DISABLED
        at 
org.apache.nifi.web.util.ClusterReplicationComponentLifecycle.activateControllerServices(ClusterReplicationComponentLifecycle.java:469)
        at 
org.apache.nifi.web.util.ParameterUpdateManager.disableControllerServices(ParameterUpdateManager.java:273)
        at 
org.apache.nifi.web.util.ParameterUpdateManager.updateParameterContexts(ParameterUpdateManager.java:144)
        at 
org.apache.nifi.web.api.ParameterContextResource.lambda$submitUpdateRequest$17(ParameterContextResource.java:832)
        at 
org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRequestManager.java:117)
        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.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

{noformat}







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

Reply via email to