Comments (3)
Actually my issue here seems to pretty much the same as the unsolved but closed issue #141
from mariadb-operator.
As I understand the ResetSlavePos happens during ConfigureReplica which seems to be executed during the following procedures:
- reconcilePodReady
- reconcileReplicas
- connectReplicasToNewPrimary
- changeCurrentPrimaryToReplica
For 3. and 4. it seems right to reset gtid_slave_pos.
For 1. and 2. this is a bit unexpected: I would assume that here each replica has a certain replication state (gtid_slave_pos), which gets lost here. From my understanding here it rather makes sense to keep the current position without overwriting it.
@mmontes11 what do you think about that?
from mariadb-operator.
Hey there @svenpecher ! Thanks for bringing this up and your detailed analysis.
This is indeed related to the following issue:
We will be implementing some replication enhancements in this release, which include choosing the furthest advanced replica in the primary switchover, see:
Ideally, I would like to avoid resetting gtid_slave_pos
where possible to minimize this kind of situations like the one you report. Your suggestion makes sense, it's like a middleground, so I will have it in mind by the time I'm implementing this.
To give you some context, this reset with timeout was introduced because we've faced situations where the replication was stucked waiting for replicas be synced. In this step specifically:
Switching to the furthest advanced replica might help with this? Maybe we don't need to wait for the furthest advanced replica to be sync with primary?
Anyway avoid the reset it in the steps 1. and 2. does sound sensible.
from mariadb-operator.
Related Issues (20)
- [Bug] Resource Limits not correct set
- [Bug] manifests yaml was deleted after automatic upgrade
- Support for successfuljobshistorylimit and failedjobshistorylimit in backups.k8s.mariadb.com
- [Bug]
- [Feature] Protect ressources to prevent accidential deletion/data loss HOT 1
- [Feature] Backup encryption
- [Feature] UBI9 support for all system Docker images HOT 1
- [Feature] IBM Power Docker images
- [Bug] Galera Init job keeps failing HOT 2
- [Bug] MariaDB-10.4 compatibility due to REPLICATION REPLICA being a 10.5+ grant HOT 1
- [Feature] Manage initial user with `User` CR
- [Feature] Manage initial database and user with `Database` with and `User` CRs
- [Feature] Improve `Connection` reconciliation. Password rotation
- [Feature] Improve `MaxScale` reconciliation. Password rotation
- [Feature] Improve `MariaDB` reconciliation. Password rotation
- [Bug] Galera with maxScale is failing to recover
- [Bug] Galera cluster failed to recovery HOT 1
- Issue: `mariadb-operator-(webhook)` stuck in starting workers, watching certificates
- [Bug] [0.29.0] GRANT - sql error HOT 1
- [Bug] Helm repo change breaks umbrella charts
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 mariadb-operator.