View Issue Details

IDProjectCategoryView StatusLast Update
0002818SymmetricDSBugpublic2016-09-29 21:01
ReportermmichalekAssigned Tommichalek 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.8.4 
Target Version3.8.5Fixed in Version3.8.5 
Summary0002818: RouterService is deadlocking on SQLite when clustering enabled
DescriptionIt appears that there are overlapping database transactions in RouterService.completeBatchesAndCommit. One active transaction in the context, and a second update is performed during gapDetector.setFullGapAnalysis(true). The database is locked for the context transaction, and the process deadlocks when attempting to perform the second update.

The solution is to change gapDetector.setFullGapAnalysis and context service to perform it's update as part of the transaction.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.8 2e2ed085

2016-09-21 13:31:32

mmichalek

Details Diff
0002818: RouterService is deadlocking on SQLite when clustering enabled
0002818
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapDetector.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapFastDetector.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/IContextService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ContextService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java Diff File

Issue History

Date Modified Username Field Change
2016-09-21 13:31 mmichalek New Issue
2016-09-21 13:31 mmichalek Status new => assigned
2016-09-21 13:31 mmichalek Assigned To => mmichalek
2016-09-21 13:31 mmichalek Status assigned => resolved
2016-09-21 13:31 mmichalek Resolution open => fixed
2016-09-21 13:31 mmichalek Fixed in Version => 3.8.5
2016-09-21 14:00 mmichalek Changeset attached => SymmetricDS 3.8 2e2ed085
2016-09-29 21:01 admin Status resolved => closed