Skip to content

Commit 0d5a562

Browse files
authored
Merge pull request ceph#56635 from zdover23/wip-doc-2024-04-02-dev-peering-concepts-1-of-3
doc/dev: refine "Concepts" Reviewed-by: Anthony D'Atri <[email protected]>
2 parents 2354b84 + 530b11b commit 0d5a562

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

doc/dev/peering.rst

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,43 +6,43 @@ Concepts
66
--------
77

88
*Peering*
9-
the process of bringing all of the OSDs that store
10-
a Placement Group (PG) into agreement about the state
11-
of all of the objects (and their metadata) in that PG.
12-
Note that agreeing on the state does not mean that
13-
they all have the latest contents.
9+
the process of bringing all of the OSDs that store a Placement Group (PG)
10+
into agreement about the state of all of the objects in that PG and all of
11+
the metadata associated with those objects. Two OSDs can agree on the state
12+
of the objects in the placement group yet still may not necessarily have the
13+
latest contents.
1414

1515
*Acting set*
16-
the ordered list of OSDs who are (or were as of some epoch)
17-
responsible for a particular PG.
16+
the ordered list of OSDs that are (or were as of some epoch) responsible for
17+
a particular PG.
1818

1919
*Up set*
20-
the ordered list of OSDs responsible for a particular PG for
21-
a particular epoch according to CRUSH. Normally this
22-
is the same as the *acting set*, except when the *acting set* has been
23-
explicitly overridden via *PG temp* in the OSDMap.
20+
the ordered list of OSDs responsible for a particular PG for a particular
21+
epoch, according to CRUSH. This is the same as the *acting set* except when
22+
the *acting set* has been explicitly overridden via *PG temp* in the OSDMap.
2423

2524
*PG temp*
26-
a temporary placement group acting set used while backfilling the
27-
primary osd. Let say acting is [0,1,2] and we are
28-
active+clean. Something happens and acting is now [3,1,2]. osd 3 is
29-
empty and can't serve reads although it is the primary. osd.3 will
30-
see that and request a *PG temp* of [1,2,3] to the monitors using a
31-
MOSDPGTemp message so that osd.1 temporarily becomes the
32-
primary. It will select osd.3 as a backfill peer and continue to
33-
serve reads and writes while osd.3 is backfilled. When backfilling
34-
is complete, *PG temp* is discarded and the acting set changes back
35-
to [3,1,2] and osd.3 becomes the primary.
25+
a temporary placement group acting set that is used while backfilling the
26+
primary OSD. Assume that the acting set is ``[0,1,2]`` and we are
27+
``active+clean``. Now assume that something happens and the acting set
28+
becomes ``[2,1,2]``. Under these circumstances, OSD ``3`` is empty and can't
29+
serve reads even though it is the primary. ``osd.3`` will respond by
30+
requesting a *PG temp* of ``[1,2,3]`` to the monitors using a ``MOSDPGTemp``
31+
message, and ``osd.1`` will become the primary temporarily. ``osd.1`` will
32+
select ``osd.3`` as a backfill peer and will continue to serve reads and
33+
writes while ``osd.3`` is backfilled. When backfilling is complete, *PG
34+
temp* is discarded. The acting set changes back to ``[3,1,2]`` and ``osd.3``
35+
becomes the primary.
3636

3737
*current interval* or *past interval*
38-
a sequence of OSD map epochs during which the *acting set* and *up
39-
set* for particular PG do not change
38+
a sequence of OSD map epochs during which the *acting set* and the *up
39+
set* for particular PG do not change.
4040

4141
*primary*
42-
the (by convention first) member of the *acting set*,
43-
who is responsible for coordination peering, and is
44-
the only OSD that will accept client initiated
45-
writes to objects in a placement group.
42+
the member of the *acting set* that is responsible for coordination peering.
43+
The only OSD that accepts client-initiated writes to the objects in a
44+
placement group. By convention, the primary is the first member of the
45+
*acting set*.
4646

4747
*replica*
4848
a non-primary OSD in the *acting set* for a placement group

0 commit comments

Comments
 (0)