4paradigm / 4paradigm/OpenMLDB

base and pre-aggr table may not be consistent if the leader changes

Ouverte
#3,044 0 commentaires 0 réactions 1 personne assignée Réclamée par @zhanghaohit Voir sur GitHub
bug high-priority
Langage dominant
C++
Étoiles
1.7k
Forks
331
Merge moyen
12 j 12 h
PR mergées (30 j)
1

Description

**Bug Description**
- leaders of base and pre-aggr tables: is always consistent
- followers of base and pre-aggr tables: not consistent. they are synced from leaders separately.

If there is a change in the leadership, it may cause in-consistency:
- the offset of base is not consistent with the offset of pre-aggr
- the leaders of base and pre-aggr will not be in the same tablet. The leader of pre-aggr table will never be updated.

**Expected Behavior**

Potential solutions:
- leaders of base and pre-aggr tables are not necessary to be in the same tablet
- offset checking before updating the pre-aggr table:
- if base > pre-aggr + 1, there may be some data lost in pre-aggr. have to manually update the pre-aggr until the base latest
- if base <= pre-aggr + 1, there may be some data lost in base. have to remove the new data from pre-aggr

In order not to affect the online service, the pre-aggr update should be done asynchronously in the background.

**Relation Case**

**Steps to Reproduce**

1.
2.
3.
4.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

L'issue décrit un problème de cohérence entre les tables de base et de pré-agrégation lors des changements de leader dans une base de données distribuée. Étudiez les mécanismes d'élection du leader et de synchronisation des données dans le code source d'OpenMLDB, en vous concentrant sur la manière dont les offsets sont suivis et mis à jour. Recherchez les modules qui gèrent la réplication des tables, les transitions de leadership et les tâches d'agrégation en arrière-plan afin de comprendre le flux actuel et où l'incohérence apparaît.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
databases, machine-learning
Domaine
databases, distributed-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.