Loading .gitmodules +1 −1 Original line number Diff line number Diff line [submodule "src/externals/hermes"] path = src/externals/hermes url = https://gitlab+deploy-token-4:ByFiVuuKjbwSFfZPE68G@storage.bsc.es/gitlab/hpc/hermes.git url = ../hermes.git hermes @ 160eafc2 Original line number Diff line number Diff line Subproject commit 5d30d5aaa329e4984ba31f6702000f87f7b7082e Subproject commit 160eafc2de0b6744f723a0f9332eefb070fddbbc src/io/transferors/local-path-to-remote-resource.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,21 @@ local_path_to_remote_resource_transferor::transfer( d_dst.name(), buffers); LOGGER_DEBUG("rpc::in::args{{"); LOGGER_DEBUG(" address: \"{}\",", m_remote_endpoint->self_address()); LOGGER_DEBUG(" in_nsid: \"{}\",", d_src.parent()->nsid()); LOGGER_DEBUG(" out_nsid: \"{}\",", d_dst.parent()->nsid()); LOGGER_DEBUG(" btype: {} ({}),", static_cast<uint32_t>(backend_type::posix_filesystem), utils::to_string(backend_type::posix_filesystem)); LOGGER_DEBUG(" rtype: {} ({}),", static_cast<uint32_t>(data::resource_type::local_posix_path), utils::to_string(data::resource_type::local_posix_path)); LOGGER_DEBUG(" rname: \"{}\",", d_dst.name()); LOGGER_DEBUG(" buffers: {{...}}"); LOGGER_DEBUG("};"); LOGGER_FLUSH(); auto start = std::chrono::steady_clock::now(); auto rpc = Loading src/rpcs.hpp +130 −2 Original line number Diff line number Diff line Loading @@ -104,7 +104,90 @@ struct remote_transfer { m_backend_type(backend_type), m_resource_type(resource_type), m_resource_name(resource_name), m_buffers(buffers) { } m_buffers(buffers) { #ifdef HERMES_DEBUG_BUILD this->print("this", __PRETTY_FUNCTION__); #endif } #ifdef HERMES_DEBUG_BUILD input(input&& rhs) : m_address(std::move(rhs.m_address)), m_in_nsid(std::move(rhs.m_in_nsid)), m_out_nsid(std::move(rhs.m_out_nsid)), m_backend_type(std::move(rhs.m_backend_type)), m_resource_type(std::move(rhs.m_resource_type)), m_resource_name(std::move(rhs.m_resource_name)), m_buffers(std::move(rhs.m_buffers)) { rhs.m_backend_type = 0; rhs.m_resource_type = 0; this->print("this", __PRETTY_FUNCTION__); rhs.print("rhs", __PRETTY_FUNCTION__); } input(const input& other) : m_address(other.m_address), m_in_nsid(other.m_in_nsid), m_out_nsid(other.m_out_nsid), m_backend_type(other.m_backend_type), m_resource_type(other.m_resource_type), m_resource_name(other.m_resource_name), m_buffers(other.m_buffers) { this->print("this", __PRETTY_FUNCTION__); other.print("other", __PRETTY_FUNCTION__); } input& operator=(input&& rhs) { if(this != &rhs) { m_address = std::move(rhs.m_address); m_in_nsid = std::move(rhs.m_in_nsid); m_out_nsid = std::move(rhs.m_out_nsid); m_backend_type = std::move(rhs.m_backend_type); m_resource_type = std::move(rhs.m_resource_type); m_resource_name = std::move(rhs.m_resource_name); m_buffers = std::move(rhs.m_buffers); rhs.m_backend_type = 0; rhs.m_resource_type = 0; } this->print("this", __PRETTY_FUNCTION__); rhs.print("rhs", __PRETTY_FUNCTION__); return *this; } input& operator=(const input& other) { if(this != &other) { m_address = other.m_address; m_in_nsid = other.m_in_nsid; m_out_nsid = other.m_out_nsid; m_backend_type = other.m_backend_type; m_resource_type = other.m_resource_type; m_resource_name = other.m_resource_name; m_buffers = other.m_buffers; } this->print("this", __PRETTY_FUNCTION__); other.print("other", __PRETTY_FUNCTION__); return *this; } #else // HERMES_DEBUG_BUILD input(input&& rhs) = default; input(const input& other) = default; input& operator=(input&& rhs) = default; input& operator=(const input& other) = default; #endif // ! HERMES_DEBUG_BUILD std::string address() const { Loading Loading @@ -141,6 +224,36 @@ struct remote_transfer { return m_buffers; } #ifdef HERMES_DEBUG_BUILD void print(const std::string& id, const std::string& caller = "") const { (void) id; auto c = caller.empty() ? "unknown_caller" : caller; HERMES_DEBUG2("{}, {} ({}) = {{", caller, id, fmt::ptr(this)); HERMES_DEBUG2(" m_address: \"{}\" ({} -> {}),", m_address, fmt::ptr(&m_address), fmt::ptr(m_address.c_str())); HERMES_DEBUG2(" m_in_nsid: \"{}\" ({} -> {}),", m_in_nsid, fmt::ptr(&m_in_nsid), fmt::ptr(m_in_nsid.c_str())); HERMES_DEBUG2(" m_out_nsid: \"{}\" ({} -> {}),", m_out_nsid, fmt::ptr(&m_out_nsid), fmt::ptr(m_out_nsid.c_str())); HERMES_DEBUG2(" m_backend_type: {},", m_backend_type); HERMES_DEBUG2(" m_resource_type: {},", m_resource_type); HERMES_DEBUG2(" m_resource_name: \"{}\" ({} -> {}),", m_resource_name, fmt::ptr(&m_resource_name), fmt::ptr(m_resource_name.c_str())); HERMES_DEBUG2(" m_buffers: {...},"); HERMES_DEBUG2("}}"); } #endif // ! HERMES_DEBUG_BUILD //TODO: make private explicit input(const hermes::detail::remote_transfer_in_t& other) : Loading @@ -150,7 +263,22 @@ struct remote_transfer { m_backend_type(other.backend_type), m_resource_type(other.resource_type), m_resource_name(other.resource_name), m_buffers(other.buffers) { } m_buffers(other.buffers) { HERMES_DEBUG("input::input(const hermes::detail::remote_transfer_in_t&){{"); HERMES_DEBUG(" m_address: {} ({}),", m_address, fmt::ptr(&m_address)); HERMES_DEBUG(" m_in_nsid: {} ({}),", m_in_nsid, fmt::ptr(&m_in_nsid)); HERMES_DEBUG(" m_out_nsid: {} ({}),", m_out_nsid, fmt::ptr(&m_out_nsid)); HERMES_DEBUG(" m_backend_type: {},", m_backend_type); HERMES_DEBUG(" m_resource_type: {},", m_resource_type); HERMES_DEBUG(" m_buffers: {...},"); HERMES_DEBUG("}}"); } explicit operator hermes::detail::remote_transfer_in_t() { Loading src/urd.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -680,6 +680,24 @@ urd::remote_transfer_handler(hermes::request<rpc::remote_transfer>&& req) { args.out_nsid(), args.resource_name()); LOGGER_DEBUG("rpc::out::args{{"); LOGGER_DEBUG(" address: \"{}\",", args.address()); LOGGER_DEBUG(" in_nsid: \"{}\",", args.in_nsid()); LOGGER_DEBUG(" out_nsid: \"{}\",", args.out_nsid()); LOGGER_DEBUG(" btype: {} ({}),", args.backend_type(), utils::to_string( static_cast<backend_type>(args.backend_type()))); LOGGER_DEBUG(" rtype: {} ({}),", args.resource_type(), utils::to_string( static_cast<data::resource_type>(args.resource_type()))); LOGGER_DEBUG(" rname: \"{}\",", args.resource_name()); LOGGER_DEBUG(" buffers: {{...}}"); LOGGER_DEBUG("};"); LOGGER_FLUSH(); urd_error rv = urd_error::success; boost::optional<io::generic_task> t; std::shared_ptr<storage::backend> src_backend; Loading Loading
.gitmodules +1 −1 Original line number Diff line number Diff line [submodule "src/externals/hermes"] path = src/externals/hermes url = https://gitlab+deploy-token-4:ByFiVuuKjbwSFfZPE68G@storage.bsc.es/gitlab/hpc/hermes.git url = ../hermes.git
hermes @ 160eafc2 Original line number Diff line number Diff line Subproject commit 5d30d5aaa329e4984ba31f6702000f87f7b7082e Subproject commit 160eafc2de0b6744f723a0f9332eefb070fddbbc
src/io/transferors/local-path-to-remote-resource.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,21 @@ local_path_to_remote_resource_transferor::transfer( d_dst.name(), buffers); LOGGER_DEBUG("rpc::in::args{{"); LOGGER_DEBUG(" address: \"{}\",", m_remote_endpoint->self_address()); LOGGER_DEBUG(" in_nsid: \"{}\",", d_src.parent()->nsid()); LOGGER_DEBUG(" out_nsid: \"{}\",", d_dst.parent()->nsid()); LOGGER_DEBUG(" btype: {} ({}),", static_cast<uint32_t>(backend_type::posix_filesystem), utils::to_string(backend_type::posix_filesystem)); LOGGER_DEBUG(" rtype: {} ({}),", static_cast<uint32_t>(data::resource_type::local_posix_path), utils::to_string(data::resource_type::local_posix_path)); LOGGER_DEBUG(" rname: \"{}\",", d_dst.name()); LOGGER_DEBUG(" buffers: {{...}}"); LOGGER_DEBUG("};"); LOGGER_FLUSH(); auto start = std::chrono::steady_clock::now(); auto rpc = Loading
src/rpcs.hpp +130 −2 Original line number Diff line number Diff line Loading @@ -104,7 +104,90 @@ struct remote_transfer { m_backend_type(backend_type), m_resource_type(resource_type), m_resource_name(resource_name), m_buffers(buffers) { } m_buffers(buffers) { #ifdef HERMES_DEBUG_BUILD this->print("this", __PRETTY_FUNCTION__); #endif } #ifdef HERMES_DEBUG_BUILD input(input&& rhs) : m_address(std::move(rhs.m_address)), m_in_nsid(std::move(rhs.m_in_nsid)), m_out_nsid(std::move(rhs.m_out_nsid)), m_backend_type(std::move(rhs.m_backend_type)), m_resource_type(std::move(rhs.m_resource_type)), m_resource_name(std::move(rhs.m_resource_name)), m_buffers(std::move(rhs.m_buffers)) { rhs.m_backend_type = 0; rhs.m_resource_type = 0; this->print("this", __PRETTY_FUNCTION__); rhs.print("rhs", __PRETTY_FUNCTION__); } input(const input& other) : m_address(other.m_address), m_in_nsid(other.m_in_nsid), m_out_nsid(other.m_out_nsid), m_backend_type(other.m_backend_type), m_resource_type(other.m_resource_type), m_resource_name(other.m_resource_name), m_buffers(other.m_buffers) { this->print("this", __PRETTY_FUNCTION__); other.print("other", __PRETTY_FUNCTION__); } input& operator=(input&& rhs) { if(this != &rhs) { m_address = std::move(rhs.m_address); m_in_nsid = std::move(rhs.m_in_nsid); m_out_nsid = std::move(rhs.m_out_nsid); m_backend_type = std::move(rhs.m_backend_type); m_resource_type = std::move(rhs.m_resource_type); m_resource_name = std::move(rhs.m_resource_name); m_buffers = std::move(rhs.m_buffers); rhs.m_backend_type = 0; rhs.m_resource_type = 0; } this->print("this", __PRETTY_FUNCTION__); rhs.print("rhs", __PRETTY_FUNCTION__); return *this; } input& operator=(const input& other) { if(this != &other) { m_address = other.m_address; m_in_nsid = other.m_in_nsid; m_out_nsid = other.m_out_nsid; m_backend_type = other.m_backend_type; m_resource_type = other.m_resource_type; m_resource_name = other.m_resource_name; m_buffers = other.m_buffers; } this->print("this", __PRETTY_FUNCTION__); other.print("other", __PRETTY_FUNCTION__); return *this; } #else // HERMES_DEBUG_BUILD input(input&& rhs) = default; input(const input& other) = default; input& operator=(input&& rhs) = default; input& operator=(const input& other) = default; #endif // ! HERMES_DEBUG_BUILD std::string address() const { Loading Loading @@ -141,6 +224,36 @@ struct remote_transfer { return m_buffers; } #ifdef HERMES_DEBUG_BUILD void print(const std::string& id, const std::string& caller = "") const { (void) id; auto c = caller.empty() ? "unknown_caller" : caller; HERMES_DEBUG2("{}, {} ({}) = {{", caller, id, fmt::ptr(this)); HERMES_DEBUG2(" m_address: \"{}\" ({} -> {}),", m_address, fmt::ptr(&m_address), fmt::ptr(m_address.c_str())); HERMES_DEBUG2(" m_in_nsid: \"{}\" ({} -> {}),", m_in_nsid, fmt::ptr(&m_in_nsid), fmt::ptr(m_in_nsid.c_str())); HERMES_DEBUG2(" m_out_nsid: \"{}\" ({} -> {}),", m_out_nsid, fmt::ptr(&m_out_nsid), fmt::ptr(m_out_nsid.c_str())); HERMES_DEBUG2(" m_backend_type: {},", m_backend_type); HERMES_DEBUG2(" m_resource_type: {},", m_resource_type); HERMES_DEBUG2(" m_resource_name: \"{}\" ({} -> {}),", m_resource_name, fmt::ptr(&m_resource_name), fmt::ptr(m_resource_name.c_str())); HERMES_DEBUG2(" m_buffers: {...},"); HERMES_DEBUG2("}}"); } #endif // ! HERMES_DEBUG_BUILD //TODO: make private explicit input(const hermes::detail::remote_transfer_in_t& other) : Loading @@ -150,7 +263,22 @@ struct remote_transfer { m_backend_type(other.backend_type), m_resource_type(other.resource_type), m_resource_name(other.resource_name), m_buffers(other.buffers) { } m_buffers(other.buffers) { HERMES_DEBUG("input::input(const hermes::detail::remote_transfer_in_t&){{"); HERMES_DEBUG(" m_address: {} ({}),", m_address, fmt::ptr(&m_address)); HERMES_DEBUG(" m_in_nsid: {} ({}),", m_in_nsid, fmt::ptr(&m_in_nsid)); HERMES_DEBUG(" m_out_nsid: {} ({}),", m_out_nsid, fmt::ptr(&m_out_nsid)); HERMES_DEBUG(" m_backend_type: {},", m_backend_type); HERMES_DEBUG(" m_resource_type: {},", m_resource_type); HERMES_DEBUG(" m_buffers: {...},"); HERMES_DEBUG("}}"); } explicit operator hermes::detail::remote_transfer_in_t() { Loading
src/urd.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -680,6 +680,24 @@ urd::remote_transfer_handler(hermes::request<rpc::remote_transfer>&& req) { args.out_nsid(), args.resource_name()); LOGGER_DEBUG("rpc::out::args{{"); LOGGER_DEBUG(" address: \"{}\",", args.address()); LOGGER_DEBUG(" in_nsid: \"{}\",", args.in_nsid()); LOGGER_DEBUG(" out_nsid: \"{}\",", args.out_nsid()); LOGGER_DEBUG(" btype: {} ({}),", args.backend_type(), utils::to_string( static_cast<backend_type>(args.backend_type()))); LOGGER_DEBUG(" rtype: {} ({}),", args.resource_type(), utils::to_string( static_cast<data::resource_type>(args.resource_type()))); LOGGER_DEBUG(" rname: \"{}\",", args.resource_name()); LOGGER_DEBUG(" buffers: {{...}}"); LOGGER_DEBUG("};"); LOGGER_FLUSH(); urd_error rv = urd_error::success; boost::optional<io::generic_task> t; std::shared_ptr<storage::backend> src_backend; Loading