diff --git a/R/metis-lite-package.R b/R/metis-lite-package.R index 5ecd549..3d72b10 100644 --- a/R/metis-lite-package.R +++ b/R/metis-lite-package.R @@ -5,10 +5,36 @@ #' is included along with an interface to the 'AWS' command-line utility. #' #' @name metis.lite +#' +#' @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`: +#' +#' +#' @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" = c(getOption("java.parameters", default = NULL), "-Xrs") +#' ) +#' } +#' #' @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..44cb779 100644 --- a/README.Rmd +++ b/README.Rmd @@ -24,6 +24,17 @@ 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" = c(getOption("java.parameters", default = NULL), "-Xrs") + ) +} +``` ## What's Inside The Tin? The following functions are implemented: diff --git a/README.md b/README.md index 6164cc5..83af003 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,18 @@ 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" = c(getOption("java.parameters", default = NULL), "-Xrs") + ) +} +``` + ## What’s Inside The Tin? The following functions are implemented: diff --git a/man/metis.lite.Rd b/man/metis.lite.Rd index 6651d47..de95690 100644 --- a/man/metis.lite.Rd +++ b/man/metis.lite.Rd @@ -11,6 +11,24 @@ 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" = c(getOption("java.parameters", default = NULL), "-Xrs") + ) + } +} + \author{ Bob Rudis (bob@rud.is) } +\keyword{internal}