Heikki Linnakangas
47824c5fca
Remove page server interactive mode.
...
It was pretty cool, but no one used it, and it had gotten badly out of
date. The main interesting thing with it was to see some basic metrics
on the fly, while the page server is running, but the metrics collection
had been broken for a long time, too. Best to just remove it.
2021-07-23 12:21:21 +03:00
Dmitry Rodionov
767590bbd5
support tenants
...
this patch adds support for tenants. This touches mostly pageserver.
Directory layout on disk is changed to contain new layer of indirection.
Now path to particular repository has the following structure: <pageserver workdir>/tenants/<tenant
id>. Tenant id has the same format as timeline id. Tenant id is included in
pageserver commands when needed. Also new commands are available in
pageserver: tenant_list, tenant_create. This is also reflected CLI.
During init default tenant is created and it's id is saved in CLI config,
so following commands can use it without extra options. Tenant id is also included in
compute postgres configuration, so it can be passed via ServerInfo to
safekeeper and in connection string to pageserver.
For more info see docs/multitenancy.md.
2021-07-22 20:54:20 +03:00
Stas Kelvich
d210ba5fdb
Update README.md
2021-07-22 20:33:34 +03:00
Dmitry Ivanov
8b656bad5f
Add a missing [cfg(test)]
...
We don't always need to compile tests.
2021-07-22 16:46:27 +03:00
Dmitry Ivanov
97329d4906
Add a test for EOF in walkeeper's background thread
...
It would be nice to have a proper Timeline mock api,
but this time we'll get by with what we have.
2021-07-22 12:12:55 +03:00
Dmitry Ivanov
6a3b9b1d46
Fix accidental busyloop in walkeeper's background thread
...
It used to be the case that walkeeper's background thread
failed to recognize the end of stream (EOF) signaled by the
`Ok(None)` result of `FeMessage::read`.
2021-07-22 12:12:55 +03:00
anastasia
c913404739
Redirect log to pageserver.log during zenith init.
...
Add new module logger.rs that contains shared code to init logging
2021-07-21 18:56:34 +03:00
anastasia
8e42af9b1d
Remove unused 'identify_system' pageserver query
2021-07-21 18:55:41 +03:00
Arseny Sher
fe17188464
Alternative way to truncate behind-the-vcl part of log.
...
Which is important to do before bumping epoch.
2021-07-21 17:27:05 +03:00
Arseny Sher
51b50f5cf5
Fix truncating the wal after VCL.
2021-07-21 17:27:05 +03:00
Arseny Sher
9e3fe2b4d4
Truncate not matching part of log.
...
ref #296
2021-07-21 17:27:05 +03:00
Arseny Sher
eb1618f2ed
TLA+ specification of proposer-acceptor consensus protocol.
...
And .cfg file for running TLC.
ref #293
2021-07-21 17:27:05 +03:00
Stas Kelvich
791312824d
set superuser name in python tests too
2021-07-21 17:22:22 +03:00
Stas Kelvich
a17b2a4364
reflect postgres superuser changes in pageserver->compute connstring
2021-07-21 17:22:22 +03:00
sharnoff
c4b2bf7ebd
Use 'zenith_admin' as superuser name in initdb
2021-07-21 17:22:22 +03:00
Konstantin Knizhnik
0723d49e0b
Object push ( #276 )
...
* Introducing common enum ObjectVal for all values
* Rewrite push mechanism to use raw object copy
* Fix history unit test
* Add skip_nonrel_objects functions for history unit tests
2021-07-21 00:41:57 +03:00
Eric Seppanen
ad79ca05e9
suppress nullptr warnings on auto-generated bindgen unit tests
...
Hopefully, this will be addressed upstream before too long; see
rust-bindgen issue #1651 .
2021-07-20 20:12:15 +03:00
Heikki Linnakangas
325dd41277
Remove unused constructor function.
...
This was failing to compile with rustc nightly version, because the
datatype of 'fullPageWrites' was changed. See discussion at
https://github.com/zenithdb/zenith/issues/207#issuecomment-881478570 .
But since the function is actually unused, let's just remove it.
2021-07-20 16:01:37 +03:00
sharnoff
7c96c638aa
Fix particluar typos: s/cofig/config/g
2021-07-20 10:32:59 +03:00
Konstantin Knizhnik
9838c71a47
Explicit compact ( #341 )
...
* Do no perform compaction of RocksDB storage on each GC iteration
* Increase GC timeout to let GC tests passed
* Add comment to gc_iteration
2021-07-19 16:49:12 +03:00
Stas Kelvich
79d9314ba6
terminate socket explicitly
2021-07-19 14:52:41 +03:00
Stas Kelvich
2b33894e7b
few more review fixes
2021-07-19 14:52:41 +03:00
Stas Kelvich
a118557331
review fixes
2021-07-19 14:52:41 +03:00
Stas Kelvich
8ec234ba78
fix tokio features set for proxy standalone build
2021-07-19 14:52:41 +03:00
Stas Kelvich
70926adaba
allow to specify redirect_uri in proxy
2021-07-19 14:52:41 +03:00
Stas Kelvich
560f088f05
fix query_string parsing for mgmt callback
2021-07-19 14:52:41 +03:00
Stas Kelvich
aa404b60fe
change mgmt json format; add cli flags
2021-07-19 14:52:41 +03:00
Stas Kelvich
1b6d99db7c
unfreeze client session upon callback
2021-07-19 14:52:41 +03:00
Stas Kelvich
605b90c6c7
do an actual proxy pass
2021-07-19 14:52:41 +03:00
Stas Kelvich
6f747893be
quick mgmp api
2021-07-19 14:52:41 +03:00
Stas Kelvich
dab34c3dd6
distinguish between new and old users
2021-07-19 14:52:41 +03:00
Stas Kelvich
bf45bef284
md5 auth for postgres_backend.rs
2021-07-19 14:52:41 +03:00
Konstantin Knizhnik
d55095ab21
[refer #331 ] Move initialization of checkpoint object into import_timeline_from_postgres_datadir
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
a048e0c7c1
Revert assert cechk for advancing prev_record_lsn because in case of creation of branch on some older LSN we can not provide proper xl_prev value
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
9436c4161f
Adding comment to prev_record_lsn update
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
e74b06d999
Pass prev_record_ptr through zenith.signal file to compute node
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
f6705b7a7d
Fix TimestampTz type to i64 to be compatbile with Postgres
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
386403dcd1
Hold CLOG for prepared transactions
2021-07-16 18:43:07 +03:00
Heikki Linnakangas
46e613f423
Fix typos
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
56da87cadc
Merge with main branch
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
dcabe694ee
Fix usage of put_page_image in save_xlog_dbase_create
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
842419b91f
Do not update relation metadata in get_page_at_lsn
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
3cded20662
Refactring after Heikki review
2021-07-16 18:43:07 +03:00
Konstantin Knizhnik
eb0a56eb22
Replay non-relational WAL records on page server
2021-07-16 18:43:07 +03:00
Dmitry Rodionov
8a541147e2
run cargo generate-lockfile
...
It removes remaining issues with running cargo audit. There was one
error and one warning:
Crate: tokio
Version: 1.5.0
Title: Task dropped in wrong thread when aborting `LocalSet` task
Date: 2021-07-07
ID: RUSTSEC-2021-0072
URL: https://rustsec.org/advisories/RUSTSEC-2021-0072
Solution: Upgrade to >=1.5.1, <1.6.0 OR >=1.6.3, <1.7.0 OR >=1.7.2, <1.8.0 OR >=1.8.1
Crate: cpuid-bool
Version: 0.1.2
Warning: unmaintained
Title: `cpuid-bool` has been renamed to `cpufeatures`
Date: 2021-05-06
ID: RUSTSEC-2021-0064
URL: https://rustsec.org/advisories/RUSTSEC-2021-0064
2021-07-16 15:04:56 +03:00
Dmitry Rodionov
ed0fcfa9b7
replace parse_duration crate because of unpatched known vulnerability
...
resolves #87
2021-07-16 14:30:27 +03:00
Heikki Linnakangas
c5509b05de
Revert accidental change to vendor/postgres.
...
I accidentally changed it in befefe8d84 .
2021-07-16 12:37:10 +03:00
Heikki Linnakangas
befefe8d84
Run 'cargo fmt'.
...
Fixes a few formatting discrepancies had crept in recently.
2021-07-14 22:03:14 +03:00
Konstantin Knizhnik
ad92b66eed
Fix TimestampTz type to i64 to be compatbile with Postgres
2021-07-14 15:55:12 +03:00
Heikki Linnakangas
d119f2bcce
Add unit test for branch creation.
...
This is pretty similar to the python 'test_branch_behind' test, but I
find it useful to have a small unit test for it too.
2021-07-13 09:54:27 +03:00