WebAssembly / WebAssembly/wasi-keyvalue

Portability of `list-keys`

Open
#47 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
54
Forks
18
PR merge metrics
No merged PRs in 30d

Description

I think we should consider moving list-keys into another/a new interface. Its doc comment already lists a number of caveats which reflect the underlying issue that this feature just isn't very portable.

/// MAY show an out-of-date list of keys if there are concurrent writes to the store.

I think this comment even undersells the problem somewhat; some KV stores (memcached, at least) can't even guarantee that you will see a key that wasn't updated during iteration.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with wit/store.wit, especially the list-keys doc comment at lines 104-119, and review the portability examples in the issue. Determine the interface-placement options and compatibility implications; done means the repository has a documented decision and a clearly scoped follow-up for the required changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
memcached, wasm
Domain
backend, databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.