irods / irods_capability_storage_tiering

BSD 3-Clause "New" or "Revised" License
5 stars 10 forks source link

An Iget of a dataobject which hasn't been moved yet, results in log error when data_transfer_log_level is set to LOG_NOTICE #169

Open jefscheepers opened 3 years ago

jefscheepers commented 3 years ago

I have a tiering group with two resources, fastresc and slowresc, as well as some unrelated resources which aren't part of any tiering group:

AVUs defined for resource fastresc:
attribute: irods::storage_tiering::group
value: example_group
units: 0
---
attribute: irods::storage_tiering::time
value: 60
units:
$imeta ls -R slowresc
AVUs defined for resource slowresc:
attribute: irods::storage_tiering::group
value: example_group
units: 1
$ imeta ls -R default
AVUs defined for resource default:
None

The rule I run to activate storage tiering looks as follows:

{
   "rule-engine-instance-name": "irods_rule_engine_plugin-unified_storage_tiering-instance",
   "rule-engine-operation": "irods_policy_schedule_storage_tiering",
   "delay-parameters": "<INST_NAME>irods_rule_engine_plugin-unified_storage_tiering-instance</INST_NAME><PLUSET>1s</PLUSET><EF>1m</EF>",
   "storage-tier-groups": [
       "example_group_g2",
       "example_group"
   ]
}
INPUT null
OUTPUT ruleExecOut

If in the plugin_specific_configuration in server_config.json, data_transfer_log_level is set to LOG_NOTICE, there are two cases which give an error in the log consistently:

Dumping stack trace

