diff -Nru snow-0.4.2/debian/changelog snow-0.4.3/debian/changelog --- snow-0.4.2/debian/changelog 2018-06-02 21:30:31.000000000 +0000 +++ snow-0.4.3/debian/changelog 2018-09-14 21:47:07.000000000 +0000 @@ -1,3 +1,12 @@ +snow (1:0.4.3-1) unstable; urgency=medium + + * New upstream release + + * debian/control: Set Build-Depends: to current R version + * debian/control: Set Standards-Version: to current version + + -- Dirk Eddelbuettel Fri, 14 Sep 2018 16:47:07 -0500 + snow (1:0.4.2-2) unstable; urgency=medium * Rebuilding for R 3.5.0 transition diff -Nru snow-0.4.2/debian/control snow-0.4.3/debian/control --- snow-0.4.2/debian/control 2018-06-02 21:19:05.000000000 +0000 +++ snow-0.4.3/debian/control 2018-09-14 21:47:07.000000000 +0000 @@ -2,8 +2,8 @@ Section: gnu-r Priority: optional Maintainer: Dirk Eddelbuettel -Build-Depends: debhelper (>= 10), r-base-dev (>= 3.5.0), dh-r -Standards-Version: 4.1.4 +Build-Depends: debhelper (>= 10), r-base-dev (>= 3.5.1), dh-r +Standards-Version: 4.2.1 Vcs-Browser: https://salsa.debian.org/edd/r-cran-snow Vcs-Git: https://salsa.debian.org/edd/r-cran-snow.git Homepage: https://cran.r-project.org/package=snow diff -Nru snow-0.4.2/DESCRIPTION snow-0.4.3/DESCRIPTION --- snow-0.4.2/DESCRIPTION 2016-10-13 22:16:59.000000000 +0000 +++ snow-0.4.3/DESCRIPTION 2018-09-14 14:30:03.000000000 +0000 @@ -1,6 +1,6 @@ Package: snow Title: Simple Network of Workstations -Version: 0.4-2 +Version: 0.4-3 Author: Luke Tierney, A. J. Rossini, Na Li, H. Sevcikova Description: Support for simple parallel computing in R. Maintainer: Luke Tierney @@ -8,6 +8,6 @@ License: GPL Depends: R (>= 2.13.1), utils NeedsCompilation: no -Packaged: 2016-10-13 18:42:37 UTC; luke +Packaged: 2018-09-03 17:09:39 UTC; luke Repository: CRAN -Date/Publication: 2016-10-14 00:16:59 +Date/Publication: 2018-09-14 14:30:03 UTC diff -Nru snow-0.4.2/man/snow-internal.Rd snow-0.4.3/man/snow-internal.Rd --- snow-0.4.2/man/snow-internal.Rd 2015-10-30 20:33:14.000000000 +0000 +++ snow-0.4.3/man/snow-internal.Rd 2018-09-03 17:09:26.000000000 +0000 @@ -59,7 +59,6 @@ \alias{checkForRemoteErrors} \alias{staticClusterApply} \alias{dynamicClusterApply} -\alias{[.cluster} \alias{shQuoteIfNeeded} \usage{ \method{stopCluster}{default}(cl) @@ -124,7 +123,6 @@ checkForRemoteErrors(val) staticClusterApply(cl, fun, n, argfun) dynamicClusterApply(cl, fun, n, argfun) -\method{[}{cluster}(cl, ...) shQuoteIfNeeded(p) } diff -Nru snow-0.4.2/MD5 snow-0.4.3/MD5 --- snow-0.4.2/MD5 2016-10-13 22:16:59.000000000 +0000 +++ snow-0.4.3/MD5 2018-09-14 14:30:03.000000000 +0000 @@ -1,9 +1,9 @@ -a4005c0a209579bed707fca51139e45b *DESCRIPTION -3e1d181f2a08e42144e3471230a8bf8a *NAMESPACE +0bc83c4b667418f7883de228c96e9a78 *DESCRIPTION +5e10e268dd2eae00a820eb9125c2b332 *NAMESPACE c41542f37ed36daa3fd72e4b2a0b841e *R/mpi.R 803d622a417a6641cc9a3e766895b9c0 *R/nws.R -dce3fab3a5c0e926fe1609ff7547fda7 *R/snow.R -e74b59b2a64eb707da3f14f5470da7d3 *R/sock.R +aad4a0dadc6036760b7f9785c0a3a836 *R/snow.R +663d08fda3442a514fc2329cc46b7411 *R/sock.R 59d3c83000da91b34a6fbbd9e98f168b *R/timing.R 60a14d1023b235272455b04dd77151a8 *README 14228e3f50d14bc0672d4badb6971975 *inst/RMPISNOW @@ -20,7 +20,7 @@ 28d30ce64558eef7cac822ff090ebcdf *inst/RunSnowWorker 618bcd4abfbbc08f8c9df392de152497 *inst/RunSnowWorker.bat 9ad1de9d79cde60991f772fdca78f9f8 *man/snow-cluster.Rd -b3a4fac78cacc619eb469245d14e6078 *man/snow-internal.Rd +10768c444b7471cdf0ef079a98fd113f *man/snow-internal.Rd 6dcb34ff5c1151176b87e9e7a353e038 *man/snow-parallel.Rd 9e71a275286e0481a0aa0434cc34997e *man/snow-rand.Rd c84f531e83a50c3d91874e8968f06301 *man/snow-startstop.Rd diff -Nru snow-0.4.2/NAMESPACE snow-0.4.3/NAMESPACE --- snow-0.4.2/NAMESPACE 2015-10-30 20:33:14.000000000 +0000 +++ snow-0.4.3/NAMESPACE 2018-09-03 17:09:26.000000000 +0000 @@ -4,6 +4,7 @@ importFrom("graphics", "abline", "axis", "plot", "rect", "segments") importFrom("stats", "runif") importFrom("utils", "flush.console") +importFrom("parallel", "detectCores") ## really just to get `[,cluster`! S3method(plot, snowTimingData) S3method(print, snowTimingData) diff -Nru snow-0.4.2/R/snow.R snow-0.4.3/R/snow.R --- snow-0.4.2/R/snow.R 2016-10-13 18:13:31.000000000 +0000 +++ snow-0.4.3/R/snow.R 2018-09-03 17:09:26.000000000 +0000 @@ -26,11 +26,12 @@ stop("not a valid cluster"); } -"[.cluster" <-function(cl,...) { - v<-unclass(cl)[...] - class(v)<-class(cl) - v -} +## Now defined in 'parallel' +## "[.cluster" <-function(cl,...) { +## v<-unclass(cl)[...] +## class(v)<-class(cl) +## v +## } # diff -Nru snow-0.4.2/R/sock.R snow-0.4.3/R/sock.R --- snow-0.4.2/R/sock.R 2011-05-16 14:41:53.000000000 +0000 +++ snow-0.4.3/R/sock.R 2018-09-03 16:22:11.000000000 +0000 @@ -99,12 +99,26 @@ makeSOCKmaster <- function(master = Sys.getenv("MASTER"), port = Sys.getenv("PORT")) { port <- as.integer(port) - ## maybe use `try' and sleep/retry if first time fails? - ## need timeout here because of the way internals work timeout <- getClusterOption("timeout") - old <- options(timeout = timeout); - on.exit(options(old)) - con <- socketConnection(master, port = port, blocking=TRUE, open="a+b") + + ## Retry scheme parameters (do these need to be customizable?) + retryDelay <- 0.1 # 0.1 second initial delay before retrying + retryScale <- 1.5 # 50% increase of delay at each retry + setup_timeout <- 120 # retry setup for 2 minutes before failing + + ## Retry multiple times in case the master is not yet ready + t0 <- Sys.time() + repeat { + con <- tryCatch({ + socketConnection(master, port = port, blocking = TRUE, + open = "a+b", timeout = timeout) + }, error = identity, warning = identity) + if (inherits(con, "connection")) break + if (Sys.time() - t0 > setup_timeout) break + Sys.sleep(retryDelay) + retryDelay <- retryScale * retryDelay + } + if (inherits(con, "condition")) stop(con) structure(list(con = con), class = "SOCKnode") }