4.6 Priority Delta Ordering


This example is the same as in section 4.1 except that deltas C1 and A3 have an explicit assimilation priority. The endpoint UIDs are the same, but there are new creator identifiers. There are no significant changes to deltas A1, A2, B1 or B2. Because of the priority on deltas C1 and A3 the order of assimilation is different. The ordering is A1, A2, B1, C1, B2, A3. The assimilation priorities cause two additional blocks to be created. The first contains A1, A2 and B1. The second contains C1. The final block contains B2 and A3. C1 and A3 are block deltas. B2 is ordered in the last block because A3 does not depend on it.

Delta A1:

 <urn:groove.net:Del DepSeq="E2D20DF7D85D27460B3E0002" Gp="3" Seq="E9641419D18C367218970007" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="11" SenderMinDep="1" SpStSet="8;2;0;E9641419D18C367218970006;6401C37EFB360000;" TimeCreated="1201119771044">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="07BABB29CA877BF0"/>

Delta A2:

 <urn:groove.net:Del Gp="3" Seq="E9641419D18C367218970008" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="12" SenderMinDep="1" TimeCreated="1201119771184">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="635E6781992C71B5"/>

Delta B1:

 <urn:groove.net:Del DepSeq="E9641419D18C367218970007" Gp="4" Seq="6401C37EFB36712340A30003" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="12" SenderMinDep="2" SpStSet="11;1;0;E9641419D18C367218970007;E9641419D18C0000;" TimeCreated="1201119771294">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="D83DCCA04C620A1F"/>

Delta C1: This is a priority delta. AssimilationPriority is set to 1. This delta goes in the fourth block (three other priority deltas were created before A1). DLS is the delta log state, which contains information about the last delta from each endpoint, in this case B1, C0, and A2. Each sequence in the delta log state is prefixed by the group number, in this case 4, 3, and 3.

 <urn:groove.net:Del AssimilationPriority="1" BlkNum="4" DLS="000000046401C37EFB36712340A30003,00000003E2D20DF7D85D27460B3E0002,00000003E9641419D18C367218970008" DepSeq="E9641419D18C367218970008,6401C37EFB36712340A30003" Gp="4" Seq="E2D20DF7D85D27460B3E0003" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="13" SenderMinDep="3" SpStSet="12;1;0;E9641419D18C367218970008;E9641419D18C0000;12;2;0;6401C37EFB36712340A30003;6401C37EFB360000;" TimeCreated="1201119771434">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="823BAA1446F63381"/>

Delta B2: This is ordered after C1 despite being in the same group and having a lower sequence because it is in the next block.

 <urn:groove.net:Del Gp="4" Seq="6401C37EFB36712340A30004" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="13" SenderMinDep="2" TimeCreated="1201119771559">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="4EFE4ED0DFE7D3D0"/>

Delta A3: This is another priority delta. This delta goes in the fifth block. The delta log state is B1, C1, A2, with groups 4, 4, 3.

 <urn:groove.net:Del AssimilationPriority="1" BlkNum="5" DLS="000000046401C37EFB36712340A30003,00000004E2D20DF7D85D27460B3E0003,00000003E9641419D18C367218970008" DepSeq="E2D20DF7D85D27460B3E0003" Gp="4" Seq="E9641419D18C367218970009" Version="1,0,0,0">
   <urn:groove.net:Cmds PurGrp="0" PurNot="" Rank="14" SenderMinDep="1" SpStSet="12;2;0;6401C37EFB36712340A30003;6401C37EFB360000;13;3;0;E2D20DF7D85D27460B3E0003;E2D20DF7D85D0000;" TimeCreated="1201119771638">
     <urn:groove.net:Cmd CMD="7" EngineURL="Dynamics" PurNot="" TestId="1859740D3380D0E9"/>