From 823a7c9ab81b65aa5cfed4704d9f1f278e5753ec Mon Sep 17 00:00:00 2001 From: nperez Date: Mon, 17 Jan 2022 15:17:46 +0100 Subject: [PATCH 1/2] fix function creating shared object names --- inst/chunking/load_process_save_chunk.R | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/inst/chunking/load_process_save_chunk.R b/inst/chunking/load_process_save_chunk.R index 55e47f0..8dab45f 100644 --- a/inst/chunking/load_process_save_chunk.R +++ b/inst/chunking/load_process_save_chunk.R @@ -73,7 +73,18 @@ for (input in 1:length(data)) { # Creates a name for the temporal file using the chunks numbers: nameMemoryObject <- gsub("[^0-9.-]", "_", gsub(out_dir, "", task_path)) nameMemoryObject <- substr(nameMemoryObject, 2, nchar(nameMemoryObject)) - removeRS <- function(str) paste(rle(strsplit(str, "")[[1]])$values, collapse = "") + removeRS <- function(str) { + vec <- strsplit(str, "")[[1]] + res <- vec[1] + for (i in 2:length(vec)) { + if (!is.na(as.numeric(vec[i]))) { + res <- c(res, vec[i]) + } else if (res[length(res)] != vec[i]) { + res <- c(res, vec[i]) + } + } + return(paste(res, collapse = "")) + } nameMemoryObject <- removeRS(nameMemoryObject) start_call[['ObjectBigmemory']] <- nameMemoryObject data[[input]] <- tryCatch(eval(start_call), -- GitLab From 9ead5ded6f89f88f8fe6e8f8d7826a3ce48a6274 Mon Sep 17 00:00:00 2001 From: nperez Date: Mon, 17 Jan 2022 16:38:54 +0100 Subject: [PATCH 2/2] suppressWarnings in name shared object --- inst/chunking/load_process_save_chunk.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inst/chunking/load_process_save_chunk.R b/inst/chunking/load_process_save_chunk.R index 8dab45f..b7b73a9 100644 --- a/inst/chunking/load_process_save_chunk.R +++ b/inst/chunking/load_process_save_chunk.R @@ -77,7 +77,7 @@ for (input in 1:length(data)) { vec <- strsplit(str, "")[[1]] res <- vec[1] for (i in 2:length(vec)) { - if (!is.na(as.numeric(vec[i]))) { + if (!is.na(as.numeric(vec[i], supressWarnings = TRUE))) { res <- c(res, vec[i]) } else if (res[length(res)] != vec[i]) { res <- c(res, vec[i]) @@ -85,7 +85,7 @@ for (input in 1:length(data)) { } return(paste(res, collapse = "")) } - nameMemoryObject <- removeRS(nameMemoryObject) + nameMemoryObject <- suppressWarnings(removeRS(nameMemoryObject)) start_call[['ObjectBigmemory']] <- nameMemoryObject data[[input]] <- tryCatch(eval(start_call), # Handler when an error occurs: -- GitLab