chef / chef/chef-server

Do not compress serialized_object data when storing it.

Open
#225 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Status: To be prioritized Triage: Confirmed Type: Enhancement
Dominant language
Erlang
Stars
303
Forks
211
Avg merge
1d 8h
Merged PRs (30d)
5

Description

This stems from comments in issue #8.

Postgres automatically compresses column data for rows in which it makes sense to do so. Remove the erlang-side compression during serialization/deserialization. This will also simplify use of fields within jsonb columns when we move to jsonb.

Note that this also requires a data migration to covert explicitly compressed data to uncompressed for existing records.

Contributor guide

Open the contributing guide

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 issue #8 and the Erlang serialization/deserialization paths for serialized_object data; verify how explicitly compressed existing records are represented. Done means new storage leaves compression to PostgreSQL, existing records are converted by a data migration, and the approach remains compatible with the planned jsonb columns.

Written by the indexing model from the issue text.

Assessment

Tech stack
erlang, postgresql
Domain
database
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.