From 03ae097b959b0cd83c6b945bdf51b5b704eeb136 Mon Sep 17 00:00:00 2001 From: boB Rudis Date: Fri, 15 Feb 2019 08:42:00 -0500 Subject: [PATCH 1/2] info abt signals --- R/metis-package.R | 19 +++++++++++++++++++ README.Rmd | 14 ++++++++++++++ README.md | 15 +++++++++++++++ man/metis.Rd | 21 +++++++++++++++++++++ 4 files changed, 69 insertions(+) diff --git a/R/metis-package.R b/R/metis-package.R index af572b1..5b947c2 100644 --- a/R/metis-package.R +++ b/R/metis-package.R @@ -4,11 +4,30 @@ #' perform queries and retrieve query results. A lightweight 'RJDBC' implementation #' is included along with an interface to the 'AWS' command-line utility. #' +#' @section IMPORTANT: +#' +#' Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from interrupting +#' Athena JDBC calls crash the R #' interpreter. You need to set the `-Xrs` option to avoid +#' signals being passed on to the JVM owner. That has to be done _#' before_ `rJava` is +#' loaded so you either need to remember to put it at the top of all scripts _or_ stick this +#' in your local #' `~/.Rprofile` and/or sitewide `Rprofile`: +#' +#' +#' if (!grepl("-Xrs", getOption("java.parameters", ""))) { +#' options( +#' "java.parameters" = paste0( +#' c(getOption("java.parameters", default = NULL), "-Xrs"), +#' collapse=" " +#' ) +#' ) +#' } +#' #' @name metis #' @encoding UTF-8 #' @docType package #' @author Bob Rudis (bob@@rud.is) #' @import RJDBC +#' @keywords internal #' @import DBI #' @import dplyr #' @importFrom jsonlite fromJSON diff --git a/README.Rmd b/README.Rmd index 4346955..910bd58 100644 --- a/README.Rmd +++ b/README.Rmd @@ -24,6 +24,20 @@ NOTE that the updated driver *REQUIRES JDK 1.8+*. See the **Usage** section for an example. +## IMPORTANT + +Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from interrupting Athena JDBC calls crash the R interpreter. You need to set the `-Xrs` option to avoid signals being passed on to the JVM owner. That has to be done _before_ `rJava` is loaded so you either need to remember to put it at the top of all scripts _or_ stick this in your local `~/.Rprofile` and/or sitewide `Rprofile`: + +```r +if (!grepl("-Xrs", getOption("java.parameters", ""))) { + options( + "java.parameters" = paste0( + c(getOption("java.parameters", default = NULL), "-Xrs"), + collapse=" " + ) + ) +} +``` ## What's Inside The Tin? The following functions are implemented: diff --git a/README.md b/README.md index 6164cc5..e833e92 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,21 @@ NOTE that the updated driver *REQUIRES JDK 1.8+*. See the **Usage** section for an example. +## IMPORTANT + +Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from interrupting Athena JDBC calls crash the R interpreter. You need to set the `-Xrs` option to avoid signals being passed on to the JVM owner. That has to be done _before_ `rJava` is loaded so you either need to remember to put it at the top of all scripts _or_ stick this in your local `~/.Rprofile` and/or sitewide `Rprofile`: + +```r +if (!grepl("-Xrs", getOption("java.parameters", ""))) { + options( + "java.parameters" = paste0( + c(getOption("java.parameters", default = NULL), "-Xrs"), + collapse=" " + ) + ) +} +``` + ## What’s Inside The Tin? The following functions are implemented: diff --git a/man/metis.Rd b/man/metis.Rd index a91bba3..8da9bff 100644 --- a/man/metis.Rd +++ b/man/metis.Rd @@ -11,6 +11,27 @@ Methods are provides to connect to 'Amazon' 'Athena', lookup schemas/tables, perform queries and retrieve query results. A lightweight 'RJDBC' implementation is included along with an interface to the 'AWS' command-line utility. } +\section{IMPORTANT}{ + + +Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from interrupting +Athena JDBC calls crash the R #' interpreter. You need to set the `-Xrs` option to avoid +signals being passed on to the JVM owner. That has to be done _#' before_ `rJava` is +loaded so you either need to remember to put it at the top of all scripts _or_ stick this +in your local #' `~/.Rprofile` and/or sitewide `Rprofile`: + + + if (!grepl("-Xrs", getOption("java.parameters", ""))) { + options( + "java.parameters" = paste0( + c(getOption("java.parameters", default = NULL), "-Xrs"), + collapse=" " + ) + ) + } +} + \author{ Bob Rudis (bob@rud.is) } +\keyword{internal} From ab5e07c17024ee5ea20af91f388d13e4c2f67a3d Mon Sep 17 00:00:00 2001 From: hrbrmstr Date: Fri, 15 Feb 2019 16:51:48 -0500 Subject: [PATCH 2/2] updated options --- R/metis-package.R | 5 +---- README.Rmd | 5 +---- README.md | 5 +---- man/metis.Rd | 5 +---- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/R/metis-package.R b/R/metis-package.R index 5b947c2..95ca2e7 100644 --- a/R/metis-package.R +++ b/R/metis-package.R @@ -15,10 +15,7 @@ #' #' if (!grepl("-Xrs", getOption("java.parameters", ""))) { #' options( -#' "java.parameters" = paste0( -#' c(getOption("java.parameters", default = NULL), "-Xrs"), -#' collapse=" " -#' ) +#' "java.parameters" = c(getOption("java.parameters", default = NULL), "-Xrs") #' ) #' } #' diff --git a/README.Rmd b/README.Rmd index 910bd58..44cb779 100644 --- a/README.Rmd +++ b/README.Rmd @@ -31,10 +31,7 @@ Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from inter ```r if (!grepl("-Xrs", getOption("java.parameters", ""))) { options( - "java.parameters" = paste0( - c(getOption("java.parameters", default = NULL), "-Xrs"), - collapse=" " - ) + "java.parameters" = c(getOption("java.parameters", default = NULL), "-Xrs") ) } ``` diff --git a/README.md b/README.md index e833e92..83af003 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,7 @@ Since R 3.5 (I don't remember this happening in R 3.4.x) signals sent from inter ```r if (!grepl("-Xrs", getOption("java.parameters", ""))) { options( - "java.parameters" = paste0( - c(getOption("java.parameters", default = NULL), "-Xrs"), - collapse=" " - ) + "java.parameters" = c(getOption("java.parameters", default = NULL), "-Xrs") ) } ``` diff --git a/man/metis.Rd b/man/metis.Rd index 8da9bff..dab1e4b 100644 --- a/man/metis.Rd +++ b/man/metis.Rd @@ -23,10 +23,7 @@ in your local #' `~/.Rprofile` and/or sitewide `Rprofile`: if (!grepl("-Xrs", getOption("java.parameters", ""))) { options( - "java.parameters" = paste0( - c(getOption("java.parameters", default = NULL), "-Xrs"), - collapse=" " - ) + "java.parameters" = c(getOption("java.parameters", default = NULL), "-Xrs") ) } }