bakaid commented on a change in pull request #735: MINIFICPP-1158 - Event 
driven processors can starve each other
URL: https://github.com/apache/nifi-minifi-cpp/pull/735#discussion_r378858323
 
 

 ##########
 File path: libminifi/src/EventDrivenSchedulingAgent.cpp
 ##########
 @@ -44,16 +44,8 @@ uint64_t EventDrivenSchedulingAgent::run(const 
std::shared_ptr<core::Processor>
       // No work to do or need to apply back pressure
       return this->bored_yield_duration_;
     }
-
-    // Block until work is available
-
-    processor->waitForWork(1000);
-
-    if (!processor->isWorkAvailable()) {
-      return 1000;
-    }
   }
-  return 0;
+  return 10;  // Let's check back for work in 10ms or when a thread is 
available to execute
 
 Review comment:
   This limits the event driven processors to 100 triggers/sec, and in case 
they don't/can't use batching to 100 FF/s, even when we know they would have 
work to do. This would broke many flows out in the wild. We should find a way 
to solve the starvation issue without introducing a bottleneck.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to