Commit Graph

7957 Commits

Author SHA1 Message Date
Christian Schwarz
a80790e0c4 WIP 2025-06-12 06:41:07 -07:00
Christian Schwarz
906a963351 WIP advertisement sending 2025-06-08 20:10:30 -07:00
Christian Schwarz
9e7556bef2 WIP 2025-06-06 19:03:23 -07:00
Christian Schwarz
4f4214eea3 WIP integrate 2025-06-06 18:36:16 -07:00
Christian Schwarz
3dffbda428 rip out the old wal_advertiser::advmap impl, stubbing out with todo!()s 2025-06-06 17:40:59 -07:00
Christian Schwarz
04fb256e0f leave some TODOs on the lib 2025-06-06 16:51:04 -07:00
Christian Schwarz
02fe35831c fix compile warninign in benchmark 2025-06-06 16:50:14 -07:00
Christian Schwarz
5f7bc3ce60 left equi join for remote_consistent_lsn retrieval 2025-06-06 14:28:20 -07:00
Christian Schwarz
e40b1c79fa carginality estimation for collected hashmap; maintain nodes and nodes_timelines; allocations not showing in flamegraph anymore, but replaced with btreemap, but replaced with btreemap, but replaced with btreemap, but replaced with btreemap::get 2025-06-06 13:50:03 -07:00
Christian Schwarz
2f416267dc finish implementing auto-quiescing; needs more tests 2025-06-05 02:41:56 +02:00
Christian Schwarz
d52d560f16 log int est 2025-06-05 02:08:13 +02:00
Christian Schwarz
de908a7b0d WIP auto-quiesce 2025-06-05 01:56:55 +02:00
Christian Schwarz
687fb25d41 WIP 2025-06-05 01:28:55 +02:00
Christian Schwarz
eaa91291ae add test case for initial advertisement and fix everything by switching to btrees and proper merge equi join 2025-06-05 01:09:33 +02:00
Christian Schwarz
fc9f38dd2d continue 2025-06-04 22:48:21 +02:00
Christian Schwarz
c689110ad6 continue 2025-06-04 22:34:01 +02:00
Christian Schwarz
ba6abe203d WIP promising quiescing mechanism 2025-06-04 22:07:48 +02:00
Christian Schwarz
d16e024d49 treat storage more likea n actor itself; dead end also 2025-06-04 20:46:48 +02:00
Christian Schwarz
a4b9335b73 dabble around with effect-style system 2025-06-04 20:38:55 +02:00
Christian Schwarz
2cea7a7838 sketch offloading 2025-06-04 19:19:20 +02:00
Christian Schwarz
e1c1aa74fe get benchmark to work 2025-06-04 18:28:53 +02:00
Christian Schwarz
ee775a24a0 WIP 2025-06-04 16:46:43 +02:00
Christian Schwarz
428f532f08 naive implementation of advertisement generator 2025-06-04 15:29:37 +02:00
Christian Schwarz
5efb0d8072 WIP 2025-06-03 19:45:19 +02:00
Christian Schwarz
36ba2b8e44 WIP proto 2025-06-03 19:14:48 +02:00
Christian Schwarz
1de0f41403 WIP 2025-06-03 18:42:54 +02:00
Christian Schwarz
4d2f27a33f WIP 2025-06-03 14:55:08 +02:00
Christian Schwarz
88a3c9e7fd WIP 2025-06-03 14:00:56 +02:00
Christian Schwarz
df36b9aa62 WIP(ctd): plumbing to feed commit_lsn to wal_advertiser 2025-06-02 12:39:42 +02:00
Christian Schwarz
18a43eeab3 undo the remote_consistent_lsn feedback channel brought in by the PoC merge (includes undo of funneling pageserver_connection field via connection options) 2025-06-02 12:04:35 +02:00
Christian Schwarz
39039d1be7 WIP: plumbing to feed commit_lsn to wal_advertiser 2025-06-02 12:03:30 +02:00
Christian Schwarz
9ee75ceee6 merge fixups; storcon and safekeeper compile again 2025-06-02 11:26:14 +02:00
Christian Schwarz
f5210a367d git merge --squash problame/broker-spof/poc
Squashed commit of the following:

commit 4a1b52c12e
Author: Christian Schwarz <christian@neon.tech>
Date:   Mon May 5 12:45:45 2025 +0200

    WIP

commit 257693e4f2
Author: Christian Schwarz <christian@neon.tech>
Date:   Mon May 5 10:59:45 2025 +0200

    WIP

commit 7aa9beaefd
Author: Christian Schwarz <christian@neon.tech>
Date:   Sun May 4 17:06:46 2025 +0200

    make sk compile

commit 35dbbbaf60
Author: Christian Schwarz <christian@neon.tech>
Date:   Sun May 4 16:50:23 2025 +0200

    move discovery request mechanism into that type as well

    Can't move the policy when we send disovery mechanism because that's
    tied to connection_manager loop state.

commit 6380c9674c
Author: Christian Schwarz <christian@neon.tech>
Date:   Sun May 4 16:22:46 2025 +0200

    move subscription code into new client struct

commit 1f53688189
Author: Christian Schwarz <christian@neon.tech>
Date:   Sun May 4 14:40:44 2025 +0200

    Revert "rip out broker binary target & launch of it in cplane & mention of it in docs"

    This reverts commit 8f201b1580.

commit 8f201b1580
Author: Christian Schwarz <christian@neon.tech>
Date:   Sun May 4 14:38:52 2025 +0200

    rip out broker binary target & launch of it in cplane & mention of it in docs
