Comments (9)
I guess we should solve this problem more general. We can create special section in the config.yaml file which will contain all needed parameters and options for initdb
from patroni.
Why?
If Patroni is doing initdb, I don't see why it should give the user an option to turn off checksums.
from patroni.
Do we have any recent benchmark measuring performance penalty of enabling
data checksums? Last time I saw one, the effect was not nearly negligible,
I believe.
On Tue, Nov 3, 2015, 00:21 Josh Berkus [email protected] wrote:
Why?
If Patroni is doing initdb, I don't see why it should give the user an
option to turn off checksums.—
Reply to this email directly or view it on GitHub
#87 (comment).
from patroni.
Hmmm, I need to publish. On workloads I've tested overhead has been < 5%. Compared to the safety of detecting corruption as soon as it happens, that's negligable. Also, I'm pretty sure that pg_rewind without checksums is unsafe, and you're building pg_rewind into Patroni.
from patroni.
Would be glad to see the benchmark. :-) pg_rewind requires checksums OR
logging of hint bits iirc.
On Tue, Nov 3, 2015, 19:38 Josh Berkus [email protected] wrote:
Hmmm, I need to publish. On workloads I've tested overhead has been < 5%.
Compared to the safety of detecting corruption as soon as it happens,
that's negligable. Also, I'm pretty sure that pg_rewind without checksums
is unsafe, and you're building pg_rewind into Patroni.—
Reply to this email directly or view it on GitHub
#87 (comment).
from patroni.
Patroni can be attached to an already running cluster, or maybe in the future used to initialise new replicas out of the master that is completely unaware of patroni. On both of those cases we cannot guarantee the checksums will be on. We might solve this by fetching the checksum value parameter out of an existing master, but I think it would be easier to just make initdb options configurable.
from patroni.
We don't initdb in either of those cases.
from patroni.
Oh, right. But we also won't be able to rely on the checksums being on for pg_rewind in those cases. I think we should make this option configurable and choose the default value depending on the results of the benchmarks.
from patroni.
Implemented with custom options.
from patroni.
Related Issues (20)
- strange behavior of the restore_command HOT 1
- HAProxy node in Patroni does not failing over with Zookeeper HA in Docker Swarm HOT 5
- patroni error python after Migration patroni 2.1.1 and patroni-etcd 2.1.1 to patroni-3.2.1 and patroni-etcd-3.2.1 HOT 10
- load available_parameters/0_postgres.yml failed silently when package using zipapp
- Ability to use specific postgrespro parameters in patroni HOT 1
- Demotion of primary hangs when logical replication connection is established HOT 2
- Error on first switchover with message: Invalid auth token
- postgres glibc issue post migration from CentOS -> Rocky HOT 2
- Master Postgres Pod Was Out Of Memory - Postgres Was Inaccessible. HOT 1
- Patroni switchover standby cluster to primary cluster data is not replicate. HOT 2
- Updating the unix_socket_directories using patronictl edit-config does not reflect in patroni config file HOT 1
- patronictl failed to start when PATRONI_CONFIGURATION variable is set HOT 2
- synchronous_standby_names removed by Patroni in PostgreSQL synchronous replication mode HOT 1
- failsafe_mode don't work when k8s return 409 HOT 1
- cp in patroni 3.2.2 could not finish archiving the wal log. HOT 2
- FATAL: could not connect to the primary server: connection to server at "x.x.x.x", port 5432 failed: session is read-only HOT 3
- Failed to get list of machines from V3<Unknown error: '404 page not found', HOT 1
- patronictl does not work HOT 1
- Patroni synchronous replication not working HOT 2
- DOC TIP on pg_ctl and wal_keep_segments HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from patroni.