apache / apache/couchdb

[DISCUSS] Upgrade Snappy to 1.2.2

Open
#5,568 6 comments 0 reactions 0 assignees View on GitHub
chore dependencies discussion feature
Dominant language
Erlang
Stars
7k
Forks
1.1k
Avg merge
1d 16h
Merged PRs (30d)
9

Description

Hi,

this thread is for discussing the upgrade to the latest version of Snappy (1.2.2).

I prepared the snappy upgrade [here](https://github.com/apache/couchdb-snappy/tree/upgrade-snappy-1.2.2).
To test this Snappy version in CouchDB, I provide an additional branch with PR #5567.

What I test so far:

0. Install latest CouchDB (https://github.com/apache/couchdb/commit/91bd2edb6406ddd39d735548774a384b0ec3a46f)
1. Create a "shared data" directory for the dev runs and use a preconfigured ini file
```ini
[vendor]
name = The Apache Software Foundation

[couchdb]
uuid = fake_uuid_for_dev
database_dir = /path/to/shared/dir/data
view_index_dir = /path/to/shared/dir/data
file_compression = snappy

[smoosh]
state_dir = /path/to/shared/dir/data
```
2. Run this server with `./dev/run -aa:a -n1 -l snappy.ini`
3. Create a db with sample documents, do some changes, deletions, create views, compaction, ...
4. Shutdown CouchDB
5. Clone another CouchDB #5567 with the PR from above
6. Start this instance an try to load the database, views, documents

CouchDB should read the db and documents created by the older version of snappy.

Please test this and comment if this works for you.

Contributor guide

Open the contributing guide

Research direction

Start with the upgrade branch and PR #5567, then follow the dev/run command using the provided snappy.ini configuration. Create sample databases, documents, views, changes, deletions, and compactions with the older version, then verify that the PR #5567 instance can load them successfully; report the compatibility results in this discussion.

Written by the indexing model from the issue text.

Assessment

Domain
databases
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.