| Bug #119674 | Doc: Group Replication “write set” definition is unclear/misleading (group-replication-summary) | ||
|---|---|---|---|
| Submitted: | 14 Jan 5:25 | Modified: | 14 Jan 8:45 |
| Reporter: | Balkrishna Basisthnarayan | Email Updates: | |
| Status: | Open | Impact on me: | |
| Category: | MySQL Server: Group Replication | Severity: | S3 (Non-critical) |
| Version: | 9.2 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | certification, conflict-detection, documentation, group-replication, writeset | ||
[14 Jan 5:25]
Balkrishna Basisthnarayan
[14 Jan 8:37]
Frederic Descamps
a Write Set is even more than that: It contains the hash for the rows PK that are changed and, in some cases, the hashes of foreign keys or other dependencies that need to be captured (e.g. non NULL UKs) For example, with such a table: +-------+-----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------+------+-----+---------+-------+ | id | binary(1) | NO | PRI | NULL | | | name | binary(2) | YES | UNI | NULL | | | name2 | binary(1) | YES | | NULL | | +-------+-----------+------+-----+---------+-------+ When we do such an insert, we can see that we have two hashes: mysql> insert into t3 values (1,2,3); pke: PRIMARY | test |t3 | 1 | 1 hash: 79134815725924853 pke: name | test |t3 | 2 hash: 11034644986657565827 And when we do an update (still the pk and the non null unique key), and for both images (after and before): mysql> update t3 set name=3 where id=1; pke: PRIMARY | test | t3 | 1 | 1 hash: 79134815725924853 pke: name | test | t3 | 3 hash: 18082071075512932388 pke: PRIMARY | test | t3 | 1 | 1 hash: 79134815725924853 pke: name | test | t3 | 2 hash: 11034644986657565827
[14 Jan 8:45]
Balkrishna Basisthnarayan
Agreed. The sentence may be misleading due to the assumptions it implies. Could we replace it with the recommendation below?...Just a suggestion Replace: “the corresponding write set (the unique identifiers of the rows that were updated)” With: “the corresponding write set (a set of one or more hashes derived from key values of the modified rows—such as the primary key and, when applicable, other relevant non-NULL unique keys and dependencies—used for certification/conflict detection)”