2025-06-02 11:19:37 +02:00
Christian Schwarz
f36520eb94 stub api impl 2025-06-02 11:19:28 +02:00
Christian Schwarz
afa35eea87 trigger now only does insertions; app loop will do cleanup; prepare API for cleanup 2025-05-30 20:36:50 +02:00
Christian Schwarz
8eb853b731 finish the stub implementation of storcon side, it now PUTs to SKs and gets back 404s 2025-05-28 19:29:32 +02:00
Christian Schwarz
a95015d967 triggers for timelines table and ps/sk row deletion 2025-05-28 13:14:37 +02:00
Christian Schwarz
3836ee8539 finish prototyping event changes via triggers 2025-05-27 18:28:22 +02:00
Christian Schwarz
a6bd4a3be6 Revert "abandoned prototype how it would be if we do what triggers do but in the app"
This reverts commit 24d96e4372.
2025-05-27 14:13:10 +02:00
Christian Schwarz
24d96e4372 abandoned prototype how it would be if we do what triggers do but in the app 2025-05-27 14:12:48 +02:00
Christian Schwarz
29ea89b61d trigger-based thing 2025-05-27 14:12:34 +02:00
Christian Schwarz
322e742e4c schema 2025-05-27 13:44:25 +02:00
Erik Grinaker
cdb6479c8a pageserver: add gRPC page service schema (#11815)
## Problem

For the [communicator
project](https://github.com/neondatabase/company_projects/issues/352),
we want to move to gRPC for the page service protocol.

Touches #11728.

## Summary of changes

This patch adds an experimental gRPC Protobuf schema for the page
service. It is equivalent to the current page service, but with several
improvements, e.g.:

* Connection multiplexing.
* Reduced head-of-line blocking.
* Client-side batching.
* Explicit tenant shard routing.
* GetPage request classification (normal vs. prefetch).
* Explicit rate limiting ("slow down" response status).

The API is exposed as a new `pageserver/page_api` package. This is
separate from the `pageserver_api` package to reduce the dependency
footprint for the communicator. The longer-term plan is to also split
out e.g. the WAL ingestion service to a separate gRPC package, e.g.
`pageserver/wal_api`.

Subsequent PRs will: add Rust domain types for the Protobuf types,
expose a gRPC server, and implement the page service.

Preliminary prototype benchmarks of this gRPC API is within 10% of
baseline libpq performance. We'll do further benchmarking and
optimization as the implementation lands in `main` and is deployed to
staging.
2025-05-19 09:03:06 +00:00
Konstantin Knizhnik
81c557d87e Unlogged build get smgr (#11954)
## Problem

See https://github.com/neondatabase/neon/issues/11910
and https://neondb.slack.com/archives/C04DGM6SMTM/p1747314649059129

## Summary of changes

Do not change persistence in `start_unlogged_build`

Postgres PRs:
https://github.com/neondatabase/postgres/pull/642
https://github.com/neondatabase/postgres/pull/641
https://github.com/neondatabase/postgres/pull/640
https://github.com/neondatabase/postgres/pull/639

---------

Co-authored-by: Konstantin Knizhnik <knizhnik@neon.tech>
2025-05-18 05:02:47 +00:00
Trung Dinh
e963129678 pagesteam_handle_batched_message -> pagestream_handle_batched_message (#11916)
## Problem
Found a typo in code.

## Summary of changes

Co-authored-by: Trung Dinh <tdinh@roblox.com>
Co-authored-by: Erik Grinaker <erik@neon.tech>
2025-05-17 22:30:29 +00:00
dependabot[bot]
4f0a9fc569 chore(deps): bump flask-cors from 5.0.0 to 6.0.0 in the pip group across 1 directory (#11960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-17 22:06:32 +00:00
Emmanuel Ferdman
81c6a5a796 Migrate to correct logger interface (#11956)
## Problem
Currently the `logger` library throws annoying deprecation warnings:
```python
DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
```

## Summary of changes
This small PR resolves the annoying deprecation warnings by migrating to
`.warning` as suggested.

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-17 21:12:01 +00:00
Konstantin Knizhnik
8e05639dbf Invalidate LFC after unlogged build (#11951)
## Problem


See https://neondb.slack.com/archives/C04DGM6SMTM/p1747391617951239

LFC is not always properly updated during unlogged build so it can
contain stale content.

## Summary of changes

Invalidate LFC content at the end of unlogged build

Co-authored-by: Konstantin Knizhnik <knizhnik@neon.tech>
2025-05-17 19:06:59 +00:00
Alexander Bayandin
deed46015d CI(test-images): increase timeout from 20m to 60m (#11955)
## Problem

For some reason (unknown yet) 20m timeout is not enough for
`test-images` job on arm runners.
Ref:
https://github.com/neondatabase/neon/actions/runs/15075321681/job/42387530399?pr=11953

## Summary of changes
- Increase the timeout from 20m to 1h
2025-05-17 06:34:54 +00:00
Heikki Linnakangas
532d9b646e Add simple facility for an extendable shared memory area (#11929)
You still need to provide a max size up-front, but memory is only
allocated for the portion that is in use.

The module is currently unused, but will be used by the new compute
communicator project, in the neon Postgres extension. See
https://github.com/neondatabase/neon/issues/11729

---------

Co-authored-by: Erik Grinaker <erik@neon.tech>
2025-05-16 21:22:36 +00:00