[ https://issues.apache.org/jira/browse/GEODE-5278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16750798#comment-16750798 ]
ASF subversion and git services commented on GEODE-5278: -------------------------------------------------------- Commit ad121d636a0b6fd93ce01f025f16d0a58abcbe79 in geode's branch refs/heads/feature/GEODE-5307 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=ad121d6 ] GEODE-5278 Unexpected CommitConflictException caused by faulty region synchronization Modified RegionVersionVector.contains(id,version) to answer true if the vector is for sychronization and the ID is that of the owner of the vector. This causes the get-initial-image code to ignore entries last changed by the server requesting the synch operation. (cherry picked from commit 024ed43a0429f2df85b6477472327c3db054eb6d) > Unexpected CommitConflictException caused by faulty region synchronization > -------------------------------------------------------------------------- > > Key: GEODE-5278 > URL: https://issues.apache.org/jira/browse/GEODE-5278 > Project: Geode > Issue Type: Bug > Components: regions > Reporter: Bruce Schuchardt > Assignee: Bruce Schuchardt > Priority: Major > Labels: pull-request-available > Fix For: 1.7.0 > > Time Spent: 1h > Remaining Estimate: 0h > > 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)