From 86da16ad4f179ecd071a3563bbc7da0e65e10a66 Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Fri, 27 Sep 2019 14:14:42 +0200 Subject: [PATCH] allow black and white lists coexist for snooper --- .../src/eventmon_config.cpp | 9 --------- .../src/eventmon_config_factory.h | 5 +---- .../src/folder_event_detector.cpp | 6 +++--- .../unittests/test_eventmon_config.cpp | 17 ++--------------- .../producer_send_after_restart/test.json.in | 1 + .../bug_fixes/receiver_cpu_usage/test.json.in | 1 + .../simple_chain_filegen/test.json.in | 1 + .../simple_chain_filegen_batches/test.json.in | 1 + .../test.json.in | 1 + .../test.json.in | 1 + .../test.json.in | 1 + .../producer/file_monitor_producer/test.json.in | 1 + .../producer/python_api/producer_api.py | 8 ++++---- .../tests_via_nomad/asapo-test_filemon.nomad.in | 2 ++ .../asapo-test_filemon_batch.nomad.in | 2 ++ .../asapo-test_filemon_multisource.nomad.in | 2 ++ ...asapo-test_filemon_producer_tolocal.nomad.in | 2 ++ 17 files changed, 26 insertions(+), 35 deletions(-) diff --git a/producer/event_monitor_producer/src/eventmon_config.cpp b/producer/event_monitor_producer/src/eventmon_config.cpp index 4d89f1f13..cb591e42e 100644 --- a/producer/event_monitor_producer/src/eventmon_config.cpp +++ b/producer/event_monitor_producer/src/eventmon_config.cpp @@ -73,7 +73,6 @@ Error EventMonConfigFactory::CheckConfig() { (err = CheckMode()) || (err = CheckLogLevel()) || (err = CheckNThreads()) || - (err = CheckBlackWhiteLists()) || (err = CheckSubsets()); //todo: check monitored folders exist? @@ -107,14 +106,6 @@ Error EventMonConfigFactory::CheckLogLevel() { return err; } -Error EventMonConfigFactory::CheckBlackWhiteLists() { - if (config.whitelisted_extensions.size() && config.ignored_extensions.size() ) { - return TextError("only one of IgnoreExtensions/WhitelistExtensions can be set"); - } - return nullptr; -} - - Error EventMonConfigFactory::CheckNThreads() { if (config.nthreads == 0 || config.nthreads > kMaxProcessingThreads ) { return TextError("NThreads should between 1 and " + std::to_string(kMaxProcessingThreads)); diff --git a/producer/event_monitor_producer/src/eventmon_config_factory.h b/producer/event_monitor_producer/src/eventmon_config_factory.h index c9f6579c5..dd46ce76f 100644 --- a/producer/event_monitor_producer/src/eventmon_config_factory.h +++ b/producer/event_monitor_producer/src/eventmon_config_factory.h @@ -19,10 +19,7 @@ class EventMonConfigFactory { Error CheckSubsets(); Error CheckNThreads(); Error CheckConfig(); - Error CheckBlackWhiteLists(); - - - }; +}; } diff --git a/producer/event_monitor_producer/src/folder_event_detector.cpp b/producer/event_monitor_producer/src/folder_event_detector.cpp index 1083488f3..c3552368a 100644 --- a/producer/event_monitor_producer/src/folder_event_detector.cpp +++ b/producer/event_monitor_producer/src/folder_event_detector.cpp @@ -15,7 +15,7 @@ inline bool ends_with(std::string const& value, std::string const& ending) { } -bool FileInList(const std::vector<std::string>&list,const std::string& file) { +bool FileInList(const std::vector<std::string>& list, const std::string& file) { for (auto& ext : list) { if (ends_with(file, ext)) { return true; @@ -25,14 +25,14 @@ bool FileInList(const std::vector<std::string>&list,const std::string& file) { } bool FolderEventDetector::IgnoreFile(const std::string& file) { - return FileInList(config_->ignored_extensions,file); + return FileInList(config_->ignored_extensions, file); } bool FolderEventDetector::FileInWhiteList(const std::string& file) { if (config_->whitelisted_extensions.empty()) { return true; } - return FileInList(config_->whitelisted_extensions,file); + return FileInList(config_->whitelisted_extensions, file); } diff --git a/producer/event_monitor_producer/unittests/test_eventmon_config.cpp b/producer/event_monitor_producer/unittests/test_eventmon_config.cpp index 266ddac4a..65251c0a1 100644 --- a/producer/event_monitor_producer/unittests/test_eventmon_config.cpp +++ b/producer/event_monitor_producer/unittests/test_eventmon_config.cpp @@ -65,7 +65,7 @@ TEST_F(ConfigTests, ReadSettingsOK) { test_config.subset_mode = SubSetMode::kBatch; test_config.subset_batch_size = 9; test_config.stream = "stream"; - test_config.whitelisted_extensions = {}; + test_config.whitelisted_extensions = {"bla"}; auto err = asapo::SetFolderMonConfig(test_config); @@ -90,7 +90,7 @@ TEST_F(ConfigTests, ReadSettingsOK) { TEST_F(ConfigTests, ReadSettingsWhiteListOK) { asapo::EventMonConfig test_config; - test_config.whitelisted_extensions = {"tmp","test"}; + test_config.whitelisted_extensions = {"tmp", "test"}; test_config.ignored_extensions = {}; auto err = asapo::SetFolderMonConfig(test_config); @@ -101,19 +101,6 @@ TEST_F(ConfigTests, ReadSettingsWhiteListOK) { ASSERT_THAT(config->whitelisted_extensions, ElementsAre("tmp", "test")); } - -TEST_F(ConfigTests, ReadSettingsErrorBothIgnoreAndWhitelistSet) { - asapo::EventMonConfig test_config; - test_config.whitelisted_extensions = {"tmp","test"}; - test_config.ignored_extensions = {"tmp","test"}; - - auto err = asapo::SetFolderMonConfig(test_config); - - ASSERT_THAT(err, Ne(nullptr)); -} - - - TEST_F(ConfigTests, ReadSettingsMultiSourceOK) { asapo::EventMonConfig test_config; test_config.subset_mode = SubSetMode::kMultiSource; diff --git a/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in b/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in index 10f619262..d74bd52eb 100644 --- a/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in +++ b/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in b/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in index 2b5bdefa3..7cfebfb26 100644 --- a/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in +++ b/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/full_chain/simple_chain_filegen/test.json.in b/tests/automatic/full_chain/simple_chain_filegen/test.json.in index 0d301b561..3c77ba335 100644 --- a/tests/automatic/full_chain/simple_chain_filegen/test.json.in +++ b/tests/automatic/full_chain/simple_chain_filegen/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1","test2"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in index 686316ee8..f1323b8ee 100644 --- a/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in +++ b/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1","test2"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":false, "Stream": "", "Subset": { diff --git a/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in index 9ab36c342..eadb0bb3e 100644 --- a/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in +++ b/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test@ID@"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in index eb2324ceb..9addfcceb 100644 --- a/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in +++ b/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1","test2"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in index eb2324ceb..9addfcceb 100644 --- a/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in +++ b/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1","test2"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/producer/file_monitor_producer/test.json.in b/tests/automatic/producer/file_monitor_producer/test.json.in index 16442d63f..d88d98b67 100644 --- a/tests/automatic/producer/file_monitor_producer/test.json.in +++ b/tests/automatic/producer/file_monitor_producer/test.json.in @@ -8,6 +8,7 @@ "RootMonitoredFolder":"@ROOT_PATH@test_in", "MonitoredSubFolders":["test1","test2"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/automatic/producer/python_api/producer_api.py b/tests/automatic/producer/python_api/producer_api.py index a83a6b5e4..b2c80dc01 100644 --- a/tests/automatic/producer/python_api/producer_api.py +++ b/tests/automatic/producer/python_api/producer_api.py @@ -44,15 +44,15 @@ producer.send_file(3, local_path = "./not_exist",exposed_path = "./whatever", data = np.arange(10,dtype=np.float64) #send data from array -err = producer.send_data(4, stream+"/"+"file5",data, +producer.send_data(4, stream+"/"+"file5",data, ingest_mode = asapo_producer.DEFAULT_INGEST_MODE, callback = callback) #send data from string -err = producer.send_data(5, stream+"/"+"file6",b"hello", +producer.send_data(5, stream+"/"+"file6",b"hello", ingest_mode = asapo_producer.DEFAULT_INGEST_MODE, callback = callback) #send metadata only -err = producer.send_data(6, stream+"/"+"file7",None, +producer.send_data(6, stream+"/"+"file7",None, ingest_mode = asapo_producer.INGEST_MODE_TRANSFER_METADATA_ONLY, callback = callback) @@ -67,6 +67,6 @@ else: -time.sleep(5) +time.sleep(10) diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in index 5fadfb995..929d44cd0 100644 --- a/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in +++ b/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in @@ -39,6 +39,7 @@ job "asapo-filemon" { "RootMonitoredFolder":"u:\\asapo", "MonitoredSubFolders":["test_folder"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { @@ -99,6 +100,7 @@ job "asapo-filemon" { "RootMonitoredFolder":"/run/user", "MonitoredSubFolders":["data"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in index a8fa68a91..eb73199f2 100644 --- a/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in +++ b/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in @@ -39,6 +39,7 @@ job "asapo-filemon_batch" { "RootMonitoredFolder":"u:\\asapo", "MonitoredSubFolders":["test_folder"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { @@ -100,6 +101,7 @@ job "asapo-filemon_batch" { "RootMonitoredFolder":"/run/user", "MonitoredSubFolders":["data"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in index de29de242..9d277950f 100644 --- a/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in +++ b/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in @@ -39,6 +39,7 @@ job "asapo-filemon_multisource" { "RootMonitoredFolder":"u:\\asapo", "MonitoredSubFolders":["test_folder"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { @@ -101,6 +102,7 @@ job "asapo-filemon_multisource" { "RootMonitoredFolder":"/run/user", "MonitoredSubFolders":["data"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in index 29154419b..b627fe870 100644 --- a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in +++ b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in @@ -39,6 +39,7 @@ job "asapo-produceronly" { "RootMonitoredFolder":"c:\\tmp\\asapo\\test_in", "MonitoredSubFolders":["test_folder"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { @@ -99,6 +100,7 @@ job "asapo-produceronly" { "RootMonitoredFolder":"/tmp/asapo/test_in", "MonitoredSubFolders":["test_folder"], "IgnoreExtensions":["tmp"], + "WhitelistExtensions":[], "RemoveAfterSend":true, "Stream": "", "Subset": { -- GitLab