View Issue Details

IDProjectCategoryView StatusLast Update
0002708SymmetricDSBugpublic2016-08-16 18:57
Reporternadavyakar Assigned Toelong  
Status closedResolutionfixed 
Product Version3.6.11 
Target Version3.8.1Fixed in Version3.8.1 
Summary0002708: symmetric-ds high cpu usage
Descriptionrouter reader threads consume high CPU:
after starting to read a transaction's data from the DB in the fillPeekAheadQueue method, the 'reading' boolean is set to false, which prevents this method from ever completing to read the latest transaction's data, causing the calling loop of execute (while (dataCount < maxDataToRoute || (lastTransactionId != null && transactional)) to call this method for ever.
On our heap-dump we have seen this method has been called for about 61 billion times per thread.
TagsNo tags attached.


has duplicate 0002707 closed symmetric-ds high cpu usage 



2016-08-14 09:16

reporter   ~0000837

Attached please find our symmetric-ds postgres tables initialization file we run upon installation.
In addition, following is the contect of our engine properties file:

# 1=cloudband instance id, ncos=cloudband db, server ip, instance ip, 32123=instance port

# The class name for the JncosC Driver

# The JncosC URL used to connect to the database

i# The user to login as who can create and update tables

# The password for the user to login as

# The HTTP URL of the root node to contact for registration

# This is how often the routing job will be run in milliseconds
# This is how often the push job will be run.
# This is how often the pull job will be run.
#clear all data on tables on initial load


2016-08-14 09:16



2016-08-16 13:43

administrator   ~0000840

There have been a lot of bug fixed since 3.6.11. Have you tried new versions?


2016-08-16 13:46

administrator   ~0000841

If you want minimal impact, I'd suggest trying 3.6.17 first. You will probably get the best support for 3.7.37 or 3.8.0. If you go 3.8.0, I'd recommend you do a lot of testing.


2016-08-16 14:37

reporter   ~0000843

We couldn't identify any code changes between symmetric-ds versions which should have altered this problematic behavior.
Are there any particular bugs which have been resolved between these versions which justifies this kind of an upgrade?


2016-08-16 15:16

administrator   ~0000844

I was specifically thinking of 2111 and 2112. We do see what you are saying, and will add some defensive code.


2016-08-16 16:38

developer   ~0000845

Checking in defensive code fix to fillPeekAheadQueue() for version 3.8.1, which should release soon.

Related Changesets

SymmetricDS: 3.8 abc2867e

2016-08-16 12:36:52


Details Diff
0002708: symmetric-ds high cpu usage Affected Issues
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/route/ Diff File

Issue History

Date Modified Username Field Change
2016-08-08 11:43 nadavyakar New Issue
2016-08-12 17:31 elong Relationship added related to 0002707
2016-08-12 17:31 elong Relationship deleted related to 0002707
2016-08-12 17:32 elong Relationship added has duplicate 0002707
2016-08-14 09:16 nadavyakar Note Added: 0000837
2016-08-14 09:16 nadavyakar File Added: ncos_root_server_setup.sql
2016-08-16 13:43 chenson Note Added: 0000840
2016-08-16 13:46 chenson Note Added: 0000841
2016-08-16 14:37 nadavyakar Note Added: 0000843
2016-08-16 15:16 chenson Note Added: 0000844
2016-08-16 16:38 elong Note Added: 0000845
2016-08-16 16:38 elong Assigned To => elong
2016-08-16 16:38 elong Status new => resolved
2016-08-16 16:38 elong Resolution open => fixed
2016-08-16 16:38 elong Fixed in Version => 3.8.1
2016-08-16 16:38 elong Target Version => 3.8.1
2016-08-16 17:00 admin Changeset attached => SymmetricDS 3.8 abc2867e
2016-08-16 18:57 elong Status resolved => closed