View Issue Details

IDProjectCategoryView StatusLast Update
0003883SymmetricDSBugpublic2019-03-14 08:48
ReporterelongAssigned Toelong 
Prioritynormal 
Status closedResolutionfixed 
Product Version3.9.0 
Target Version3.10.0Fixed in Version3.10.0 
Summary0003883: Lost heartbeat when using more than two node groups
DescriptionHeartbeats can be ignored when using a 3-tier configuration or when more than two node groups are used. When the heartbeat job runs, it marks unsent heartbeat batches as OK to ignore them, as a way to prevent old heartbeat batches from accumulating if nodes are offline. Instead, this has led to ignoring heartbeat batches that should be sent. For example, pos heartbeats sent to store server will get ignored when store server runs its heartbeat job, preventing them from reaching central node.

For a short term fix, let's make two changes:
1. Use a built-in load transform on sym_node_host that loads the current system time into heartbeat_time column. This will make an old heartbeat batch load like it's current.
2. Change heartbeat job stop ignoring batches and instead check if a heartbeat batch already exists that is unsent. Check that the existing heartbeat batch has data where the source node ID is null, which means it came from a local change on the database. If no batches exist, then it can record a new heartbeat.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.10 da503d43

2019-03-04 12:31:17

elong

Details Diff
0003883: Lost heartbeat when using more than two node groups
0003883
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/job/PushHeartbeatListener.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/IOutgoingBatchService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchServiceSqlMap.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TransformService.java Diff File

SymmetricDS: 3.10 2ca2f456

2019-03-08 09:28:34

admin

Details Diff
0003883: Lost heartbeat when using more than two node groups
0003883
mod - symmetric-server/src/test/java/org/jumpmind/symmetric/test/SimpleIntegrationTest.java Diff File

Issue History

Date Modified Username Field Change
2019-03-04 12:27 elong New Issue
2019-03-04 12:27 elong Status new => assigned
2019-03-04 12:27 elong Assigned To => elong
2019-03-04 12:33 elong Status assigned => resolved
2019-03-04 12:33 elong Resolution open => fixed
2019-03-04 12:33 elong Fixed in Version => 3.10.0
2019-03-04 13:00 elong Changeset attached => SymmetricDS 3.10 da503d43
2019-03-08 10:00 admin Changeset attached => SymmetricDS 3.10 2ca2f456
2019-03-14 08:48 admin Status resolved => closed