Skip to content

Commit feead26

Browse files
committed
incorporate some github comments in the doc
1 parent 87a9afb commit feead26

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

docs/rfcs/042-compute-pageserver-communicator.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ will work. That should make it easy to adapt to new PostgreSQL versions.
8989
In the above example, I assumed a GetPage request, but everything applies to
9090
other other request types like "smgrnblocks" too.
9191

92+
Q: How we are going to handle backend termination while it is waiting for response? Should we allow it or wait request completion? If PS is down, it can take quite long time during which user will not be able to interrupt the query.
93+
9294
### Prefetching
9395

9496
A backend can also issue a "blind" prefetch request. When a communicator
@@ -144,7 +146,7 @@ communicator process. But it makes sense to do at the same time:
144146

145147
- Switching to Rust in the communicator process makes it possible to use
146148
existing libraries
147-
149+
148150
- Using a library might help with managing the pool of pageserver connnection,
149151
so we want need to implement that ourselves
150152

@@ -158,6 +160,10 @@ communicator process. But it makes sense to do at the same time:
158160
system, the process needs to execute all the I/O completion callbacks. They're
159161
very short, but I still wonder if a single process can handle it.
160162

163+
- Goal is to sustain ~2.5GB/s bandwidth (typical EC2 NIC).
164+
- John: I'd presume a single process to be capable of that if it's just passing buffers around. If we needed more than one in future it would probably be quite a small lift to make that happen (but I bet we never do). (I don't fully know what's involved in the execute all the I/O completion callbacks part though)
165+
166+
161167
### Security implications (if relevant)
162168

163169
- We currently use libpq authentication with a JWT token. We can continue to use
@@ -190,7 +196,7 @@ Implentation phases:
190196

191197
- Implement a simple request / response interface in shared memory between the
192198
backends and the communicator.
193-
199+
194200
- Implement a minimalistic communicator: hold one connection to
195201
pageserver/shard. No prefetching. Process one request at a time
196202

0 commit comments

Comments
 (0)