]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Add the definition of PG temp to the glossary 480/head
authorLoic Dachary <loic@dachary.org>
Thu, 1 Aug 2013 22:47:00 +0000 (00:47 +0200)
committerLoic Dachary <loic@dachary.org>
Thu, 1 Aug 2013 22:47:13 +0000 (00:47 +0200)
it is not easy to figure out what a PG temp is just by reading the
code although it is easy to understand with an example.

Signed-off-by: Loic Dachary <loic@dachary.org>
doc/dev/peering.rst

index cf2c429f818cc8955f1da1ef7004a9ce4cb4656b..6f68e629e4ed52558c84ad23c8f58bdd7c27fb11 100644 (file)
@@ -20,7 +20,19 @@ Concepts
    the ordered list of OSDs responsible for a particular PG for
    a particular epoch according to CRUSH.  Normally this
    is the same as the *acting set*, except when the *acting set* has been
-   explicitly overridden via pg_temp in the OSDMap.
+   explicitly overridden via *PG temp* in the OSDMap.
+
+*PG temp* 
+   a temporary placement group acting set used while backfilling the
+   primary osd. Let say acting is [0,1,2] and we are
+   active+clean. Something happens and acting is now [3,1,2]. osd 3 is
+   empty and can't serve reads although it is the primary. osd.3 will
+   see that and request a *PG temp* of [1,2,3] to the monitors using a
+   MOSDPGTemp message so that osd.1 temporarily becomes the
+   primary. It will select osd.3 as a backfill peer and continue to
+   serve reads and writes while osd.3 is backfilled. When backfilling
+   is complete, *PG temp* is discarded and the acting set changes back
+   to [3,1,2] and osd.3 becomes the primary.
 
 *current interval* or *past interval*
    a sequence of osd map epochs during which the *acting set* and *up