apache / apache/arrow-rs-object-store
Fails to create table on Android
- Dominant language
- Rust
- Stars
- 322
- Forks
- 212
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 10
Description
**Describe the bug**
I'm using lancedb and trying to run it on Android. Hard link creation seems to be not allowed?
Here's a log I introduce:
```
failed create hard link path="/data/data/io.openinfer.chat/openinfer.io/vector-dbs/research/research_response.lance/_versions/1.manifest" staging_path="/data/data/io.openinfer.chat/openinfer.io/vector-dbs/research/research_response.lance/_versions/1.manifest#1" source=Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
```
**To Reproduce**
* Create an empty lancedb table
**Expected behavior**
Table creates
**Additional context**
I understand that lancedb isn't this project but the crash is coming from here in src/local.rs when using `PutMode::Create`. Hard linking doesn't work on Android:
https://code.google.com/archive/p/android-developer-preview/issues/3150
Contributor guide
Research direction
Start in src/local.rs at the PutMode::Create path and reproduce the empty-table creation on Android. Trace the failed hard-link operation shown in the log and compare its behavior with Android's filesystem restrictions. Done means an empty LanceDB table can be created on Android without the permission error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100