<0> Offset: 0x6e Address: 0x7fbcc2e8ca4e irods::exception::exception(long, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, unsigned int, std::__1::basic_string, std::__1::allocator > const&) <1> Offset: 0x48d Address: 0x7fbcbb8f08fd irods::storage_tiering::get_group_name_by_replica_number(RcComm*, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&) <2> Offset: 0x4b Address: 0x7fbcbb8f0bab irods::storage_tiering::migrate_object_to_minimum_restage_tier(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&) <3> Offset: 0x1257 Address: 0x7fbcbb8bdad7 exec_rule(std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback) <4> Offset: 0x2e Address: 0x7fbcbb8e692e std::__1::__function::__func&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback), std::__1::allocator&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback)>, irods::error (std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback)>::operator()(std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback&&) <5> Offset: 0xf6 Address: 0x7fbcc2000296 irods::error irods::pluggable_rule_engine >::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&, irods::callback) <6> Offset: 0x85 Address: 0x7fbcc2000125 std::__1::__function::__func, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const::'lambda'(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::allocator, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const::'lambda'(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, irods::error (std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>::operator()(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <7> Offset: 0x189 Address: 0x7fbcc2000c79 irods::error irods::dynamic_operation_execution_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)1>::call, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::function, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&&&, irods::re_pack_inp >&&&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'()::operator()() const <8> Offset: 0xce Address: 0x7fbcc1fffdce irods::error irods::dynamic_operation_execution_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)1>::call, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::function, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&&&, irods::re_pack_inp >&&&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <9> Offset: 0x103 Address: 0x7fbcc1fff9a3 irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const <10> Offset: 0x100 Address: 0x7fbcc1fff630 irods::error irods::control, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::tuple<>, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::list >, std::__1::allocator > > >&, irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <11> Offset: 0x629 Address: 0x7fbcc1fff0c9 irods::error irods::api_entry::invoke_policy_enforcement_point(irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>, irods::plugin_context, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, DataObjInp*, portalOprOut**, BytesBuf*) <12> Offset: 0x7ed Address: 0x7fbcc1ef089d int irods::api_entry::call_handler(RsComm*, DataObjInp*, portalOprOut**, BytesBuf*) <13> Offset: 0x749 Address: 0x7fbcc21a9429 rsApiHandler(RsComm*, int, BytesBuf*, BytesBuf*) <14> Offset: 0xa4e Address: 0x7fbcc21ab4ee readAndProcClientMsg(RsComm*, int) <15> Offset: 0xcf8 Address: 0x7fbcc219c6c8 agentMain(RsComm*) <16> Offset: 0x2298 Address: 0x7fbcc219a6e8 runIrodsAgentFactory(sockaddr_un) <17> Offset: Address: 0x42ce58 /usr/sbin/irodsServer(main+0x1708) [0x42ce58] <18> Offset: Address: 0x7fbcbf8c0555 /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fbcbf8c0555] <19> Offset: Address: 0x42b56c /usr/sbin/irodsServer() [0x42b56c] ] ``` - when you `iput` a data object in an unrelated resource and `iget` it. ``` Aug 31 18:13:16 pid:21100 NOTICE: Failed to restage data object [/myzone/home/rods/testfile2] for resource [default] Exception: [iRODS Exception: file: /irods_capability_storage_tiering/storage_tiering.cpp function: std::string irods::storage_tiering::get_group_name_by_replica_number(rcComm_t *, const std::string &, const std::string &, const std::string &) line: 773 code: -808000 (CAT_NO_ROWS_FOUND) message: failed to fetch group name by resource and replica number stack trace: -------------- Dumping stack trace <0> Offset: 0x6e Address: 0x7fbcc2e8ca4e irods::exception::exception(long, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, unsigned int, std::__1::basic_string, std::__1::allocator > const&) <1> Offset: 0x48d Address: 0x7fbcbb8f08fd irods::storage_tiering::get_group_name_by_replica_number(RcComm*, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&) <2> Offset: 0x4b Address: 0x7fbcbb8f0bab irods::storage_tiering::migrate_object_to_minimum_restage_tier(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&) <3> Offset: 0x1257 Address: 0x7fbcbb8bdad7 exec_rule(std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback) <4> Offset: 0x2e Address: 0x7fbcbb8e692e std::__1::__function::__func&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback), std::__1::allocator&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback)>, irods::error (std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback)>::operator()(std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator > const&, std::__1::list >&, irods::callback&&) <5> Offset: 0xf6 Address: 0x7fbcc2000296 irods::error irods::pluggable_rule_engine >::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::tuple<>&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&, irods::callback) <6> Offset: 0x85 Address: 0x7fbcc2000125 std::__1::__function::__func, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const::'lambda'(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::allocator, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const::'lambda'(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, irods::error (std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>::operator()(std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <7> Offset: 0x189 Address: 0x7fbcc2000c79 irods::error irods::dynamic_operation_execution_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)1>::call, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::function, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&&&, irods::re_pack_inp >&&&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'()::operator()() const <8> Offset: 0xce Address: 0x7fbcc1fffdce irods::error irods::dynamic_operation_execution_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)1>::call, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::function, std::__1::allocator > const&, irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)>, std::__1::basic_string, std::__1::allocator > const&&&, irods::re_pack_inp >&&&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <9> Offset: 0x103 Address: 0x7fbcc1fff9a3 irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::operator()(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) const <10> Offset: 0x100 Address: 0x7fbcc1fff630 irods::error irods::control, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::tuple<>, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::list >, std::__1::allocator > > >&, irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(irods::re_pack_inp >&, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), irods::error irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>::exec_rule, std::__1::allocator >&, irods::plugin_context&, DataObjInp*, portalOprOut**, BytesBuf*>(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&)::'lambda'(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, irods::plugin_context&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&), std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&&&, irods::plugin_context&&&, DataObjInp*&&, portalOprOut**&&, BytesBuf*&&) <11> Offset: 0x629 Address: 0x7fbcc1fff0c9 irods::error irods::api_entry::invoke_policy_enforcement_point(irods::rule_engine_context_manager, RuleExecInfo*, (irods::rule_execution_manager_pack)0>, irods::plugin_context, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, DataObjInp*, portalOprOut**, BytesBuf*) <12> Offset: 0x7ed Address: 0x7fbcc1ef089d int irods::api_entry::call_handler(RsComm*, DataObjInp*, portalOprOut**, BytesBuf*) <13> Offset: 0x749 Address: 0x7fbcc21a9429 rsApiHandler(RsComm*, int, BytesBuf*, BytesBuf*) <14> Offset: 0xa4e Address: 0x7fbcc21ab4ee readAndProcClientMsg(RsComm*, int) <15> Offset: 0xcf8 Address: 0x7fbcc219c6c8 agentMain(RsComm*) <16> Offset: 0x2298 Address: 0x7fbcc219a6e8 runIrodsAgentFactory(sockaddr_un) <17> Offset: Address: 0x42ce58 /usr/sbin/irodsServer(main+0x1708) [0x42ce58] <18> Offset: Address: 0x7fbcbf8c0555 /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fbcbf8c0555] <19> Offset: Address: 0x42b56c /usr/sbin/irodsServer() [0x42b56c] ] ``` This errors even appears when no rule is running. Please note that these errors are similar to the one JustinKyleJames reported earlier (see https://github.com/irods/irods_capability_storage_tiering/issues/162). Importantly, I haven't found any side-effects apart from the log message yet. The file does arrive in your local directory. If you don't set data_transfer_log_level in server_config.json, the errors don't appear. This was tested with iRODS 4.2.10 and a postgres database. The same issue was also found earlier with iRODS 4.2.8.
trel commented 3 years ago

Yes, this looks like an exact duplicate of #162.

There is nothing wrong here - CAT_NO_ROWS_FOUND is correct... it's just very noisy.

We just need to catch the not-yet-tagged-with-metadata case... and... ignore it? or change to LOG_DEBUG?

The interesting case is that this is/should be a LOG_ERROR if it was supposed to already have the attached metadata.

kript commented 2 years ago

We will hit this too (in 4.2.7), so supporting this being fixed.

trel commented 2 years ago

My current thinking is that this is best to be a LOG_DEBUG message (and definitely doesn't need the attached scary-looking stacktrace). Once we implement #72, I think this becomes moot as well.

kript commented 1 year ago

Is there an ETA for this fix. it is very noisy on a live system with lots of ingest!

alanking commented 1 year ago

@korydraughn / @trel - Thoughts on changing the level of log message to LOG_DEBUG for a 4.2.11.1 and the proper fix (#72) in a later release?

korydraughn commented 1 year ago

That seems good. The level of the log message can be changed for a 4.2.11.1 release. We can investigate #72 and decide whether that is a 4.2.12 fix or not.