[ 
https://issues.apache.org/jira/browse/MINIFICPP-1421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Hunyadi updated MINIFICPP-1421:
------------------------------------
    Issue Type: Bug  (was: Improvement)

> Investigate and fix C2JstackTest
> --------------------------------
>
>                 Key: MINIFICPP-1421
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1421
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Adam Hunyadi
>            Priority: Minor
>              Labels: MiNiFi-CPP-Hygiene
>             Fix For: 0.8.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> *Background:*
> C2JstackTest is currently looks for a log line that contains the word 
> "SchedulingAgent". This line however is only present due to the 
> LogTestController logs that log lines from the SchedulingAgents will not be 
> shown.
> {code:bash|title=Filtered test output}
> ➜  ./extensions/http-curl/tests/C2JstackTest 
> ../src/libminifi/test/resources/TestHTTPGet.yml 
> ../src/libminifi/test/resources/ |& grep "SchedulingAgent"                    
>                                                            
> [2020-12-08 10:48:51.955] 
> [org::apache::nifi::minifi::core::logging::LoggerConfiguration] [debug] 
> org::apache::nifi::minifi::SchedulingAgent logger got sinks from namespace 
> root and level error from namespace root                       
> [2020-12-08 10:48:51.955] 
> [org::apache::nifi::minifi::core::logging::LoggerConfiguration] [debug] 
> org::apache::nifi::minifi::ThreadedSchedulingAgent logger got sinks from 
> namespace root and level error from namespace root               
> [2020-12-08 10:48:51.955] 
> [org::apache::nifi::minifi::core::logging::LoggerConfiguration] [debug] 
> org::apache::nifi::minifi::TimerDrivenSchedulingAgent logger got sinks from 
> namespace root and level error from namespace root 
> {code}
> Enabling all sinks still did not produce any relevant log line that would be 
> worth matching against:
> {code:c++}
> #include 
> "../../extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.h"
> #include 
> "../../extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.h"
> #include "../../extensions/http-curl/processors/InvokeHTTP.h"
> #include "../../extensions/http-curl/processors/InvokeHTTP.h"
> #include "../../extensions/standard-processors/processors/LogAttribute.h"
> #include "../../extensions/standard-processors/processors/LogAttribute.h"
> #include "../../libminifi/include/c2/ControllerSocketProtocol.h"
> #include "../../libminifi/include/c2/ControllerSocketProtocol.h"
> #include "../../extensions/standard-processors/processors/AppendHostInfo.h"
> #include "../../extensions/standard-processors/processors/AppendHostInfo.h"
> #include "../../extensions/standard-processors/processors/ExecuteProcess.h"
> #include "../../extensions/standard-processors/processors/ExecuteProcess.h"
> #include "../../extensions/standard-processors/processors/ExtractText.h"
> #include "../../extensions/standard-processors/processors/ExtractText.h"
> #include "../../extensions/standard-processors/processors/GenerateFlowFile.h"
> #include "../../extensions/standard-processors/processors/GenerateFlowFile.h"
> #include "../../extensions/standard-processors/processors/GetFile.h"
> #include "../../extensions/standard-processors/processors/GetFile.h"
> #include "../../extensions/standard-processors/processors/GetTCP.h"
> #include "../../extensions/standard-processors/processors/GetTCP.h"
> #include "../../extensions/standard-processors/processors/HashContent.h"
> #include "../../extensions/standard-processors/processors/HashContent.h"
> #include "../../extensions/standard-processors/processors/ListenSyslog.h"
> #include "../../extensions/standard-processors/processors/ListenSyslog.h"
> #include "../../extensions/standard-processors/processors/PutFile.h"
> #include "../../extensions/standard-processors/processors/PutFile.h"
> #include "../../extensions/standard-processors/processors/RetryFlowFile.h"
> #include "../../extensions/standard-processors/processors/RetryFlowFile.h"
> #include "../../extensions/standard-processors/processors/RouteOnAttribute.h"
> #include "../../extensions/standard-processors/processors/RouteOnAttribute.h"
> #include "../../extensions/standard-processors/processors/TailFile.h"
> #include "../../extensions/standard-processors/processors/TailFile.h"
> #include "../../extensions/standard-processors/processors/UpdateAttribute.h"
> #include "../../extensions/standard-processors/processors/UpdateAttribute.h"
> #include "../../extensions/http-curl/protocols/AgentPrinter.h"
> #include "../../extensions/http-curl/protocols/AgentPrinter.h"
> #include "../../extensions/http-curl/protocols/RESTReceiver.h"
> #include "../../extensions/http-curl/protocols/RESTReceiver.h"
> #include "../../extensions/civetweb/processors/ListenHTTP.h"
> #include "../../extensions/civetweb/processors/ListenHTTP.h"
> (...)
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::utils::IdGenerator>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::FlowFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::provenance::ProvenanceEventRecord>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::FlowFileRecord>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::Properties>();
> LogTestController::getInstance().setTrace<LogTestController>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::C2Agent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::RESTSender>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::FlowController>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::utils::HTTPClient>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::Connectable>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::Repository>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::repository::VolatileContentRepository>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::utils::file::FileSystem>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::FlowConfiguration>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::ConfigurableComponent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::controller::StandardControllerServiceProvider>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::YamlConfiguration>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::controllers::AbstractAutoPersistingKeyValueStoreService>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::controllers::UnorderedMapKeyValueStoreService>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::controllers::UnorderedMapPersistableKeyValueStoreService>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::controller::StandardControllerServiceNode>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::ProcessGroup>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::Processor>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::InvokeHTTP>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::LogAttribute>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::Connection>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::C2Client>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::FlowControlProtocol>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::SchedulingAgent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::ThreadedSchedulingAgent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::TimerDrivenSchedulingAgent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::repository::FileSystemRepository>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::ProcessContext>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::core::ProcessSession>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::provenance::ProvenanceReporter>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::utils::ByteOutputCallback>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::ControllerSocketProtocol>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::AppendHostInfo>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::ExecuteProcess>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::ExtractText>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::GenerateFlowFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::GetFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::GetTCP>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::HashContent>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::ListenSyslog>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::PutFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::RetryFlowFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::RouteOnAttribute>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::TailFile>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::UpdateAttribute>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::AgentPrinter>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::c2::RESTReceiver>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::processors::ListenHTTP>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::controllers::SSLContextService>();
> LogTestController::getInstance().setTrace<org::apache::nifi::minifi::controllers::UpdatePolicyControllerService>();
> {code}
> {code:bash|title=Test output with filters}
> ➜  build ./extensions/http-curl/tests/C2JstackTest 
> ../src/libminifi/test/resources/TestHTTPGet.yml 
> ../src/libminifi/test/resources/ |& egrep -v "got sinks|log level" | grep 
> "SchedulingAgent"
> [2020-12-08 13:23:08.954] 
> [org::apache::nifi::minifi::ThreadedSchedulingAgent] [debug] Shutting down 
> threads for processor invoke/2438e3c8-015a-1000-79ca-83af40ec1991
> [2020-12-08 13:23:08.954] 
> [org::apache::nifi::minifi::ThreadedSchedulingAgent] [debug] Shutting down 
> threads for processor invoke/2438e3c8-015a-1000-79ca-83af40ec1991
> [2020-12-08 13:23:08.954] 
> [org::apache::nifi::minifi::ThreadedSchedulingAgent] [warning] Cannot 
> unschedule threads for processor invoke because it is not running
> [2020-12-08 13:23:08.954] 
> [org::apache::nifi::minifi::ThreadedSchedulingAgent] [debug] Shutting down 
> threads for processor LogAttribute/2438e3c8-015a-1000-79ca-83af40ec1992
> {code}
> *Proposal:*
> As the test breaks if once we disable the inclusion of "logger got sinks" by 
> default on test, we should turn off this test and at some point investigate 
> what exactly the test was meant to check. One could probably check out the 
> version of the MiNiFi this was introduced in and see if something important 
> was captured by checking against this log line.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to