Commit a39c1f03 authored by Tommaso Tocci's avatar Tommaso Tocci
Browse files

Merge branch 'margo_0.3_support' into 'master'

Version bump dependencies. ADA-FS code modifications for Margo 0.3

See merge request zdvresearch_bsc/adafs!35
parents 6909610f a8ecfd29
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -258,7 +258,7 @@ MERCURY_VERSION=$(cd ${CURR} && git log --since 02-25-2018 | wc -l)
echo $MERCURY_VERSION
if [ ${MERCURY_VERSION} -eq 0 ]; then
    echo "########## Mercury version is too old. Pulling new version ..."
    cd $CURR && git checkout c4faa382fd228c0b629c9164a984df1779089d3f || exit 1
    cd $CURR && git checkout d015745ce25d839b8b46e68c11a7d8278423a46b || exit 1
fi
prepare_build_dir ${CURR}
cd ${CURR}
+4 −4
Original line number Diff line number Diff line
@@ -176,19 +176,19 @@ fi
if [ "${NA_LAYER}" == "ofi" ] || [ "${NA_LAYER}" == "all" ]; then
    # No need to get libfabric for mogon2 as it is already installed
    if [[ ("${CLUSTER}" != "mogon2") ]]; then
        wgetdeps "libfabric" "https://github.com/ofiwg/libfabric/archive/v1.5.3.tar.gz" &
        wgetdeps "libfabric" "https://github.com/ofiwg/libfabric/archive/v1.6.0.tar.gz" &
    fi
fi
# get Mercury
clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "c4faa382fd228c0b629c9164a984df1779089d3f"  "--recurse-submodules" &
clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "d015745ce25d839b8b46e68c11a7d8278423a46b"  "--recurse-submodules" &
# get Argobots
clonedeps "argobots" "https://github.com/carns/argobots.git" "78ceea28ed44faca12cf8ea7f5687b894c66a8c4" "-b dev-get-dev-basic" &
# get Argobots-snoozer
clonedeps "abt-snoozer" "https://xgitlab.cels.anl.gov/sds/abt-snoozer.git" "3d9240eda290bfb89f08a5673cebd888194a4bd7" &
clonedeps "abt-snoozer" "https://xgitlab.cels.anl.gov/sds/abt-snoozer.git" "54c506103cf2d77bd76460db29a67a875f5c5a85" &
# get Argobots-IO
#clonedeps "abt-io" "https://xgitlab.cels.anl.gov/sds/abt-io.git" "35f16da88a1c579ed4726bfa77daa1884829fc0c" &
# get Margo
clonedeps "margo" "https://xgitlab.cels.anl.gov/sds/margo.git" "72eec057314a4251d8658e03a18240275992e1ce" &
clonedeps "margo" "https://xgitlab.cels.anl.gov/sds/margo.git" "a660d149e8c9b840f9a363db03f2ef23476f91f1" &
# get rocksdb
wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v5.11.3.tar.gz" &

+2 −2
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static hg_return_t rpc_srv_write_data(hg_handle_t handle) {
    auto mid = margo_hg_info_get_instance(hgi);
    auto bulk_size = margo_bulk_get_size(in.bulk_handle);
    ADAFS_DATA->spdlogger()->debug("{}() Got write RPC (local {}) with path {} size {} offset {}", __func__,
                                   (margo_get_info(handle)->target_id == ADAFS_DATA->host_id()), in.path, bulk_size,
                                   (margo_get_info(handle)->context_id == ADAFS_DATA->host_id()), in.path, bulk_size,
                                   in.offset);
    /*
     * 2. Set up buffers for pull bulk transfers
@@ -242,7 +242,7 @@ static hg_return_t rpc_srv_read_data(hg_handle_t handle) {
    auto mid = margo_hg_info_get_instance(hgi);
    auto bulk_size = margo_bulk_get_size(in.bulk_handle);
    ADAFS_DATA->spdlogger()->debug("{}() Got read RPC (local {}) with path {} size {} offset {}", __func__,
                                   (margo_get_info(handle)->target_id == ADAFS_DATA->host_id()), in.path, bulk_size,
                                   (margo_get_info(handle)->context_id == ADAFS_DATA->host_id()), in.path, bulk_size,
                                   in.offset);

    /*
+2 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ static hg_return_t rpc_srv_mk_node(hg_handle_t handle) {
        ADAFS_DATA->spdlogger()->error("{}() Failed to retrieve input from handle", __func__);
    assert(ret == HG_SUCCESS);
    ADAFS_DATA->spdlogger()->debug("{}() Got RPC (from local {}) with path {}", __func__,
                                   (margo_get_info(handle)->target_id == ADAFS_DATA->host_id()), in.path);
                                   (margo_get_info(handle)->context_id == ADAFS_DATA->host_id()), in.path);
    // create metadentry
    out.err = create_metadentry(in.path, in.mode);

@@ -69,7 +69,7 @@ static hg_return_t rpc_srv_access(hg_handle_t handle) {
        ADAFS_DATA->spdlogger()->error("{}() Failed to retrieve input from handle", __func__);
    assert(ret == HG_SUCCESS);
    ADAFS_DATA->spdlogger()->debug("{}() Got RPC (from local {}) with path {}", __func__,
                                   (margo_get_info(handle)->target_id == ADAFS_DATA->host_id()), in.path);
                                   (margo_get_info(handle)->context_id == ADAFS_DATA->host_id()), in.path);
    // access metadentry
    out.err = check_access_mask(in.path, in.mask);

+4 −2
Original line number Diff line number Diff line
@@ -292,7 +292,9 @@ void destroy_preload() {
            }
        }
        ld_logger->debug("{}() About to finalize the margo RPC client. Actually not doing it XXX", __func__);
//        margo_finalize(ld_margo_rpc_id); // XXX Sometimes this hangs on the cluster. Investigate
        // XXX Sometimes this hangs on the cluster. Investigate.
        // Might been solved in margo 0.3. It is not an issue with Omnipath for sure. Maybe CCI only issue.
        margo_finalize(ld_margo_rpc_id);
        ld_logger->debug("{}() Shut down Margo RPC client successful", __func__);
    }
    // Shut down IPC client if used
@@ -301,7 +303,7 @@ void destroy_preload() {
        if (margo_addr_free(ld_margo_ipc_id, daemon_svr_addr) != HG_SUCCESS)
            ld_logger->warn("{}() Unable to free IPC client's daemon svr address.", __func__);
        ld_logger->debug("{}() About to finalize the margo IPC client. Actually not doing it XXX", __func__);
//        margo_finalize(ld_margo_ipc_id);
        margo_finalize(ld_margo_ipc_id);
        ld_logger->debug("{}() Shut down Margo IPC client successful", __func__);
    }
    if (services_used) {