diff --git a/r/src/filesystem.cpp b/r/src/filesystem.cpp index fced8abdd07..b7ec605361d 100644 --- a/r/src/filesystem.cpp +++ b/r/src/filesystem.cpp @@ -231,7 +231,9 @@ std::string fs___FileSystem__type_name( // [[arrow::export]] std::shared_ptr fs___LocalFileSystem__create() { - return std::make_shared(); + // Affects OpenInputFile/OpenInputStream + auto io_context = arrow::io::IOContext(gc_memory_pool()); + return std::make_shared(io_context); } // [[arrow::export]] @@ -315,7 +317,8 @@ std::shared_ptr fs___S3FileSystem__create( s3_opts.background_writes = background_writes; StopIfNotOk(fs::EnsureS3Initialized()); - return ValueOrStop(fs::S3FileSystem::Make(s3_opts)); + auto io_context = arrow::io::IOContext(gc_memory_pool()); + return ValueOrStop(fs::S3FileSystem::Make(s3_opts, io_context)); } // [[s3::export]] diff --git a/r/src/recordbatchreader.cpp b/r/src/recordbatchreader.cpp index 6f746e38d10..e2819daf89b 100644 --- a/r/src/recordbatchreader.cpp +++ b/r/src/recordbatchreader.cpp @@ -40,7 +40,9 @@ std::shared_ptr RecordBatchReader__ReadNext( // [[arrow::export]] std::shared_ptr ipc___RecordBatchStreamReader__Open( const std::shared_ptr& stream) { - return ValueOrStop(arrow::ipc::RecordBatchStreamReader::Open(stream)); + auto options = arrow::ipc::IpcReadOptions::Defaults(); + options.memory_pool = gc_memory_pool(); + return ValueOrStop(arrow::ipc::RecordBatchStreamReader::Open(stream, options)); } // [[arrow::export]] @@ -85,7 +87,9 @@ std::shared_ptr ipc___RecordBatchFileReader__ReadRecordBatch // [[arrow::export]] std::shared_ptr ipc___RecordBatchFileReader__Open( const std::shared_ptr& file) { - return ValueOrStop(arrow::ipc::RecordBatchFileReader::Open(file)); + auto options = arrow::ipc::IpcReadOptions::Defaults(); + options.memory_pool = gc_memory_pool(); + return ValueOrStop(arrow::ipc::RecordBatchFileReader::Open(file, options)); } // [[arrow::export]] diff --git a/r/src/recordbatchwriter.cpp b/r/src/recordbatchwriter.cpp index 4714c1d104a..00a617e551f 100644 --- a/r/src/recordbatchwriter.cpp +++ b/r/src/recordbatchwriter.cpp @@ -48,6 +48,7 @@ std::shared_ptr ipc___RecordBatchFileWriter__Open auto options = arrow::ipc::IpcWriteOptions::Defaults(); options.write_legacy_ipc_format = use_legacy_format; options.metadata_version = metadata_version; + options.memory_pool = gc_memory_pool(); return ValueOrStop(arrow::ipc::MakeFileWriter(stream, schema, options)); } @@ -59,6 +60,7 @@ std::shared_ptr ipc___RecordBatchStreamWriter__Op auto options = arrow::ipc::IpcWriteOptions::Defaults(); options.write_legacy_ipc_format = use_legacy_format; options.metadata_version = metadata_version; + options.memory_pool = gc_memory_pool(); return ValueOrStop(MakeStreamWriter(stream, schema, options)); }