Bug #81760 Rename RealFragment to Partition in Ndb kernel code.
Submitted: 7 Jun 2016 20:27 Modified: 13 Jun 2016 18:14
Reporter: Mauritz Sundell Email Updates:
Status: Closed Impact on me:
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:7.5.2 OS:Any
Assigned to: CPU Architecture:Any

[7 Jun 2016 20:27] Mauritz Sundell
With fully replicated tables the notion of Real Fragments was introduced in the code, but later these was decided to be called Partitions.

This is a pure refactoring with no user visible changes (except for user looking in code :)

The nomenclature for partitions and fragments shoud be:

1) partition - the user visible partitions in MySQL.
2) fragment - in a node group it is a logical collection of some rows in a table. Fragments can not be shared between node groups.
3) fragment replica - each fragment in a node group are stored in one fragment replica on each node in the node group.
4) primary (fragment) replica - one of nodes in the node group have the primary replica there all operations needing a lock is directed to.
5) backup (fragment) replica - the fragment replicas that are not the primary replica.

For traditional tables each fragment corresponds to a partition, but with fully replicated table there all node groups and nodes have its own copy of all rows in the table, a partition have one fragment in each node group all with the same data.

6) copy fragment - a partition consists of possible several copy fragments, one per node group, all with same data, but each copy fragment have its unique id.
7) main fragment - for a partition the main fragment is the fragment with the primary replica used for updates and lock operations.

How to repeat:
Search code for RealFragment and realFragment.

Suggested fix:
Replace use of RealFragment with Partition in code.
[7 Jun 2016 20:29] Mauritz Sundell
Posted by developer:
Should be fixed in 7.5 GA, but not critical since no user visible changes.
[13 Jun 2016 18:14] Jon Stephens
Fixed in NDB 7.5.3. Refactoring only; no user-visible changes. Closed.