apache / apache/iceberg-cpp

FileIO parameter should be arrow::fs::FileSystem ?

Open
#307 14 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
221
Forks
124
Avg merge
1d 16h
Merged PRs (30d)
21

Description

The ManifestWriter/ManifestListWriter API uses the` std::shared_ptr` parameter for the IO interface,
which actually should be an internal `arrow::ArrowFileSystemFileIO` (not publicly accessible).
It appears that only the `fs()` is actually utilized.
```c++
auto io = internal::checked_pointer_cast(options.io);
ICEBERG_ARROW_ASSIGN_OR_RETURN(auto output, io->fs()->OpenOutputStream(options.path));
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the ManifestWriter and ManifestListWriter APIs, then trace options.io through the shown checked_pointer_cast and fs()->OpenOutputStream call. Determine the appropriate filesystem-oriented parameter and update the related API uses so output stream creation remains valid; done when the affected C++ tests or build pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.