Skip to content
This repository has been archived by the owner on Jun 15, 2024. It is now read-only.

Redesign handling of pipeline-state/history #131

Closed
12 of 13 tasks
flosell opened this issue Sep 11, 2016 · 1 comment
Closed
12 of 13 tasks

Redesign handling of pipeline-state/history #131

flosell opened this issue Sep 11, 2016 · 1 comment

Comments

@flosell
Copy link
Owner

flosell commented Sep 11, 2016

Problem

Currently, the complete build history is saved to disk and pulled into memory (and kept there) at startup. This is neither scalable nor efficient and needs to change.

Objective

  • Implement handling of pipeline state that can scale, by only keeping what's needed in memory and accessing everything else from disk.
  • Provide a clean API that can support this and is usable for a variety of use-cases

Context

Users of Pipeline State:

Related issues

Potential Solution

API

  • Updating State:
  • Querying State
    • next-build-number [state] (can be arbitrary but must be sortable and ascending)
    • get-build [state build-number] (returns structure which contains everything known about this build)
    • build-numbers [state] (returns stored build-numbers, e.g. for building a history)

Supporting functions

Default Persistence

Assumptions

  • Information about one build is not too big so we can fully load it into memory even if we just need the metadata, or one particular step
  • It is efficient enough to query a couple of builds, e.g. to build the history

Additional tasks

flosell added a commit that referenced this issue Sep 25, 2016
…ead of get-build returning a map of different things (#131)
flosell added a commit that referenced this issue Oct 16, 2016
flosell added a commit that referenced this issue Oct 22, 2016
flosell added a commit that referenced this issue Oct 22, 2016
@flosell
Copy link
Owner Author

flosell commented Oct 23, 2016

Basic implementation done, metadata and optimizations are handled in separate issues.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant