Arthur Petukhovsky
19e26f53fb
Adjust test parameters
2021-10-08 12:42:48 +03:00
Arthur Petukhovsky
18ade98955
Remove large wal test
2021-10-08 11:49:29 +03:00
Arthur Petukhovsky
849bbfa777
Set more test iterations
2021-10-07 17:02:46 +03:00
Arthur Petukhovsky
f7f377cfc1
Add safekeeper test with large wal records
2021-10-07 16:15:44 +03:00
Heikki Linnakangas
fdb19fdb92
Remove unused function.
...
The caller was removed in commit acc0f41985 .
2021-10-07 11:24:27 +03:00
Heikki Linnakangas
53b4dc944d
Don't create unused "wal" directory
...
It hasn't been used since commit ca9af37478 .
2021-10-07 10:36:26 +03:00
MMeent
a03e1b3895
Docker build now also uses BUILD_TYPE=release. ( #712 )
...
The dockerignore and dockerfile have also been excluded from being moved into
docker images, saving docker layer cache busts if only those are changed.
2021-10-06 23:42:00 +02:00
Heikki Linnakangas
15f1bcc9c2
Remove obsolete code, now that we don't load WAL from local disk anymore.
...
Commit ca9af37478 removed the import_timeline_wal() call from here.
After that, the info!() message is bogus, as we no longer load the WAL
from local disk. Also, the logical size assertion is pointless now.
2021-10-06 15:59:28 +03:00
MMeent
24580f2493
Improve build system: ( #703 )
...
- Build postgresql with -O2 for releases
- Make make make postgresql with 8 parallel threads
The node is xlarge, so it has 8 vCPU available
2021-10-06 14:37:27 +02:00
Heikki Linnakangas
e3945d94fd
Store unlogged tables locally, and replace PD_WAL_LOGGED.
...
All the changes are in the vendor/postgres side. However, because we now
generate fewer Full Page Writes, the 'branch_behind' test needs to be
modified so that it still generates enough WAL to consume a few WAL
segments.
2021-10-06 10:58:15 +03:00
Heikki Linnakangas
d806c3a47e
pageserver - serialize PageVersion as it is
...
Removes the need for PageVersionMeta struct.
2021-10-05 11:07:50 -07:00
Egor Suvorov
05fe39088b
Readme updates based on a fresher Ubuntu installation experience ( #627 )
2021-10-05 19:19:25 +03:00
Egor Suvorov
530d3eaf09
Add more details to pageserver and safekeeper docs ( #680 )
2021-10-05 19:10:50 +03:00
Egor Suvorov
7e190d72a5
Make pageserver_ prefix for common metric names configurable ( #681 )
2021-10-05 19:06:44 +03:00
Patrick Insinger
9c936034b6
pageserver - fix newer clippy lints
2021-10-05 00:28:14 -07:00
Kirill Bulatov
5719f13cb2
Rework the relish thread model ( #689 )
2021-10-05 10:15:56 +03:00
Patrick Insinger
d134a9856e
pageserver - introduce RepoHarness for testing
2021-10-04 08:36:35 -07:00
Patrick Insinger
664b99b5ac
pageserver - use constant TIMELINE_ID for tests
2021-10-04 08:36:35 -07:00
Arseny Sher
4256231eb7
Enable test_start_compute with safekeepers.
...
It should work now.
2021-10-04 16:50:46 +03:00
Andrey Taranik
ae27490281
wal_acceptors added to tenant creation tests
2021-10-04 08:58:49 +03:00
Andrey Taranik
fbd8ca2ff4
minor code beautification
2021-10-04 08:58:49 +03:00
Andrey Taranik
ec673a5d67
bulk tenant create test added
2021-10-04 08:58:49 +03:00
Max Sharnoff
7fab38c51e
Use threadlocal for walreceiver check ( #692 )
2021-10-01 15:47:45 -07:00
Max Sharnoff
84f7dcd052
Fix clippy errors on nightly (2021-09-29) ( #691 )
...
Most of the changes are for the new if-then-panic lint added in
https://github.com/rust-lang/rust-clippy/pull/7669 .
2021-10-01 15:45:42 -07:00
Patrick Insinger
7095a5d551
pageserver - reject and backup future layer files
...
If a layer file is found with LSN after the disk_consistent_lsn, it is
renamed (to avoid conflicts with new layer files) and a warning is logged.
2021-10-01 11:41:39 -07:00
Patrick Insinger
538c2a2a3e
pageserver - store timeline metadata durably
...
The metadata file is now always 512 bytes. The last 4 bytes are a
crc32c checksum of the previous 508 bytes. Padding zeroes are added
between the serde serialization and the start of the checksum.
A single write call is used, and the file is fsyncd after.
On file creation, the parent directory is fsyncd as well.
2021-10-01 11:41:39 -07:00
Patrick Insinger
62f83869f1
pageserver - fsync image/delta layers
...
Ensure image and delta layer files are durable.
Also, fsync the parent directory to ensure the directory entries are
durable.
2021-10-01 11:41:39 -07:00
Patrick Insinger
69670b61c4
pageserver - use crashsafe_dir utility
...
Replace usage of std::fs::create_dir/create_dir_all with crashsafe
equivalents.
2021-10-01 11:41:39 -07:00
Patrick Insinger
0a8aaa2c24
zenith_utils - add crashsafe_dir
...
Utility for creating directories and directory trees in a crash safe
manor.
Minimizes calls to fsync for trees.
2021-10-01 11:41:39 -07:00
Heikki Linnakangas
e474790400
Print more details on errors to log
...
Fixes https://github.com/zenithdb/zenith/issues/661
2021-10-01 17:57:41 +03:00
Alexey Kondratov
2c99e2461a
Allow usage of the compute hostname in the proxy
2021-10-01 16:24:35 +03:00
Stas Kelvich
cf8e27a554
Proxy: pass database name in console too
2021-10-01 14:27:52 +03:00
Kirill Bulatov
287ea2e5e3
Limit concurrent relish storage sync operations
2021-10-01 08:37:09 +03:00
Heikki Linnakangas
86e14f2f1a
Bump vendor/postgres
2021-09-30 20:36:57 +03:00
Arseny Sher
adbae62281
Rename SharedState.commit_lsn to notified_commit_lsn.
...
ref #682
2021-09-30 17:29:15 +03:00
Egor Suvorov
3127a4a13b
Safekeeper::Storage::write_wal: clarify behavior ( #679 )
...
It previously took &SafeKeeperState similar to persist(), but only for its
`server` member.
Now it takes &ServerInfo only, so there it's clear the state is not persisted.
Also added a comment about sync.
2021-09-29 19:58:30 +03:00
Egor Suvorov
6d993410c9
docs/README: fix link to walkeeper's README ( #677 )
2021-09-29 14:40:16 +03:00
Kirill Bulatov
fb05e4cb0b
Show better error messages on pageserver failures
2021-09-29 01:55:41 +03:00
Egor Suvorov
b0a7234759
pageserver: fix stale default listen addrs
...
* In command line help
* In dummy_conf
2021-09-28 20:57:51 +03:00
Egor Suvorov
ddf4b15ebc
pageserver: use const_format crate to generate default listen addrs
2021-09-28 20:57:51 +03:00
Egor Suvorov
3065532f15
pageserver: fix mistype in listen-http arg help
2021-09-28 20:57:51 +03:00
Arthur Petukhovsky
d6fc74a412
Various fixes for test_sync_safekeepers ( #668 )
...
* Send ProposerGreeting manually in tests
* Move test_sync_safekeepers to test_wal_acceptor.py
* Capture test_sync_safekeepers output
* Add comment for handle_json_ctrl
* Save captured output in CI
2021-09-28 19:25:05 +03:00
Arseny Sher
7a370394a7
Wait till previous victim recovers in run_restarts_under_load.
...
Fixes test flakiness, as recovery easily might take the whole iteration.
2021-09-28 19:15:41 +03:00
Stas Kelvich
0f3cf8ac94
Cleanup Dockerfile.
...
* make .dockerignore `ncdu -X` compatible to easily inspect build context
* remove cargo-chef as it was introducing more problems than it was solving
* remove rocksdb packages
* add ca-certs in the resulting image. We need that to be able to make https
connections from container with proxy to the console.
2021-09-28 18:26:20 +03:00
Heikki Linnakangas
014be8b230
Use Iterator, to avoid making one copy of page_versions BTreeMap
...
Reduces the CPU time spent in checkpointing, in the write_to_disk()
function.
2021-09-27 19:28:02 +03:00
Heikki Linnakangas
08978458be
Refactor write_to_disk, handling dropped segment as a special case.
...
Similar to what commit 7fb7f67b did to 'freeze', dealing with the
dropped segment separately from the rest of the logic makes the code
easier to follow. It is also needed by the next commit that replaces
the code to build new BTreeMap with an iterator; we cannot pass one
of two kinds of closures as argument, it has to always be the same one.
Having separate DeltaLayer::create() calls for the case of dropped
segment and the other cases works around that.
2021-09-27 19:23:32 +03:00
Heikki Linnakangas
2252d9faa8
Switch to RwLock in InMemoryLayer
...
Allows more parallelism basically for free.
2021-09-27 19:15:40 +03:00
Arthur Petukhovsky
22e15844ae
Fix clippy errors ( #673 )
2021-09-27 18:59:30 +03:00
Konstantin Knizhnik
ca9af37478
Do not write WAL at pageserver ( #645 )
...
* Do not write WAL at pageserver
* Remove import_timeline_wal function
2021-09-27 14:15:55 +03:00
Stas Kelvich
aae41e8661
Proxy pass for existing users.
...
Ask console to check per-cluster auth info.
2021-09-27 11:56:43 +03:00