Bruce Schuchardt created GEODE-5278:
---------------------------------------
Summary: Unexpected CommitConflictException caused by faulty
region synchronization
Key: GEODE-5278
URL: https://issues.apache.org/jira/browse/GEODE-5278
Project: Geode
Issue Type: Test
Components: regions
Reporter: Bruce Schuchardt
Fix For: 1.8.0
I was running tests for another ticket and found that several times my test
failed with a weird CommitConflictException. I traced this down to faulty
region-synchronization code. When a server crashes other members exchange
version vector information about the crashed server in order to recover
operations that may have only reached a subset of the servers. This is
supposed to return only region entries concerning the crashed server but I
noticed it also returned all entries modified by the requesting server as well.
{noformat}
before the transaction begins we have v48 of key Object_194:
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:14.813 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
generated tag {v48; rv220; ds=1; time=1527830894813}; key=Object_194;
oldvalue=util.QueryObject with id 1775 (contains 1 levels, aPrimitiveLong=-197)
newvalue=util.QueryObject with id 1780 (contains 1 levels, aPrimitiveLong=197)
client=edgegemfire1_trout_377 region=/testRegion; rvv=RegionVersionVector{rv220
gc0}@2057394665
server "bridge5" begins a GII sync with "bridge4" for loss of server "bridge2"
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.144 PDT
bridgegemfire5_trout_2643 <Pooled Waiting Message Processor 2> tid=0x7d]
Sending (InitialImageOperation$RequestImageMessage(region path='/testRegion';
sender=trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028; keysOnly=false;
processorId=712; waitForInit=false; checkTombstoneVersions=false;
lostMember=trout(bridgegemfire2_trout_3364:3364)<ec><v15>:1025;
versionVector=RegionVersionVector[trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028={rv-1
gc0 localVersion=0 local exceptions=[]}
others={trout(bridgegemfire2_trout_3364:3364)<ec><v15>:1025={rv-1 bsv1 bs=[]},
gc={}]; unfinished keys=null)) to 1 peers
([trout(bridgegemfire4_trout_3956:3956)<ec><v17>:1029]) via tcp/ip
the transaction begins
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.201 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
Server connection from
[identity(trout(edgegemfire1_trout_377:377:loner):44872:32e1cab9:edgegemfire1_trout_377,connection=1;
port=46982]: Received 7.0 get request (31 bytes) from /10.118.26.122:46982
timeout: 0 for region /testRegion key Object_194 txId 105
bridge5 gets back an odd result - the sync GII should only have entries
modified by "bridge2" but it has stuff from "bridge5", including Object_194
with the same revision as bridge5 already contains
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.203 PDT
bridgegemfire5_trout_2643 <Pooled High Priority Message Processor 4> tid=0x70]
processed these initial image keys: [Object_179,v={v1; rv42;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690427;
remote}, Object_185,v={v1; rv63;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691143;
remote}, Object_190,v={v1; rv74;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691522;
remote}, Object_228,v={v1; rv133;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760434;
remote}, Object_257,v={v1; rv181;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829825;
remote}, Object_269,v={v1; rv199;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830324;
remote}, Object_151,v={v1; rv1;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689202;
remote}, Object_212,v={v1; rv109;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759779;
remote}, Object_204,v={v1; rv99;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759529;
remote}, Object_163,v={v1; rv16;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689717;
remote}, Object_256,v={v1; rv179;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829744;
remote}, Object_251,v={v1; rv171;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829527;
remote}, Object_193,v={v1; rv81;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830758973;
remote}, Object_220,v={v1; rv121;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760065;
remote}, Object_215,v={v1; rv115;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759925;
remote}, Object_214,v={v1; rv114;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759907;
remote}, Object_201,v={v1; rv94;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759401;
remote}, Object_166,v={v1; rv23;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689938;
remote}, Object_210,v={v1; rv105;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759683;
remote}, Object_211,v={v1; rv108;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759746;
remote}, Object_238,v={v1; rv150;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760864;
remote}, Object_216,v={v1; rv116;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759951;
remote}, Object_195,v={v1; rv83;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759044;
remote}, Object_253,v={v1; rv176;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829673;
remote}, Object_160,v={v1; rv13;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689629;
remote}, Object_186,v={v1; rv65;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691241;
remote}, Object_245,v={v1; rv162;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829291;
remote}, Object_178,v={v1; rv41;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690410;
remote}, Object_280,v={v1; rv213;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830684;
remote}, Object_249,v={v1; rv169;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829454;
remote}, Object_206,v={v1; rv101;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759581;
remote}, Object_156,v={v1; rv9;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689528;
remote}, Object_157,v={v1; rv10;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689555;
remote}, Object_287,v={v1; rv222;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830895187;
remote}, Object_205,v={v1; rv100;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759554;
remote}, Object_203,v={v1; rv96;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759464;
remote}, Object_189,v={v1; rv72;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691452;
remote}, Object_184,v={v1; rv54;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690752;
remote}, Object_209,v={v1; rv104;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759660;
remote}, Object_159,v={v1; rv12;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689605;
remote}, Object_164,v={v1; rv20;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689836;
remote}, Object_235,v={v1; rv147;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760800;
remote}, Object_202,v={v1; rv95;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759432;
remote}, Object_254,v={v1; rv177;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829693;
remote}, Object_230,v={v1; rv138;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760570;
remote}, Object_167,v={v1; rv24;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689960;
remote}, Object_171,v={v1; rv30;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690121;
remote}, Object_237,v={v1; rv149;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760844;
remote}, Object_277,v={v1; rv208;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830566;
remote}, Object_182,v={v1; rv48;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690561;
remote}, Object_234,v={v1; rv145;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760760;
remote}, Object_255,v={v1; rv178;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829720;
remote}, Object_229,v={v1; rv135;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760488;
remote}, Object_263,v={v1; rv190;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830096;
remote}, Object_221,v={v1; rv122;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760084;
remote}, Object_224,v={v1; rv128;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760292;
remote}, Object_225,v={v1; rv130;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760337;
remote}, Object_196,v={v1; rv85;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759153;
remote}, Object_162,v={v1; rv15;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689677;
remote}, Object_192,v={v1; rv80;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830758895;
remote}, Object_180,v={v1; rv43;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690449;
remote}, Object_232,v={v1; rv142;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760678;
remote}, Object_243,v={v1; rv160;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829243;
remote}, Object_261,v={v1; rv186;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829991;
remote}, Object_240,v={v1; rv156;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829088;
remote}, Object_161,v={v1; rv14;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689655;
remote}, Object_200,v={v1; rv92;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759343;
remote}, Object_154,v={v1; rv7;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689469;
remote}, Object_165,v={v1; rv22;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689914;
remote}, Object_244,v={v1; rv161;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829267;
remote}, Object_267,v={v1; rv197;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830284;
remote}, Object_279,v={v1; rv211;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830633;
remote}, Object_226,v={v1; rv131;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760357;
remote}, Object_199,v={v1; rv91;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759323;
remote}, Object_223,v={v1; rv125;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760215;
remote}, Object_271,v={v1; rv201;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830372;
remote}, Object_265,v={v1; rv195;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830248;
remote}, Object_276,v={v1; rv207;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830533;
remote}, Object_194,v={v48; rv220;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830894818;
remote}, Object_272,v={v1; rv202;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830390;
remote}, Object_207,v={v1; rv102;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759622;
remote}, Object_246,v={v1; rv163;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829319;
remote}, Object_172,v={v1; rv33;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690226;
remote}, Object_275,v={v1; rv206;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830510;
remote}, Object_248,v={v1; rv167;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829408;
remote}, Object_198,v={v1; rv90;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759293;
remote}, Object_218,v={v1; rv118;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759992;
remote}, Object_174,v={v1; rv36;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690302;
remote}, Object_222,v={v1; rv123;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760104;
remote}, Object_173,v={v1; rv34;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690251;
remote}, Object_278,v={v1; rv209;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830586;
remote}, Object_236,v={v1; rv148;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760824;
remote}, Object_286,v={v1; rv221;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830895167;
remote}, Object_191,v={v1; rv78;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691638;
remote}, Object_233,v={v1; rv144;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760724;
remote}, Object_268,v={v1; rv198;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830302;
remote}, Object_175,v={v1; rv37;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690322;
remote}, Object_281,v={v1; rv214;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830705;
remote}, Object_152,v={v1; rv3;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689330;
remote}, Object_208,v={v1; rv103;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759641;
remote}, Object_170,v={v1; rv29;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690087;
remote}, Object_187,v={v1; rv68;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691342;
remote}, Object_266,v={v1; rv196;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830265;
remote}, Object_227,v={v1; rv132;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760386;
remote}, Object_270,v={v1; rv200;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830355;
remote}, Object_169,v={v1; rv28;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690065;
remote}, Object_282,v={v1; rv215;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830727;
remote}, Object_260,v={v1; rv185;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829968;
remote}, Object_213,v={v1; rv111;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759825;
remote}, Object_274,v={v1; rv205;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830465;
remote}, Object_158,v={v1; rv11;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689578;
remote}, Object_188,v={v1; rv69;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691371;
remote}, Object_258,v={v1; rv182;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829851;
remote}, Object_241,v={v1; rv158;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829175;
remote}, Object_259,v={v1; rv183;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829884;
remote}, Object_264,v={v1; rv194;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830225;
remote}, Object_262,v={v1; rv187;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830018;
remote}, Object_181,v={v1; rv47;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690541;
remote}, Object_183,v={v1; rv50;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690645;
remote}, Object_153,v={v1; rv6;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689436;
remote}, Object_217,v={v1; rv117;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759969;
remote}, Object_176,v={v1; rv38;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690343;
remote}, Object_231,v={v1; rv140;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760638;
remote}, Object_177,v={v1; rv39;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830690369;
remote}, Object_250,v={v1; rv170;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829497;
remote}, Object_130,v={v46; rv79;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830691662;
remote}, Object_219,v={v1; rv120;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830760036;
remote}, Object_239,v={v1; rv151;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830826783;
remote}, Object_273,v={v1; rv204;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830443;
remote}, Object_285,v={v1; rv219;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830806;
remote}, Object_168,v={v1; rv25;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689980;
remote}, Object_197,v={v1; rv86;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830759189;
remote}, Object_155,v={v1; rv8;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830689505;
remote}, Object_252,v={v1; rv175;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829649;
remote}, Object_242,v={v1; rv159;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829204;
remote}, Object_247,v={v1; rv165;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830829362;
remote}, Object_284,v={v1; rv218;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830785;
remote}, Object_283,v={v1; rv216;
mbr=trout(bridgegemfire5_trout_2643)<ec><v12>:1028; ds=1; time=1527830830744;
remote}]
the transaction is committed but since the new value of Object_194 is not ==
the old value the transaction fails
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.206 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
TXRegionState.createLockRequest 1 DistributedRegion
region-state={org.apache.geode.internal.cache.TXRegionState@63d8baad
,entryMods={Object_194={org.apache.geode.internal.cache.TXEntryState@75f1bb38
23}} ,isCreatedDuringCommit=false}
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.206 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
[TXLockServiceImpl.txLock] acquire try-locks for [TXLockBatch:
txLockId=TXLockId: trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028-222;
reqs=[regionPath=/testRegion keys=[Object_194]];
participants=[trout(bridgegemfire4_trout_3956:3956)<ec><v17>:1029,
trout(bridgegemfire1_trout_4249:4249)<ec><v19>:1026,
trout(bridgegemfire3_trout_2101:2101)<ec><v8>:1027]]
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.206 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
<DLockRequestProcessor 721 waiting for 1 replies from
[trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028]> got
process(DLockRequestProcessor.DLockResponseMessage responding GRANT;
serviceName=DTLS(version 3); objectName=[TXLockBatch: txLockId=TXLockId:
trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028-222;
reqs=[regionPath=/testRegion keys=[Object_194]];
participants=[trout(bridgegemfire4_trout_3956:3956)<ec><v17>:1029,
trout(bridgegemfire1_trout_4249:4249)<ec><v19>:1026,
trout(bridgegemfire3_trout_2101:2101)<ec><v8>:1027]]; responseCode=0;
keyIfFailed=null; leaseExpireTime=9223372036854775807; processorId=721;
lockId=721) from trout(bridgegemfire5_trout_2643:2643)<ec><v12>:1028
bridgegemfire5_2643/system.log: [fine 2018/05/31 22:28:15.211 PDT
bridgegemfire5_trout_2643 <ServerConnection on port 29940 Thread 8> tid=0x83]
Server connection from
[identity(trout(edgegemfire1_trout_377:377:loner):44872:32e1cab9:edgegemfire1_trout_377,connection=1;
port=46982]: Wrote exception: Entry for key Object_194 on region testRegion
had a state change
org.apache.geode.cache.CommitConflictException: Entry for key Object_194 on
region testRegion had a state change
{noformat}
The problem seems to be in RegionVersionVector.contains(id, version). This
method is not checking to see if the vector is for synchronization purposes if
the argument "id" names the owner of the vector - that is, the server
requesting synchronization.
Due to this flaw the synchronization return value will be _all_ of the region
entries modified by the requester.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)