apache / apache/arrow-rs-object-store

Fails to create table on Android

Open
#459 3 comments 0 reactions 0 assignees View on GitHub
enhancement wontfix
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.