Commit e6afe9e7 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Additional debug messages

parent 3efdc042
Loading
Loading
Loading
Loading
Loading
+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
Original line number Diff line number Diff line
Subproject commit 5d30d5aaa329e4984ba31f6702000f87f7b7082e
Subproject commit 160eafc2de0b6744f723a0f9332eefb070fddbbc
+15 −0
Original line number Diff line number Diff line
@@ -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 = 
+130 −2
Original line number Diff line number Diff line
@@ -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 {
@@ -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) :
@@ -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() {
+18 −0
Original line number Diff line number Diff line
@@ -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;