Skip to content
Snippets Groups Projects

Resolve "[*** LOG ERROR #1 ***] in ADM_update_adhoc_storage"

6 files
+ 76
31
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -24,7 +24,12 @@
#include <fmt/format.h>
#include <admire.hpp>
#include "common.hpp"
#define NJOB_NODES 50
#define NADHOC_NODES 25
#define NINPUTS 10
#define NOUTPUTS 5
int
main(int argc, char* argv[]) {
@@ -37,16 +42,40 @@ main(int argc, char* argv[]) {
admire::server server{"tcp", argv[1]};
admire::job job{42, 42};
const auto job_nodes = prepare_nodes(NJOB_NODES);
const auto adhoc_nodes = prepare_nodes(NADHOC_NODES);
const auto inputs = prepare_datasets("input-dataset-{}", NINPUTS);
const auto outputs = prepare_datasets("output-dataset-{}", NOUTPUTS);
std::string name = "adhoc_storage_42";
const auto adhoc_storage_ctx = admire::adhoc_storage::ctx{
admire::adhoc_storage::execution_mode::separate_new,
admire::adhoc_storage::access_type::read_write,
admire::adhoc_storage::resources{adhoc_nodes}, 100, false};
try {
[[maybe_unused]] const auto ret = admire::remove_job(server, job);
const auto adhoc_storage = admire::register_adhoc_storage(
server, name, admire::storage::type::gekkofs,
adhoc_storage_ctx);
admire::job_requirements reqs(inputs, outputs, adhoc_storage);
[[maybe_unused]] const auto job = admire::register_job(
server, admire::job::resources{job_nodes}, reqs, 0);
// do something with job
fmt::print(stdout, "ADM_register_job() remote procedure completed "
"successfully\n");
admire::remove_job(server, job);
fmt::print(stdout, "ADM_remove_job() remote procedure completed "
"successfully\n");
exit(EXIT_SUCCESS);
} catch(const std::exception& e) {
fmt::print(stdout, "ADM_remove_job() remote procedure not completed "
"successfully\n");
fmt::print(stderr, "FATAL: example failed: {}\n", e.what());
exit(EXIT_FAILURE);
}
}
Loading