[ 
https://issues.apache.org/jira/browse/GEODE-5890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653976#comment-16653976
 ] 

xiaojian zhou commented on GEODE-5890:
--------------------------------------

{noformat}
This is a special scenario of 45799. What happened are:

There're 2 operations for Object_10 both initiated from site 2. But they 
arrived at site 1(created the snapshot) and site 3 misordered. 
i.e. site 1 got destroy then put, while site 3 got put then destroy. 

Operation-1:
destroy from vm_14_edge_2_1_host1_11641: 16:57:30.849 - 16:57:44.203 tid=0xb83
The gateway event was created at site 2, with version tag: 
v20; rv20; time=1537315051153 (by bridge_11435)

Operation-2:
putAll from vm_15_edge_2_2_host1_11664: 16:57:32.238 - 16:57:43.890 tid=0xb83
The gateway event was created at site 2, with version tag:
v22; rv2; time=1537315063885 (by bridg_11450)

There's no CME at server, so it has nothing to do with GEODE-3967. 
Note: operation-1's gatway events has smaller timestamp than operation-2. 

When they arrived at site 3 misordered (this is possible use case), the late 
arriving operation-1's gateway event should be ignored by throwing a CME in 
processGatewayTag(). But it did not. 

The root cause is, when they are from the same site, the method just return 
true without checking the timestamp. {noformat}
 

 

> gateway events from the same distributed system did not check misorder
> ----------------------------------------------------------------------
>
>                 Key: GEODE-5890
>                 URL: https://issues.apache.org/jira/browse/GEODE-5890
>             Project: Geode
>          Issue Type: Bug
>          Components: wan
>            Reporter: xiaojian zhou
>            Assignee: xiaojian zhou
>            Priority: Major
>
> {noformat}
> Host name: rs-GEM-2228-1638a2i3xlarge-hydra-client-28
> OS name: Linux
> Architecture: amd64
> OS version: 3.10.0-862.11.6.el7.x86_64
> Java version: 1.8.0_181
> Java vm name: Java HotSpot(TM) 64-Bit Server VM
> Java vendor: Oracle Corporation
> Java home: /usr/local/regr/jdk/jdk1.8.0_181/jre
>   #####################################################
>   Product
>     Product-Name: Pivotal GemFire
>     Product-Version: 9.6.0
>     Native version: native code unavailable
>   Build
>     Build-Date: 2018-09-18 00:33:49 +0000
>     Build-Id: root 9
>     Build-Java-Version: 1.8.0_171
>     Build-Platform: Linux 4.4.0-89-generic amd64
>   Open
>     Source-Date: 2018-09-18 00:29:00 +0000
>     Source-Repository: support/9.6
>     Source-Revision: b404fab8c4fe962dc8adab827034efdbc93ab861
>   Closed
>     GemFire-Source-Date: 2018-09-10 23:15:03 +0000
>     GemFire-Source-Repository: support/9.6
>     GemFire-Source-Revision: f5a2b5ec6e6144a0635c41d1605b4586dd8acc6a
>     Running on: /10.32.111.152, 4 cpu(s), amd64 Linux 
> 3.10.0-862.11.6.el7.x86_64
>   #####################################################
> Test was run from versioning/newWan/wanVersioning.bt
> Test:
> versioning/newWan/parRegSerialSenderKeysPerWanHct.conf
>    bridgeHostsPerSite=3
>    bridgeThreadsPerVM=2
>    bridgeVMsPerHost=1
>    clientMem=256m
>    edgeHostsPerSite=2
>    edgeThreadsPerVM=5
>    edgeVMsPerHost=1
>    enableFailover=true
>    locatorHostsPerSite=1
>    locatorThreadsPerVM=2
>    locatorVMsPerHost=1
>    maxOps=20000
>    redundantCopies=1
>    resultWaitSec=1200
>    serverMem=256m
>    wanSites=4
> Run with local.conf:
> hydra.Prms-randomSeed=1537256262399;
> hydra.Prms-randomSeed=1537256262399;
> hydra.GemFirePrms-logLevel = fine;
> //randomSeed extracted from test:
> hydra.Prms-randomSeed=1537256262399;
> *** Test failed with this error:
> CLIENT vm_17_thr_50_edge_3_2_host1_11693
> TASK[0] versioning.newWan.WanConflictResolverTest.HydraTask_doOpsAndValidateHA
> ERROR util.TestException: Snapshot written by edge_1_2(pid=11618). Expected 
> /DefaultRegion to be size 24, but it is size 23
> The following 1 keys were missing from /DefaultRegion: [Object_10]
> util.TestException: Snapshot written by edge_1_2(pid=11618). Expected 
> /DefaultRegion to be size 24, but it is size 23
> The following 1 keys were missing from /DefaultRegion: [Object_10]
>         at 
> newWan.WANOperationsClient.verifyRegionContents(WANOperationsClient.java:1089)
>         at 
> versioning.newWan.WanConflictResolverTest.validateEntryOperationFromBBSnapshot(WanConflictResolverTest.java:364)
>         at 
> versioning.newWan.WanConflictResolverTest.doOpsAndValidateHA(WanConflictResolverTest.java:319)
>         at 
> versioning.newWan.WanConflictResolverTest.HydraTask_doOpsAndValidateHA(WanConflictResolverTest.java:111)
>         at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at hydra.MethExecutor.execute(MethExecutor.java:181)
>         at hydra.MethExecutor.execute(MethExecutor.java:149)
>         at hydra.TestTask.execute(TestTask.java:197)
>         at hydra.RemoteTestModule$1.run(RemoteTestModule.java:213)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to