View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004346 | SymmetricDS | Bug | public | 2020-04-15 13:03 | 2020-04-21 19:02 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.11.3 | ||||
Target Version | 3.11.8 | Fixed in Version | 3.11.8 | ||
Summary | 0004346: Routing hash collision does not clean up properly | ||||
Description | When routing with common groups, a hash collision can occur and does not clean up properly, so it continues to try routing and gets stuck: ERROR [SEDE-015] [RouterJob] Exception while executing job 'Routing' StackTraceKey.init [CommonBatchCollisionException:1959824104] org.jumpmind.symmetric.route.CommonBatchCollisionException: Collision detected for common batch group at org.jumpmind.symmetric.service.impl.RouterService.insertDataEvents(RouterService.java:1011) at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:915) at org.jumpmind.symmetric.service.impl.RouterService.selectDataAndRoute(RouterService.java:761) at org.jumpmind.symmetric.service.impl.RouterService.routeDataForChannel(RouterService.java:507) at org.jumpmind.symmetric.service.impl.RouterService.routeDataForEachChannel(RouterService.java:279) at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:217) at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:49) at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:227) at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:298) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:835) | ||||
Steps To Reproduce | 1. Setup nodes 001, Aa, and BB 2. Send a table through a router that can to 001 and Aa or 001 and BB. id = String.valueOf(ID); if (id.contains("0")) { targetNodes.add("Aa"); targetNodes.add("001"); } else { targetNodes.add("BB"); targetNodes.add("001"); } return targetNodes; 3. Change data that will route to both groups insert into mytest values (10); insert into mytest values (11); 4. Collision will occur because group (001, Aa) is the same hash code as (001, BB) | ||||
Tags | No tags attached. | ||||
SymmetricDS: 3.11 a70b1723 2020-04-15 09:13:33 Details Diff |
0004346: Routing hash collision does not clean up properly |
Affected Issues 0004346 |
|
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java | Diff File | ||
SymmetricDS: 3.11 88428e7b 2020-04-21 09:00:20 Details Diff |
0004346: detect collision only for common group mode |
Affected Issues 0004346 |
|
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-04-15 13:03 | elong | New Issue | |
2020-04-15 13:03 | elong | Status | new => assigned |
2020-04-15 13:03 | elong | Assigned To | => elong |
2020-04-15 13:14 | elong | Status | assigned => resolved |
2020-04-15 13:14 | elong | Resolution | open => fixed |
2020-04-15 13:14 | elong | Fixed in Version | => 3.11.8 |
2020-04-15 14:00 | admin | Changeset attached | => SymmetricDS 3.11 a70b1723 |
2020-04-21 14:00 | admin | Changeset attached | => SymmetricDS 3.11 88428e7b |
2020-04-21 19:02 | admin | Status | resolved => closed |