Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions .github/workflows/r.yml
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,6 @@ jobs:
fail-fast: false
matrix:
config:
- { rtools: 35, arch: 'mingw32' }
- { rtools: 35, arch: 'mingw64' }
- { rtools: 40, arch: 'mingw32' }
- { rtools: 40, arch: 'mingw64' }
- { rtools: 40, arch: 'ucrt64' }
Expand Down Expand Up @@ -199,19 +197,11 @@ jobs:
restore-keys: |
r-${{ matrix.config.rtools }}-ccache-mingw-${{ matrix.config.arch }}-${{ hashFiles('cpp/src/**/*.cc','cpp/src/**/*.h)') }}-
r-${{ matrix.config.rtools }}-ccache-mingw-${{ matrix.config.arch }}-
# We use the makepkg-mingw setup that is included in rtools40 even when
# we use the rtools35 compilers, so we always install R 4.0/Rtools40
- uses: r-lib/actions/setup-r@v2
with:
r-version: "4.1"
rtools-version: 40
Ncpus: 2
- uses: r-lib/actions/setup-r@v2
if: ${{ matrix.config.rtools == 35 }}
with:
rtools-version: 35
r-version: "3.6"
Ncpus: 2
- name: Build Arrow C++
shell: bash
env:
Expand All @@ -226,11 +216,6 @@ jobs:
with:
name: libarrow-rtools${{ matrix.config.rtools }}-${{ matrix.config.arch }}.zip
path: libarrow-rtools${{ matrix.config.rtools }}-${{ matrix.config.arch }}.zip
# We can remove this when we drop support for Rtools 3.5.
- name: Ensure using system tar in actions/cache
run: |
Write-Output "${Env:windir}\System32" | `
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

windows-r:
needs: [windows-cpp]
Expand All @@ -242,7 +227,6 @@ jobs:
fail-fast: false
matrix:
config:
- { rtools: 35, rversion: "3.6" }
- { rtools: 40, rversion: "4.1" }
- { rtools: 42, rversion: "4.2" }
- { rtools: 42, rversion: "devel" }
Expand Down
29 changes: 4 additions & 25 deletions ci/scripts/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -73,27 +73,6 @@ build() {
# set the appropriate compiler definition.
export CPPFLAGS="-DUTF8PROC_STATIC"

# This is the difference between rtools-packages and rtools-backports
# Remove this when submitting to rtools-packages
if [ "$RTOOLS_VERSION" = "35" ]; then
export CC="/C/Rtools${MINGW_PREFIX/mingw/mingw_}/bin/gcc"
export CXX="/C/Rtools${MINGW_PREFIX/mingw/mingw_}/bin/g++"
export PATH="/C/Rtools${MINGW_PREFIX/mingw/mingw_}/bin:$PATH"
export CPPFLAGS="${CPPFLAGS} -I${MINGW_PREFIX}/include"
export LIBS="-L${MINGW_PREFIX}/libs"
export ARROW_GCS=OFF
export ARROW_S3=OFF
export ARROW_WITH_RE2=OFF
# Without this, some dataset functionality segfaults
export CMAKE_UNITY_BUILD=ON
else
export ARROW_GCS=ON
export ARROW_S3=ON
export ARROW_WITH_RE2=ON
# Without this, some compute functionality segfaults in tests
export CMAKE_UNITY_BUILD=OFF
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
${ARROW_CPP_DIR} \
Expand All @@ -105,21 +84,21 @@ build() {
-DARROW_CSV=ON \
-DARROW_DATASET=ON \
-DARROW_FILESYSTEM=ON \
-DARROW_GCS="${ARROW_GCS}" \
-DARROW_GCS=ON \
-DARROW_HDFS=OFF \
-DARROW_JEMALLOC=OFF \
-DARROW_JSON=ON \
-DARROW_LZ4_USE_SHARED=OFF \
-DARROW_MIMALLOC=ON \
-DARROW_PACKAGE_PREFIX="${MINGW_PREFIX}" \
-DARROW_PARQUET=ON \
-DARROW_S3="${ARROW_S3}" \
-DARROW_S3=ON \
-DARROW_SNAPPY_USE_SHARED=OFF \
-DARROW_USE_GLOG=OFF \
-DARROW_UTF8PROC_USE_SHARED=OFF \
-DARROW_VERBOSE_THIRDPARTY_BUILD=ON \
-DARROW_WITH_LZ4=ON \
-DARROW_WITH_RE2="${ARROW_WITH_RE2}" \
-DARROW_WITH_RE2=ON \
-DARROW_WITH_SNAPPY=ON \
-DARROW_WITH_ZLIB=ON \
-DARROW_WITH_ZSTD=ON \
Expand All @@ -129,7 +108,7 @@ build() {
-DARROW_CXXFLAGS="${CPPFLAGS}" \
-DCMAKE_BUILD_TYPE="release" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD} \
-DCMAKE_UNITY_BUILD=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON

make -j3
Expand Down
6 changes: 0 additions & 6 deletions r/R/arrow-info.R
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,6 @@ arrow_available <- function() {
#' @rdname arrow_info
#' @export
arrow_with_dataset <- function() {
if (on_old_windows()) {
# 32-bit rtools 3.5 does not properly implement the std::thread expectations
# but we can't just disable ARROW_DATASET in that build,
# so report it as "off" here.
return(FALSE)
}
tryCatch(.Call(`_dataset_available`), error = function(e) {
return(FALSE)
})
Expand Down
8 changes: 0 additions & 8 deletions r/R/arrow-package.R
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,6 @@ configure_tzdb <- function() {
})
}

on_old_windows <- function() {
is_32bit <- .Machine$sizeof.pointer < 8
is_old_r <- getRversion() < "4.0.0"
is_windows <- tolower(Sys.info()[["sysname"]]) == "windows"

is_32bit && is_old_r && is_windows
}


# True when the OS is linux + and the R version is development
# helpful for skipping on Valgrind, and the sanitizer checks (clang + gcc) on cran
Expand Down
8 changes: 2 additions & 6 deletions r/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,8 @@ packages that contain the Arrow C++ library. On Linux, source package
installation will also build necessary C++ dependencies. For a faster,
more complete installation, set the environment variable
`NOT_CRAN=true`. See `vignette("install", package = "arrow")` for
details.

For Windows users of R 3.6 and earlier, note that support for AWS S3 is not
Copy link
Member

@nealrichardson nealrichardson Sep 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably say that 9.0.0 is the last version that supports Windows R < 4.0, and also note that feature set is limited on those older R version builds.

available, and the 32-bit version does not support Arrow Datasets.
These features are only supported by the `rtools40` toolchain on Windows
and thus are only available in R >= 4.0.
details. Note that version 9.0.0 was the last version to support
R 3.6 and lower on Windows.

### Installing a development version

Expand Down
8 changes: 1 addition & 7 deletions r/src/safe-call-into-r-impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,7 @@ void InitializeMainRThread() { GetMainRThread().Initialize(); }
// [[arrow::export]]
bool CanRunWithCapturedR() {
#if defined(HAS_UNWIND_PROTECT)
static int on_old_windows = -1;
if (on_old_windows == -1) {
cpp11::function on_old_windows_fun = cpp11::package("arrow")["on_old_windows"];
on_old_windows = on_old_windows_fun();
}

return !on_old_windows && GetMainRThread().Executor() == nullptr;
return GetMainRThread().Executor() == nullptr;
#else
return false;
#endif
Expand Down
6 changes: 2 additions & 4 deletions r/src/safe-call-into-r.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@
#include <thread>

// Unwind protection was added in R 3.5 and some calls here use it
// and crash R in older versions (ARROW-16201). Crashes also occur
// on 32-bit R builds on R 3.6 and lower. Implementation provided
// and crash R in older versions (ARROW-16201). Implementation provided
// in safe-call-into-r-impl.cpp so that we can skip some tests
// when this feature is not provided. This also checks that there
// is not already an event loop registered (via MainRThread::Executor()),
Expand Down Expand Up @@ -163,8 +162,7 @@ static inline arrow::Status SafeCallIntoRVoid(std::function<void(void)> fun,
template <typename T>
arrow::Result<T> RunWithCapturedR(std::function<arrow::Future<T>()> make_arrow_call) {
if (!CanRunWithCapturedR()) {
return arrow::Status::NotImplemented(
"RunWithCapturedR() without UnwindProtect or on 32-bit Windows + R <= 3.6");
return arrow::Status::NotImplemented("RunWithCapturedR() without UnwindProtect");
}

if (GetMainRThread().Executor() != nullptr) {
Expand Down
6 changes: 2 additions & 4 deletions r/tests/testthat/test-dataset-csv.R
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,8 @@ test_that("CSV dataset", {
expect_r6_class(ds$format, "CsvFileFormat")
expect_r6_class(ds$filesystem, "LocalFileSystem")
expect_identical(names(ds), c(names(df1), "part"))
if (getRversion() >= "4.0.0") {
# CountRows segfaults on RTools35/R 3.6, so don't test it there
expect_identical(dim(ds), c(20L, 7L))
}
expect_identical(dim(ds), c(20L, 7L))

expect_equal(
ds %>%
select(string = chr, integer = int, part) %>%
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-arrange.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)

# randomize order of rows in test data
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-collapse.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

withr::local_options(list(arrow.summarise.sort = TRUE))

library(dplyr, warn.conflicts = FALSE)
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-count.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)

tbl <- example_data
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-distinct.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)

tbl <- example_data
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-filter.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
library(stringr)

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-funcs-conditional.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
suppressPackageStartupMessages(library(bit64))

Expand Down
1 change: 0 additions & 1 deletion r/tests/testthat/test-dplyr-funcs-datetime.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())
# In 3.4 the lack of tzone attribute causes spurious failures
skip_on_r_older_than("3.5")

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-funcs-math.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)


Expand Down
1 change: 0 additions & 1 deletion r/tests/testthat/test-dplyr-funcs-string.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())
skip_if_not_available("utf8proc")

library(dplyr, warn.conflicts = FALSE)
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-funcs-type.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
suppressPackageStartupMessages(library(bit64))
suppressPackageStartupMessages(library(lubridate))
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-group-by.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
library(stringr)

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-join.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)

left <- example_data
Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-mutate.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
library(stringr)

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-query.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
library(stringr)

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-select.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)
library(stringr)

Expand Down
2 changes: 0 additions & 2 deletions r/tests/testthat/test-dplyr-summarize.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

withr::local_options(list(
arrow.summarise.sort = TRUE,
rlib_warning_verbosity = "verbose",
Expand Down
3 changes: 0 additions & 3 deletions r/tests/testthat/test-dplyr-union.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

skip_if(on_old_windows())

library(dplyr, warn.conflicts = FALSE)

Expand Down
2 changes: 1 addition & 1 deletion r/vignettes/dataset.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The total file size is around 37 gigabytes, even in the efficient Parquet file
format. That's bigger than memory on most people's computers, so you can't just
read it all in and stack it into a single data frame.

In Windows (for R > 3.6) and macOS binary packages, S3 support is included.
In Windows and macOS binary packages, S3 support is included.
On Linux, when installing from source, S3 support is not enabled by default,
and it has additional system requirements.
See `vignette("install", package = "arrow")` for details.
Expand Down