Skip to content

Expose replication + object-storage primitives for building WAL-processing tools - #19

Merged
achudnovskij merged 1 commit into
mainfrom
expose-primitives
Jul 15, 2026
Merged

Expose replication + object-storage primitives for building WAL-processing tools#19
achudnovskij merged 1 commit into
mainfrom
expose-primitives

Conversation

@achudnovskij

@achudnovskij achudnovskij commented Jul 14, 2026

Copy link
Copy Markdown
Contributor
  • Open more of tls.rs and conn.rs as pub
  • Add PutIfAbsent method to storage interface, S3 and GCS

The change allows to use wal-rus PG connection and storage code as a library

@CLAassistant

CLAassistant commented Jul 14, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Comment thread src/config/mod.rs Outdated
Comment thread src/config/mod.rs Outdated
Comment thread src/pg/replication/conn.rs Outdated
Comment thread src/storage/mod.rs Outdated
Comment thread src/storage/s3.rs
Comment thread src/storage/s3.rs
Comment thread src/storage/fs.rs Outdated
@achudnovskij
achudnovskij force-pushed the expose-primitives branch 4 times, most recently from da20d0d to c9d0d11 Compare July 15, 2026 03:00
@achudnovskij
achudnovskij marked this pull request as ready for review July 15, 2026 03:04
Comment thread src/pg/replication/server.rs
@achudnovskij
achudnovskij force-pushed the expose-primitives branch 2 times, most recently from f0c09d5 to f3c69b6 Compare July 15, 2026 06:04
@achudnovskij
achudnovskij removed the request for review from harshil-goel July 15, 2026 17:25
…ssing tools

- Open more of tls.rs and conn.rs as pub
- Add PutIfAbsent method to storage interface, S3 and GCS

The change allows to use wal-rus PG connection and storage code as a library
@achudnovskij
achudnovskij merged commit 0bbed31 into main Jul 15, 2026
93 checks passed
@achudnovskij
achudnovskij deleted the expose-primitives branch July 15, 2026 18:10
achudnovskij added a commit that referenced this pull request Jul 16, 2026
External WAL-processing tools that stream replication (e.g. the wal-listener
synchronous receiver) need to resolve which timeline owns a resume LSN by
walking a `TIMELINE_HISTORY` response — exactly what the private
`lsn_to_timeline` already does. They currently duplicate the parser byte-for-
byte. Expose it (follow-up to #19, "Expose replication + object-storage
primitives") so the logic lives in one place.

No behavior change; the existing unit test still covers it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants