Commit Graph

16 Commits

Author SHA1 Message Date
Stas Kelvich
bd606ab37a Start pageserver walreceiver from predefined "-inf" lsn.
If we start walreceiver with identify_system.xlogpos() we will have race condition with
postgres start: postgres may request page that was modified with lsn
smaller than identify_system.xlogpos().

Current procedure for starting postgres will anyway be changed to something
different like having 'initdb' method on a pageserver (or importing some shared
empty database snapshot), so for now I just put start of first segment which
seems to be a valid record and is strictly before first lsn records.
2021-04-05 12:37:45 +03:00
Stas Kelvich
decb04fc4f fix build 2021-04-03 19:42:45 +03:00
Stas Kelvich
2c308da4d2 Support several postgres instances on top of a single pageserver.
Each postgres will use its own page cache with associated data
structures. Postgres system_id is used to distinguish instances.
That also means that backup should have valid system_id stashed
somewhere. For now I put '42' as sys_id during S3 restore, but
that ought to be fixed.

Also this commit introduces new way of starting WAL receivers:
postgres can initiate such connection by calling 'callmemaybe $url'
command in the page_service -- that will start appropriate wal-redo
and wal-receiver threads. This way page server may start without
a priori knowledge of compute node addreses.
2021-04-03 19:02:44 +03:00
anastasia
dc4b5f5f23 use pg_resetwal to generate pg_control in the test 2021-04-02 15:09:20 +03:00
anastasia
9fdf1964a7 generate controlfile using pg_resetwal 2021-04-02 14:57:16 +03:00
anastasia
2d8a19affa add protocol message to receive pg_control 2021-04-02 14:56:32 +03:00
Stas Kelvich
9175fb5ea7 enable test_regress in CI 2021-03-31 17:01:00 +03:00
Stas Kelvich
98b8426780 Ignore test_pageserver::test_regress as it fails now 2021-03-31 15:30:35 +03:00
Stas Kelvich
98cc8400f4 Move regression tests output to tmp_check/regress 2021-03-31 15:13:50 +03:00
Stas Kelvich
1348915655 add regression tests runner 2021-03-31 12:13:10 +03:00
Stas Kelvich
a482c3256c clean up tests a bit; drop username dependency 2021-03-29 15:59:28 +03:00
Stas Kelvich
c8eeb8573d add 'test_' prexix to test files to avoid lots of similarly-name files in repo 2021-03-29 15:59:28 +03:00
Stas Kelvich
d42f2b431f pg + pageserver integration testing 2021-03-29 15:59:28 +03:00
Stas Kelvich
667ec0db60 start pageserver and pg on top of it 2021-03-29 15:59:28 +03:00
Stas Kelvich
a522961d0c add test stubs 2021-03-29 15:59:28 +03:00
Stas Kelvich
851e910324 WIP: local control plane 2021-03-29 15:59:28 +03:00