View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3798 [SymmetricDS] Bug minor have not tried 2018-11-16 10:12 2018-11-16 15:16
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Allow a trigger router to be considered for common batches that sync in one direction even though ...
Description: Allow a trigger router to be considered for common batches that sync in one direction even though a trigger router might exist for the same table that is not a default router on a different channel
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3799 [SymmetricDS Pro] Installation minor have not tried 2018-11-16 10:35 2018-11-16 10:35
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.36  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Master Node With 30 nodes on Interbase XE
Description: Hello,

I don't find answers regarding config....

1 Master Node with 30 clients nodes
The Purge Job take about 1 hour on the Master
For a Total of 300k records created or updated everyday (so about 10k rows * 30 nodes)

The Route Job takes 2000ms during datetime for a average of 900ms

Can you tell me if everyting is ok for you...




Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3724 [SymmetricDS] Bug minor have not tried 2018-09-14 11:15 2018-11-16 08:12
Reporter: josh-a-hicks Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: acknowledged Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Conflict detection with Timestamps between DB2 and Derby
Description: Conflict detection is firing on timestamp columns while syncing from Derby to DB2 even if the values appear to match. It could be caused by the precision of the timestamps being compared and each have different formats.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3790 [SymmetricDS] Bug minor have not tried 2018-11-09 12:27 2018-11-16 08:08
Reporter: achintya.de@uk.daiwacm.com Platform:  
Assigned To: hanes OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: FK violation between sym_channel and sym_trigger
Description: i've now managed to get the SQL server node working but the trouble is im getting a FK constraint failure for channel id

following this for a "Quick Start"

http://www.symmetricds.org/doc/3.9/html/tutorials.html#_configure

Section 2.3 Configure

in the corp / master node the sym_channel table has the following channel_id

config
reload
monitor
heartbeat
default
dynamic

but the insert statement is using the channel_id as 'item'

-- Trigger

INSERT
    INTO
        sym_trigger
        (
            trigger_id,
            source_table_name,
            channel_id,
            last_update_time,
            create_time
        )
    VALUES
        (
            'item',
            'item',
            'item',
            getdate(),
            getdate()
        )

and keep failing

please advise

thanks
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001335)
hanes   
2018-11-16 07:59   
If you want to use a channel id of "item" for your particular trigger, you'll need to create a channel called "item" in sym_channel.
(0001337)
achintya.de@uk.daiwacm.com   
2018-11-16 08:08   
hi Hanes,

as i can see you've picked up my other case (0003794) , please resolve this one

I've put notes in the other call

thanks

achintya

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3794 [SymmetricDS] Bug minor have not tried 2018-11-14 05:31 2018-11-16 08:06
Reporter: achintya.de@uk.daiwacm.com Platform:  
Assigned To: hanes OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Can anybody please please help, im kind of tantalisingly close but cant drink the water
Description: Dear developers,

i think ive done all the steps but 3 nodes (corp, store1, store2) have started but im getting this repeated msg in the errorlog, which seems there is an issue in the registration URL,

http://www.symmetricds.org/doc/3.9/html/tutorials.html#_configure

It just needs a nudge in my opinion but i dont know how to do it

2018-11-14 10:21:48,190 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Full gap analysis is running
2018-11-14 10:21:48,221 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Querying data in gaps from database took 31 ms
2018-11-14 10:21:48,221 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Full gap analysis is done after 31 ms
2018-11-14 10:21:48,346 WARN [?] [SymmetricServlet] [qtp330084561-13] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:48,549 WARN [?] [SymmetricServlet] [qtp330084561-11] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:48,736 WARN [?] [SymmetricServlet] [qtp330084561-17] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:48,892 INFO [store-002] [RegistrationService] [store-002-job-3] This node is unregistered. It will attempt to register using the registration.url
2018-11-14 10:21:48,908 INFO [store-002] [DataLoaderService] [store-002-job-3] Using registration URL of http://localhost:31415/sync/CBDEV_LN/registration?nodeGroupId=store&externalId=002&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-002&schemaVersion=%3F&databaseType=Microsoft+SQL+Server&databaseVersion=14.0&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:48,923 WARN [?] [SymmetricServlet] [qtp330084561-14] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=002&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-002&schemaVersion=%3F&databaseType=Microsoft+SQL+Server&databaseVersion=14.0&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:48,923 WARN [store-002] [RegistrationService] [store-002-job-3] Unable to register with server because the service is not available. It may be starting up.
2018-11-14 10:21:48,923 INFO [store-002] [RegistrationService] [store-002-job-3] Could not register. Sleeping for 4000ms before attempting again.
2018-11-14 10:21:48,955 WARN [?] [SymmetricServlet] [qtp330084561-15] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:49,142 WARN [?] [SymmetricServlet] [qtp330084561-13] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:49,361 WARN [?] [SymmetricServlet] [qtp330084561-11] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:49,798 WARN [?] [SymmetricServlet] [qtp330084561-17] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:50,016 WARN [?] [SymmetricServlet] [qtp330084561-14] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:50,236 WARN [?] [SymmetricServlet] [qtp330084561-15] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:50,441 WARN [?] [SymmetricServlet] [qtp330084561-13] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:50,628 WARN [?] [SymmetricServlet] [qtp330084561-11] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:50,832 WARN [?] [SymmetricServlet] [qtp330084561-17] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:52,926 INFO [store-002] [RegistrationService] [store-002-job-3] This node is unregistered. It will attempt to register using the registration.url
2018-11-14 10:21:52,942 INFO [store-002] [DataLoaderService] [store-002-job-3] Using registration URL of http://localhost:31415/sync/CBDEV_LN/registration?nodeGroupId=store&externalId=002&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-002&schemaVersion=%3F&databaseType=Microsoft+SQL+Server&databaseVersion=14.0&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:52,957 WARN [?] [SymmetricServlet] [qtp330084561-14] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=002&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-002&schemaVersion=%3F&databaseType=Microsoft+SQL+Server&databaseVersion=14.0&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:21:52,957 WARN [store-002] [RegistrationService] [store-002-job-3] Unable to register with server because the service is not available. It may be starting up.
2018-11-14 10:21:52,957 INFO [store-002] [RegistrationService] [store-002-job-3] Could not register. Sleeping for 27000ms before attempting again.
2018-11-14 10:21:53,363 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Full gap analysis is running
2018-11-14 10:21:53,394 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Querying data in gaps from database took 31 ms
2018-11-14 10:21:53,394 INFO [corp-000] [DataGapFastDetector] [corp-000-job-3] Full gap analysis is done after 31 ms
2018-11-14 10:21:58,519 INFO [corp-000] [DataGapFastDetector] [corp-000-job-11] Full gap analysis is running
2018-11-14 10:21:58,554 INFO [corp-000] [DataGapFastDetector] [corp-000-job-11] Querying data in gaps from database took 35 ms
2018-11-14 10:21:58,554 INFO [corp-000] [DataGapFastDetector] [corp-000-job-11] Full gap analysis is done after 35 ms
2018-11-14 10:22:00,073 INFO [store-001] [RegistrationService] [store-001-job-3] This node is unregistered. It will attempt to register using the registration.url
2018-11-14 10:22:00,117 INFO [store-001] [DataLoaderService] [store-001-job-3] Using registration URL of http://localhost:31415/sync/CBDEV_LN/registration?nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:22:00,167 WARN [?] [SymmetricServlet] [qtp330084561-15] The client node request is being rejected because the server node does not exist. Please check that the engine.name exists in the url. It should be of the pattern http://host:port/sync/{engine.name}/{action}. If it does not, then check the sync.url of this node or the registration.url of the client making the request. The request was /CBDEV_LN/registration from the host 127.0.0.1 with an ip address of 127.0.0.1. The query string was: nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
2018-11-14 10:22:00,169 WARN [store-001] [RegistrationService] [store-001-job-3] Unable to register with server because the service is not available. It may be starting up.
2018-11-14 10:22:00,191 INFO [store-001] [RegistrationService] [store-001-job-3] Could not register. Sleeping for 26000ms before attempting again.

i get this error when i try to access the registration URL: HTTP ERROR 660

i know that 660 can be caused by various reasons but not sure whats the trouble in my case

the URL is :

registration.url=http://localhost:31415/sync/CBDEV_LN

where CBDEV_LN is the engine name in the corp-000.properties file

please have a look and i know somebody of you can help me to fix it

ive never used this product and trying to setup a demo to show the business that it works, if i cant make this working, it wont be used here at my organisation

thanks

achintya


Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001334)
hanes   
2018-11-16 07:57   
Are both of your nodes on the same machine? It looks like your store node is attempting to register with a registration URL of a node that is on 'localhost' port 31415.
(0001336)
achintya.de@uk.daiwacm.com   
2018-11-16 08:06   
thanks Hanes for picking up the case.

Im using my desktop to setup this product as a proof of concept to show that it replicates data from corp-000 node (which is a Sybase Node) to store-001 ( another Sybase ASE node ) and also to store-002 ( which is a sql server node )

These Sybase and SQL Server databases are running on different unix and windows hosts

I have followed the steps until 1.2.1 of this tutorial note: http://www.symmetricds.org/doc/3.9/html/tutorials.html#_configure

but 1.2.2 doesnt work as the item, item_selling_price, sale_return_line_item, sale_transaction tables are not created on store-001 and store-002 nodes but those are created on corp-000 node

I was expecting those tables will be created on the store nodes otherwise how the data will be replicated to there

I hope i explained what i did and what im expecting and what im getting

there must be a missing jigsaw to solve this puzzle

you may call me at 00447984714251 if you wish to get a better idea and we can talk thru to get this done

please dont give up and i havent given up yet

many thanks

Achintya

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3789 [SymmetricDS Pro] Improvement minor have not tried 2018-11-08 12:13 2018-11-16 08:00
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.15  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Sort sql & csv configuration export by primary key to make it easier to diff
Description: Sort sql & csv configuration export by primary key to make it easier to diff
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3797 [SymmetricDS Pro] Improvement minor have not tried 2018-11-15 16:11 2018-11-15 16:15
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Filter threads shown on Manage -> JVM Threads and snapshot
Description: There can be too many threads shown on the Manage -> JVM Threads, making it hard to scroll and find an active thread running a job. Add an option to filter the threads and show them only when their stack trace includes SymmetricDS classes. In the support snapshot file, add a threads-filtered.txt file with the same filtering.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3688 [SymmetricDS] Bug minor have not tried 2018-08-22 06:41 2018-11-14 13:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: Routing can fail due to ConcurrentModificationException while attempting to log "Routing for channel has been running..." (3.8)
Description: There is a situation where the peek ahead thread could be adding transactions to the transaction Set, and at the same time, RouterService attempts to call "toString()" on that transactions Set. This results in a ConcurrentModificationException during the toString operation on the set. This logging is not really needed so we will no longer log the transactions here.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3795 [SymmetricDS] Improvement minor have not tried 2018-11-14 12:50 2018-11-14 12:50
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: More efficient routing for non-transactional channels
Description: This change optimizes the reading and enqueueing of sym_data rows when in non-transactional mode. It ignores the transacation id, and instead just routes each data id in order.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3793 [SymmetricDS] Improvement minor have not tried 2018-11-13 16:33 2018-11-13 16:33
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: Optimize routing query for Oracle when majority of sym_data is unrouted
Description: This routing query select ~31M out of 42 M rows. It timed out after 1 hour.

select d.data_id, d.table_name, d.event_type, '' as row_data, '' as pk_data, '' as old_data, d.create_time, d.trigger_hist_id, d.channel_id, d.transaction_id, d.source_node_id, d.external_data, d.node_list from sym_data d where d.channel_id='default' and data_id >= 804584792 order by d.create_time asc, d.data_id asc

Adding the full table scan hint, it comes back in 85 seconds:
 select /*+ full (d) */ d.data_id, d.table_name, d.event_type, '' as row_data, '' as pk_data, '' as old_data, d.create_time, d.trigger_hist_id, d.channel_id, d.transaction_id, d.source_node_id, d.external_data, d.node_list from sym_data d where d.channel_id='default' and data_id >= 804584792 order by d.create_time asc, d.data_id asc
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3792 [SymmetricDS] Bug minor have not tried 2018-11-13 13:45 2018-11-13 13:45
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: Routing bottleneck on long routing runs
Description: Observed code hotspot in routing:

source-router-reader-1

java.util.HashMap.hash():338
java.util.HashMap.put():611
java.util.HashSet.add():219
org.jumpmind.symmetric.route.ChannelRouterContext.addTransaction():265
org.jumpmind.symmetric.route.DataGapRouteReader.execute():203
org.jumpmind.symmetric.route.DataGapRouteReader.run():129
java.util.concurrent.ThreadPoolExecutor.runWorker():1142
java.util.concurrent.ThreadPoolExecutor$Worker.run():617
java.lang.Thread.run():745
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3791 [SymmetricDS] Bug minor have not tried 2018-11-13 12:45 2018-11-13 13:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Windows service installation will not work if the directory contains spaces
Description: The setenv file does not handles spaces in directory names
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3782 [SymmetricDS] Bug minor have not tried 2018-11-02 08:31 2018-11-09 07:05
Reporter: achintya.de@uk.daiwacm.com Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: bin/sym throws following errors
Description: I've just downloaded 3.9.14 software, extracted in a folder on Windows 7 and run sym from the bin folder as out of the box without changing anything at all

I get this:

C:\symmetric-server-3.9.14\bin>sym
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/web/WEB-INF/lib/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Log output will be written to C:\symmetric-server-3.9.14/logs/symmetric.log
[startup] - SymmetricUtils -
   _____ __ _ ____ _____
  / ___/ __ _____ __ ___ __ ___ _/ /_ ____(_)___ / __ | / ___/
  \__ \ / / / / _ `_ \/ _ `_ \/ _ \/_ __// __/ / __/ / / / / \__ \
 ___/ // /_/ / // // / // // / __// / / / / / /_ / /_/ / ___/ /
/____/ \__ /_//_//_/_//_//_/\___/ \_/ /_/ /_/\__/ /_____/ /____/
      /____/
+-----------------------------------------------------------------+
| Copyright (C) 2007-2018 JumpMind, Inc. |
| |
| Licensed under the GNU General Public License version 3. |
| This software comes with ABSOLUTELY NO WARRANTY. |
| See http://www.gnu.org/licenses/gpl.html |
+-----------------------------------------------------------------+
[startup] - SymmetricWebServer - About to start SymmetricDS web server on host:port 0.0.0.0:31415
[startup] - SymmetricWebServer - Starting JMX HTTP console on port 31416
[startup] - SymmetricWebServer - Joining the web server main thread
HttpAdaptor version 3.0.1 started on port 31416
[startup] - HttpParser - Illegal character 0x16 in state=START for buffer HeapByteBuffer@3fdc9569[p=1,l=517,c=8192,r=516]={\x16<<<\x03\x01\x02\x00\x01
\x00\x01\xFc\x03\x03@\xB7\x08\xE9\x01\xC9\x12...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
0\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
[startup] - HttpParser - Illegal character 0x16 in state=START for buffer HeapByteBuffer@50584739[p=1,l=517,c=8192,r=516]={\x16<<<\x03\x01\x02\x00\x01
\x00\x01\xFc\x03\x03\x86\x95\x9e\x9b\xBd\n\x8d...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
[startup] - HttpParser - Illegal character 0x16 in state=START for buffer HeapByteBuffer@3fdc9569[p=1,l=186,c=8192,r=185]={\x16<<<\x03\x01\x00\xB5\x01
\x00\x00\xB1\x03\x03\x10\x99\xB2\xA5T\xFc\xC5...\x17\x00\x18\x00\x1b\x00\x03\x02\x00\x02::\x00\x01\x00>>>.1uP\x00\x00\x00\x0b\x00\x02\x01\x00\x003\x00
+\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
Terminate batch job (Y/N)?
Steps To Reproduce: just run sym from the bin folder
Additional Information:
Attached Files: corp-000.properties (3,010 bytes) 2018-11-06 09:01
http://www.symmetricds.org/issues/file_download.php?file_id=170&type=bug
store-001.properties (3,016 bytes) 2018-11-06 09:01
http://www.symmetricds.org/issues/file_download.php?file_id=171&type=bug
store-002.properties (3,148 bytes) 2018-11-06 09:01
http://www.symmetricds.org/issues/file_download.php?file_id=172&type=bug
Notes
(0001307)
elong   
2018-11-02 08:35   
You'll see that logging when someone tries to access https://localhost:31415 instead of http://localhost:31415
(0001308)
achintya.de@uk.daiwacm.com   
2018-11-02 08:54   
thnx Elong but it is my workstation and nobody has access to it and nobody knows abt this website yet

just tried again, no that parser error but when i try to use the url, i get this

HTTP ERROR 403
Problem accessing /. Reason:

    Forbidden
Powered by Jetty:// 9.4.7.v20170914

The DOS /CMD window is in this state now:
/____/ \__ /_//_//_/_//_//_/\___/ \_/ /_/ /_/\__/ /_____/ /____/
      /____/
+-----------------------------------------------------------------+
| Copyright (C) 2007-2018 JumpMind, Inc. |
| |
| Licensed under the GNU General Public License version 3. |
| This software comes with ABSOLUTELY NO WARRANTY. |
| See http://www.gnu.org/licenses/gpl.html |
+-----------------------------------------------------------------+
[startup] - SymmetricWebServer - About to start SymmetricDS web server on host:port 0.0.0.0:31415
[startup] - SymmetricWebServer - Starting JMX HTTP console on port 31416
[startup] - SymmetricWebServer - Joining the web server main thread
HttpAdaptor version 3.0.1 started on port 31416
(0001309)
elong   
2018-11-02 09:09   
What version of Java are you using? Oracle's version 8 of Java is currently recommended.
(0001310)
achintya.de@uk.daiwacm.com   
2018-11-02 09:11   
that was the first bottleneck, i had to download n install java 8 to get this running, i had 7 when i first started

C:\>java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
(0001311)
achintya.de@uk.daiwacm.com   
2018-11-02 09:17   
this was my first case regarding SymmetricDS s/w

https://www.symmetricds.org/issues/view.php?id=3771#c1303
(0001312)
elong   
2018-11-02 09:43   
It looks like it's working to me. There's no web interface to use. It uses HTTP/HTTPS for syncing data. The 403 error in your web browser is correct, it is expecting another SymmetricDS node to connect and authenticate, not a user to point their browser at it. Take a look at the tutorial for getting setup:

http://www.symmetricds.org/doc/3.9/html/tutorials.html

If you want a web interface instead, there's SymmetricDS Pro from JumpMind.
(0001313)
achintya.de@uk.daiwacm.com   
2018-11-02 12:56   
sorry to nag guys

my proof of concept demo is to replicate data from a sybase database to either to another sybase database or to a sql server database

i edited the corp-000.properties file to use a sybase db driver but it is failing with error while doing dbimport

here are few relevant lines as example of the properties file

#db.driver=org.sqlite.JDBC
db.driver=com.sybase.jdbc4.jdbc.SybDriver
#db.driver=com.nuodb.jdbc.Driver
#db.driver=org.h2.Driver

#db.url=jdbc:sqlite:corp.sqlite
db.url=jdbc:sybase:Tds:<hostname>:<port no>/<dbname>
#db.url=jdbc:com.nuodb://localhost/database?schema=database
#db.url=jdbc:h2:corp;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000

I used <hostname>, <port no> and <dbname> as examples but im passing right details

I didnt change this group.id and external.id parts as im not fully sure what they are used for

# Do not change these for running the demo
group.id=corp
external.id=000

The error im getting while doing dbimport are:

C:\symmetric-server-3.9.14\bin>dbimport --engine corp-000 --format XML --alter-case create_sample1.xml
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/web/WEB-INF/lib/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Log output will be written to C:\symmetric-server-3.9.14/logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={corp-000}
[] - AbstractCommandLauncher - Option: name=format, value={XML}
[] - AbstractCommandLauncher - Option: name=alter-case, value={}
-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
java.lang.ClassNotFoundException: com.sybase.jdbc4.jdbc.SybDriver
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.jumpmind.db.util.BasicDataSourceFactory.prepareDriver(BasicDataSourceFactory.java:40)
        at org.jumpmind.db.util.BasicDataSourceFactory.create(BasicDataSourceFactory.java:71)
 [wrapped] java.lang.IllegalStateException: Had trouble registering the jdbc driver: com.sybase.jdbc4.jdbc.SybDriver
        at org.jumpmind.db.util.BasicDataSourceFactory.create(BasicDataSourceFactory.java:73)
        at org.jumpmind.symmetric.ClientSymmetricEngine.createBasicDataSource(ClientSymmetricEngine.java:295)
        at org.jumpmind.symmetric.AbstractCommandLauncher.testConnection(AbstractCommandLauncher.java:398)
 [wrapped] java.lang.RuntimeException: java.lang.IllegalStateException: Had trouble registering the jdbc driver: com.sybase.jdbc4.jdbc.SybDriver
        at org.jumpmind.symmetric.AbstractCommandLauncher.testConnection(AbstractCommandLauncher.java:403)
        at org.jumpmind.symmetric.AbstractCommandLauncher.getDatabasePlatform(AbstractCommandLauncher.java:410)
        at org.jumpmind.symmetric.DbImportCommand.executeWithOptions(DbImportCommand.java:113)
        at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:194)
        at org.jumpmind.symmetric.DbImportCommand.main(DbImportCommand.java:72)
-------------------------------------------------------------------------------
(0001314)
elong   
2018-11-02 13:02   
http://www.symmetricds.org/doc/3.9/html/user-guide.html#_sybase_ase

'Sybase Adaptive Server Enterprise (ASE) was tested using the jConnect 7 JDBC driver. The jConnect 7 JDBC driver should be placed in the "lib" folder.' It's probably named jconnect-7.7.jar or something similar, and you'll find it on the database server installation. Copy it to the "lib" folder of SymmetricDS.
(0001315)
achintya.de@uk.daiwacm.com   
2018-11-02 13:16   
thank you, thats a step forward but it is complaining about the create_sample1.xml

i've deliberately used sample1 rather than sample to make sure it creates a new file but it seems it is looking for the sample.xml file

do i need to copy that sample.xml file from the sample folder to bin folder to keep going ?

C:\symmetric-server-3.9.14\bin>dbimport --engine corp-000 --format XML --alter-case create_sample1.xml
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/symmetric-server-3.9.14/web/WEB-INF/lib/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Log output will be written to C:\symmetric-server-3.9.14/logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={corp-000}
[] - AbstractCommandLauncher - Option: name=format, value={XML}
[] - AbstractCommandLauncher - Option: name=alter-case, value={}
[] - AbstractSymmetricEngine - Initializing connection to database
[] - JdbcDatabasePlatformFactory - Detected database 'Adaptive Server Enterprise', version '15', protocol 'sybase'
[] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.ase.AseDatabasePlatform
-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
java.lang.RuntimeException: Cannot find file create_sample1.xml
        at org.jumpmind.symmetric.DbImportCommand.executeWithOptions(DbImportCommand.java:183)
        at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:194)
        at org.jumpmind.symmetric.DbImportCommand.main(DbImportCommand.java:72)
-------------------------------------------------------------------------------
(0001316)
elong   
2018-11-02 13:20   
Either specify where the file is or change directories. For example:

 C:\symmetric-server-3.9.14\bin>dbimport --engine corp-000 --format XML --alter-case ..\samples\create_sample.xml
(0001317)
achintya.de@uk.daiwacm.com   
2018-11-02 13:22   
thank you again for your prompt response, i did a good progress today with your help

do i assume that create_sample.xml is a kind of template file or is it the output file will be created by that command ?

not totally sure about the parameters eg --alter-case

pls comment

many thanks
(0001318)
achintya.de@uk.daiwacm.com   
2018-11-02 13:28   
i used the create_sample.xml as specified in the guide and i can see it has managed to create 3 empty tables in the database provided in the corp-000.xml
(0001319)
achintya.de@uk.daiwacm.com   
2018-11-02 13:30   
4 tables

item, item_selling_price, sale_return_line_item and sale_transaction

but now confused.com, do i need to run that sysadmin command as it seems it will try to create the tables but the tables are already there as a part of the dbimport command ?
(0001320)
elong   
2018-11-02 13:37   
Yes, you need to run the symadmin like the tutorial says. It creates runtime tables needed by SymmetricDS, which have names starting with SYM.
(0001321)
achintya.de@uk.daiwacm.com   
2018-11-02 13:41   
thanks again

i did and it has created 47 sym tables in the database as mentioned in corp-000 file , so now i got 4 user tables and 47 sym tables
(0001322)
achintya.de@uk.daiwacm.com   
2018-11-05 07:02   
hello again,

in the sample properties file (ie corp, store1, store2), i dont see any driver specified for Microsoft SQL Server, i would like to setup store2 as a SQL server node , i did setup Corp node as an ASE node and also store1 as an ASE node

my idea to replicate data from an ASE source to an ASE target and also to a MS-SQL server target

As soon as i setup the nodes properly, I'll start sym to test the data flow

I;ve completed the steps up until dbimport specified in the SymmetricDS 3.9 tutorial

please comment accordingly

Many thanks
(0001323)
elong   
2018-11-05 08:20   
We use the jTDS driver for SQL-Server. It is well tested and good performance. Uncomment these lines:

db.driver=net.sourceforge.jtds.jdbc.Driver
db.url=jdbc:jtds:sqlserver://localhost:1433;useCursors=true;bufferMaxMemory=10240;lobBuffer=5242880

It is possible to use Microsoft's driver also. It looks like this:

db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
db.url=jdbc:sqlserver://localhost;databasename=mydatabase
(0001324)
achintya.de@uk.daiwacm.com   
2018-11-05 08:22   
thank you for that but how abt the authentication to the sql server, i would like to use my Windows authentication as a start but please also specify how to provide a sql server auth mode also (ie login/password method)
(0001326)
achintya.de@uk.daiwacm.com   
2018-11-06 09:01   
im not sure whether i'll be setup this demo at all, my objective is to data replicate from source ie corp-000 node to store-001 and store-002 nodes

corp is an ASE node, store 1 is an ASE node and store 2 is a SQL Server node

please have a look into the attached properties file and let me know

I get this error while starting sym

[corp-000] - RegistrationService - Cannot register a client node unless a node group link exists so the registering node can receive configuration upd
ates. Please add a group link where the source group id is corp and the target group id is store
[corp-000] - RegistrationUriHandler - store:001:? was not allowed to register.
[store-001] - RegistrationService - Waiting for registration to be accepted by the server. Registration is not open.
[store-001] - RegistrationService - Could not register. Sleeping for 28000ms before attempting again.
[store-001] - RegistrationService - This node is unregistered. It will attempt to register using the registration.url
[store-001] - DataLoaderService - Using registration URL of http://localhost:31415/sync/corp-000/registration?nodeGroupId=store&externalId=001&syncURL
=http%3A%2F%2FGBWS1393%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=Adaptive+Server+Enterprise&databaseVersion=15.7&symmetricVersion=3.9.
14&deploymentType=server&hostName=GBWS1393&ipAddress=172.30.40.86
[corp-000] - RegistrationService - Cannot register a client node unless a node group link exists so the registering node can receive configuration updates. Please add a group link where the source group id is corp and the target group id is store
(0001328)
achintya.de@uk.daiwacm.com   
2018-11-07 08:21   
can anybody please let me know what kind of driver do i need to use for setting up a sql server node ?
(0001329)
achintya.de@uk.daiwacm.com   
2018-11-09 07:05   
ive now managed to get the SQL server node working but the trouble is im getting a FK constraint failure for channel id

in the corp / master node the sym_channel table has the following channel_id

config
reload
monitor
heartbeat
default
dynamic

but the insert statement is using the channel_id as 'item'

-- Trigger

INSERT
    INTO
        sym_trigger
        (
            trigger_id,
            source_table_name,
            channel_id,
            last_update_time,
            create_time
        )
    VALUES
        (
            'item',
            'item',
            'item',
            getdate(),
            getdate()
        )

and keep failing

please advise

thanks

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3762 [SymmetricDS] Bug minor have not tried 2018-10-18 09:03 2018-11-07 00:51
Reporter: woehrl01 Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.14  
Product Build: Resolution: reopened  
Projection: none      
ETA: none Fixed in Version: 3.9.15  
    Target Version:  
Summary: Bulk loader fallback to default loader and fails will mark batch ok on source when it did not load the batch.
Description: Since the introduction we experience missing rows on a fresh initial load (reproducable).

If we enable debug mode we see that it fails at DataLoaderService.java:1045

Solution is to revert the code in BulkdDataLoaderFactory to Fallback to the DefaultDataLoaderFactory
Steps To Reproduce: 1. Create a channel bulk channel
2. Start an initial_load
3. The entry in the sym_node_security doesn't get updated to initial_load_enabled = 0
Additional Information: Using MSSQL Server on the Corp

Using Sqlite as Store
Attached Files:
Notes
(0001294)
admin   
2018-10-24 13:48   
Sounds like Josh reproduced and fixed this one. You see incoming batches in error status while the outgoing status is okay. It's any bulk loader that falls back to the default loader and then still gets an error.
(0001298)
woehrl01   
2018-10-26 06:48   
After merging the latest changes, this still failes with the same error. Reverthing the BulkDataLoaderFactory to DefaultDataLoaderFactory is still required.

2018-10-26 10:24:33,930 INFO [mobil-SYMCLIENT] [ManageIncomingBatchListener] [mobil-symclient-dataloader-4] Bulk loading failed for this batch 4, falling back to default loading. (org.jumpmind.db.sql.UniqueKeyException: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_PRIMARYKEY] A PRIMARY KEY constraint failed (UNIQUE constraint failed: sym_node_security.node_id))
2018-10-26 10:24:33,931 INFO [mobil-SYMCLIENT] [DataLoaderService] [mobil-symclient-dataloader-4] Bulk loader failed : StackTraceKey.init [UniqueKeyException:3600483701]
org.jumpmind.db.sql.UniqueKeyException: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_PRIMARYKEY] A PRIMARY KEY constraint failed (UNIQUE constraint failed: sym_node_security.node_id)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:296)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:184)
    at org.jumpmind.db.sql.JdbcSqlTransaction.commit(JdbcSqlTransaction.java:117)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.commit(DefaultDatabaseWriter.java:159)
    at org.jumpmind.symmetric.io.data.writer.DynamicDefaultDatabaseWriter.commit(DynamicDefaultDatabaseWriter.java:128)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.end(AbstractDatabaseWriter.java:514)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.end(DefaultDatabaseWriter.java:143)
    at org.jumpmind.symmetric.io.AbstractBulkDatabaseWriter.end(AbstractBulkDatabaseWriter.java:42)
    at org.jumpmind.symmetric.io.JdbcBatchBulkDatabaseWriter.end(JdbcBatchBulkDatabaseWriter.java:51)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.end(ProcessInfoDataWriter.java:77)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:137)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_PRIMARYKEY] A PRIMARY KEY constraint failed (UNIQUE constraint failed: sym_node_security.node_id)
    at org.sqlite.core.DB.newSQLException(DB.java:908)
    at org.sqlite.core.DB.newSQLException(DB.java:921)
    at org.sqlite.core.DB.throwex(DB.java:886)
    at org.sqlite.core.DB.executeBatch(DB.java:774)
    at org.sqlite.core.CorePreparedStatement.executeBatch(CorePreparedStatement.java:79)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
    at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:175)
    ... 17 more
2018-10-26 10:24:33,937 INFO [mobil-SYMCLIENT] [IncomingBatchService] [mobil-symclient-dataloader-4] Retrying batch 0-4
(0001300)
josh-a-hicks   
2018-10-26 12:50   
I put in a fix for this issue if you want to retry.
(0001301)
woehrl01   
2018-10-26 12:54   
Awesome! Will give you a feedback on Monday!
(0001302)
woehrl01   
2018-10-29 03:41   
Thanks Josh! With your fix, this is working flawless now. Thank your for the quick revision and great work!
(0001325)
woehrl01   
2018-11-06 08:27   
sorry, but I think I found another issue regarding the bulkloader:


2018-11-06 08:56:50,989 INFO [mobil-SYMCLIENT] [ManageIncomingBatchListener] [mobil-symclient-dataloader-32] Bulk loading failed for this batch 5641, falling back to default loading. (org.jumpmind.db.sql.UniqueKeyException: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_UNIQUE] A UNIQUE constraint failed (UNIQUE constraint failed: TABLE.COLUMN))
2018-11-06 08:56:50,989 INFO [mobil-SYMCLIENT] [DataLoaderService] [mobil-symclient-dataloader-32] Bulk loader failed : StackTraceKey.init [UniqueKeyException:2890802646]
org.jumpmind.db.sql.UniqueKeyException: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_UNIQUE] A UNIQUE constraint failed (UNIQUE constraint failed: TABLE.COLUMN)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:296)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:184)
    at org.jumpmind.db.sql.JdbcSqlTransaction.commit(JdbcSqlTransaction.java:117)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.commit(DefaultDatabaseWriter.java:159)
    at org.jumpmind.symmetric.io.data.writer.DynamicDefaultDatabaseWriter.commit(DynamicDefaultDatabaseWriter.java:128)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.end(AbstractDatabaseWriter.java:514)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.end(DefaultDatabaseWriter.java:143)
    at org.jumpmind.symmetric.io.AbstractBulkDatabaseWriter.end(AbstractBulkDatabaseWriter.java:45)
    at org.jumpmind.symmetric.io.JdbcBatchBulkDatabaseWriter.end(JdbcBatchBulkDatabaseWriter.java:51)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.end(ProcessInfoDataWriter.java:77)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:137)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_UNIQUE] A UNIQUE constraint failed (UNIQUE constraint failed: TABLE.COLUMN)
    at org.sqlite.core.DB.newSQLException(DB.java:908)
    at org.sqlite.core.DB.newSQLException(DB.java:921)
    at org.sqlite.core.DB.throwex(DB.java:886)
    at org.sqlite.core.DB.executeBatch(DB.java:774)
    at org.sqlite.core.CorePreparedStatement.executeBatch(CorePreparedStatement.java:79)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
    at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:175)
    ... 17 more
2018-11-06 08:56:50,991 INFO [mobil-SYMCLIENT] [IncomingBatchService] [mobil-symclient-dataloader-32] Retrying batch 0-5641
2018-11-06 08:56:50,999 INFO [mobil-SYMCLIENT] [DefaultDatabaseWriter] [mobil-symclient-dataloader-32] Failed to process insert event in batch 0-5641 on channel 'reload'.
Failed sql was: insert into [....]
Failed sql parameters: [....]
Failed sql parameters types: [....]
Failed sql state and code: null (0)
Failed row data was: [....]
 StackTraceKey.init [SqlException:5149692]
org.jumpmind.db.sql.SqlException: statement is not executing
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:466)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:922)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:205)
    at org.jumpmind.symmetric.io.JdbcBatchBulkDatabaseWriter.insert(JdbcBatchBulkDatabaseWriter.java:28)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191)
    at org.jumpmind.symmetric.io.AbstractBulkDatabaseWriter.writeDefault(AbstractBulkDatabaseWriter.java:56)
    at org.jumpmind.symmetric.io.AbstractBulkDatabaseWriter.write(AbstractBulkDatabaseWriter.java:36)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:213)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1052)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: statement is not executing
    at org.sqlite.core.CoreStatement.checkOpen(CoreStatement.java:50)
    at org.sqlite.core.CorePreparedStatement.batch(CorePreparedStatement.java:117)
    at org.sqlite.jdbc3.JDBC3PreparedStatement.setString(JDBC3PreparedStatement.java:421)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:135)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:135)
    at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:346)
    at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:241)
    at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:172)
    at org.jumpmind.db.platform.sqlite.SqliteJdbcSqlTemplate.setValues(SqliteJdbcSqlTemplate.java:119)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:447)
    ... 19 more

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3788 [SymmetricDS] Bug minor have not tried 2018-11-06 13:17 2018-11-06 14:00
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.15  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.16  
    Target Version: 3.9.16  
Summary: When a database is offline, some symmetricds jobs can stop processing if the parameter cache times out and a job runs.
Description: When a database is offline, some symmetricds jobs can stop processing if the parameter cache times out and a job runs when the database is still offline.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3787 [SymmetricDS] Bug minor have not tried 2018-11-05 19:14 2018-11-05 19:14
Reporter: amoskvin Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: C library doesn't work with 3.9 backend
Description: 3.9.x has introduced a set of changes in tables, i.e. sym_node that were not reflected in clib (https://github.com/JumpMind/symmetric-ds/tree/3.9/symmetric-client-clib).
In case server is 3.9 client with clib simply doesn't work and fail.

Eventually it will fail with message like:
2018-08-22 16:47:57 [INFO] [SymPullService_execute] There was a failure while pulling data from abc-def:001:001. 0 rows and 0 batches were processed (/Volumes/data/gcc/symds/src/service/PullService.c:42)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3786 [SymmetricDS] Bug minor have not tried 2018-11-05 16:40 2018-11-05 17:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.16  
    Target Version: 3.9.16  
Summary: NullPointerException when batch in error trying to log SQL details
Description: NullPointerException when batch in error trying to log SQL details.

2018-11-01 22:41:51,181 ERROR [client-001] [ManageIncomingBatchListener] [client-001-dataloader-41316] Failed to load batch server-63186 StackTraceKey.init [NullPointerException:3673890921]
java.lang.NullPointerException
at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.logFailureDetails(DefaultDatabaseWriter.java:697)
at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.update(DefaultDatabaseWriter.java:514)
at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:188)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1036)
at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1013)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3785 [SymmetricDS] Improvement minor have not tried 2018-11-05 11:01 2018-11-05 11:01
Reporter: elong Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.10.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Improve visibility of full and partial loads
Description: Enhance the full/partial loads feature with statistics and feedback for user.

- Add load_id to sym_extract request so it can be joined to sym_table_reload_request
- Add table_name to sym_table_reload_request so it works with wildcarded triggers
- Add statistics to both sym_table_reload_request and sym_extract request
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3784 [SymmetricDS] Improvement minor have not tried 2018-11-02 14:05 2018-11-02 16:03
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: More aggressive purge settings
Description: To keep databases smaller and running faster, adjust purge default settings to run more often (every 4 hours), use a faster first pass purge (deletes without joins), and retain less data (2 hours of data that was successfully synced).

job.purge.incoming.cron=0 0 */4 * * *
job.purge.outgoing.cron=0 0 */4 * * *
job.purge.first.pass=true
job.purge.first.pass.outstanding.batches.threshold=100000
purge.retention.minutes=120
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3783 [SymmetricDS Pro] Improvement minor have not tried 2018-11-02 10:15 2018-11-02 10:26
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Add logging option for DataExtractor and initial load SQL
Description: On the Manage -> Logging panel, add an option to enable debug logging for DataExtractorService. Log the SQL being used for the initial load.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3781 [SymmetricDS] Bug minor have not tried 2018-11-01 22:51 2018-11-01 22:58
Reporter: saga1015 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: meet error "ERRORDATA_STACK_SIZE exceeded" when start central node instance (database is greenplum 5.11.0)
Description: hi ,first of all ,forgive my poor English.
I downloaded the symmetricDS package from your website ,and started to install symmetricDS follow Tutorials Guide, I Created the sample tables for items, prices, and sales, in the root database, then I created the SymmetricDS tables and inserted sample item and transaction data into the root node database(my database is greenplum 5.11.0 ,core postgreSQL 8.3.23), everything works fine till now ,and then I started to start SymmetricDS instance use the following code "../bin/sym --engine corp-000 --port 8888" , I met the ERROR " GreenplumDdlReader - Failed to read table: sym_context. Error: PANIC: ERRORDATA_STACK_SIZE exceeded (elog.c:1416)", I just got stuck and don't know how to figure this problem. I have googled and it seems no one met this problem before . Please help me ,thank you .

P.S. my operation system is Red Hat 4.8.5-28 and my database is greenplum 5.11.0 ,core postgreSQL 8.3.23
Steps To Reproduce:
Additional Information:
Attached Files: symmetric.log (286,294 bytes) 2018-11-01 22:58
http://www.symmetricds.org/issues/file_download.php?file_id=169&type=bug
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3780 [SymmetricDS Pro] Bug minor have not tried 2018-11-01 14:23 2018-11-01 14:24
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.16  
    Target Version: 3.9.16  
Summary: Install wizard doesn't detect existing node in database
Description: When the SymmetricDS software has a schema different for sym_node than the database, the install wizard can't detect an existing installation in the database to replace or reconnect it. The NodeService tries to query columns that don't exist and returns null, making the wizard think it's an empty database. Add a query for the wizard that is version-agnostic, looking for only the essential columns needed to replace or reconnect.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3779 [SymmetricDS Pro] Bug minor have not tried 2018-10-31 14:53 2018-11-01 13:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.16  
    Target Version: 3.9.16  
Summary: Load wizard cannot send specific tables for wildcarded tables
Description: If wildcards are used to match table names when configuring table triggers, then the load wizard will not list individual tables for sending loads. Wildcards are often used when there are too many tables to easily select. The load wizard is often used to resend data for a specific table that had issues. This change will detect a wildcarded table trigger and list the table names based on trigger history. The load will use older method of reload events instead of the newer method of sym_table_reload_request (which does not support specific tables inside wildcards).
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3729 [SymmetricDS Pro] Bug minor have not tried 2018-09-19 15:41 2018-11-01 10:43
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.41  
    Target Version: 3.8.41  
Summary: Manage > Nodes screen slow to load with 1000's of nodes (3.8)
Description: Testing with 15k and 50k nodes and found load times of Manage > Nodes screen approaching 1 minute or more.

Modified use of Vaadin to preload a container instead of modifying the treeList over and over. Testing shows constant loading time of that screen in 1-2 seconds, no matter how many nodes. This change was based on recommendations from the Vaadin team:
https://github.com/vaadin/framework/issues/9662
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3725 [SymmetricDS Pro] Bug minor have not tried 2018-09-14 12:34 2018-10-31 16:25
Reporter: josh-a-hicks Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Tomcat deployments will not register due to remote status
Description: Tomcat deployments throw a java.lang.ClassNotFoundException: javax.websocket.Endpoint with the new 3.9 web socket (remote status). To work around set the following parameters.

http.transport.manager.class=http.transport.manager.class.HttpTransportManager
remote.status.enabled=false

Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3699 [SymmetricDS Pro] Bug trivial always 2018-09-05 12:49 2018-10-31 16:25
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Clear Staging dialog box text cut off
Description: When you clear staging, the dialog box that pops up to confirm has text that is cut off (The "Are you sure?" part is cut off)
Steps To Reproduce: Manage / Staging Area, Clear Staging button
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3700 [SymmetricDS Pro] Bug trivial always 2018-09-05 12:50 2018-10-31 16:24
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Manage / Console Events screen has incorrect explanation text at top
Description: The Console Events screen has text that was copied from the Installed Triggers screen. It instead needs new text explaining what the Console Events screen is for.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3721 [SymmetricDS Pro] Bug minor have not tried 2018-09-13 09:15 2018-10-31 16:24
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: SQL Explorer throws exception when using table name aliases in SQL Server
Description: When constructing an inner join and using table name aliases in SQL explorer, exception is thrown. I think what's happening is when you type the . following the alias the software assumes you are referencing a database name and not the alias you've set up.

2018-09-13 09:07:17,660 ERROR [gui] [AppUI] [qtp266272063-14] Unable to invoke method suggest in org.vaadin.aceeditor.client.SuggesterServerRpc StackTraceKey.init [RpcInvocationException:352176673]

com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method suggest in org.vaadin.aceeditor.client.SuggesterServerRpc
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:159)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116)
     at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445)
     at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410)
     at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
     at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:145)
     at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:235)
     at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:520)
     at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
     at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
     at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:223)
     at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:115)
     at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
     at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:593)
     at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345)
     at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:447)
     at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272)
     at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269)
     at org.eclipse.jetty.websocket.jsr356.messages.TextWholeMessage.messageComplete(TextWholeMessage.java:56)
     at org.eclipse.jetty.websocket.jsr356.endpoints.JsrEndpointEventDriver.onTextFrame(JsrEndpointEventDriver.java:218)
     at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
     at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:375)
     at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:182)
     at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:105)
     at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:142)
     at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:85)
     at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
     at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
     at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
     at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
     at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
     at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
     at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:498)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155)
     ... 43 more
Caused by: org.jumpmind.db.sql.SqlException: java.sql.SQLException: Database 'sn' does not exist. Make sure that the name is entered correctly.
     at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:29)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1412)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1407)
     at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:501)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader.getSchemaNames(AbstractJdbcDdlReader.java:1407)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSchemaNamesFromCache(SqlSuggester.java:362)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSchemaNameSuggestions(SqlSuggester.java:348)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getHierarchySuggestions(SqlSuggester.java:311)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSuggestions(SqlSuggester.java:61)
     at org.vaadin.aceeditor.SuggestionExtension$1.suggest(SuggestionExtension.java:47)
     ... 48 more
Caused by: java.sql.SQLException: Database 'sn' does not exist. Make sure that the name is entered correctly.
     at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
     at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2894)
     at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2334)
     at net.sourceforge.jtds.jdbc.TdsCore.clearResponseQueue(TdsCore.java:741)
     at net.sourceforge.jtds.jdbc.TdsCore.submitSQL(TdsCore.java:911)
     at net.sourceforge.jtds.jdbc.ConnectionJDBC2.setCatalog(ConnectionJDBC2.java:2316)
     at org.apache.commons.dbcp.DelegatingConnection.setCatalog(DelegatingConnection.java:374)
     at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setCatalog(PoolingDataSource.java:333)
     at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:21)
     ... 57 more


 
Steps To Reproduce: Start up a SymmetricDS Pro instance, go to SQL Explorer, and start typing the following:

select * from sym_node sn
  inner join sym_node_security sns
  on sn.node_

when you go to type the period in the last line (i.e., on sn.) an exception is raised.
Additional Information: This is not an issue with the H2 dialect. I haven't checked any others.
Attached Files: Screen Shot 2018-09-13 at 9.07.22 AM.png (67,914 bytes) 2018-09-13 09:15
http://www.symmetricds.org/issues/file_download.php?file_id=165&type=bug
png
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3701 [SymmetricDS Pro] Bug trivial always 2018-09-05 12:52 2018-10-31 16:21
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: NumberFormatException on Logging screen when field to right of refresh button is cleared.
Description: Similar to bug 3686, the Manage / Logging screen errors out with a Number Format Exception if you clear out the "number of rows" entry (which defaults to 1000).
Steps To Reproduce: Go to Manage / Logging, clear out the number "1000" near the refresh button.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3739 [SymmetricDS Pro] Bug minor have not tried 2018-10-03 07:34 2018-10-31 16:21
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Dashboard error summary screen takes you to the outgoing batch screen even if error is on an incoming batch
Description: If you cause a batch to go into error, then go to the incoming node, there will be an error bubble in the top right corner. If you click on that bubble, a summary screen appears. This screen shows the batch in error, and you can click on the batch number to take you to the batches screen. However, it takes you to the outgoing batch screen, not the incoming batch screen.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3743 [SymmetricDS Pro] Bug minor have not tried 2018-10-03 14:29 2018-10-31 16:21
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Unable to deploy SymmetricDS Pro as a war file in Tomcat
Description: Issues with missing logging-related jar files, etc.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3777 [SymmetricDS] Bug minor have not tried 2018-10-31 14:28 2018-10-31 16:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.16  
    Target Version: 3.9.16  
Summary: Multiple table reloads are put into single batch
Description: When requesting table reloads with "symadmin reload-table table1 table2", multiple tables are put into a single batch. During development of 3.8, the sym_table_reload_request was expanded to handle initial loads, and the reload channel was modified to have a larger max_batch_size, so multiple reload events now go in a single batch. Change the routing to put a single reload event per batch.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3664 [SymmetricDS] Bug minor always 2018-08-05 23:21 2018-10-31 14:59
Reporter: rabolf Platform:  
Assigned To: mmichalek OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: file trigger delete_after_sync deletes the file after replicating to first client
Description: I have some clients and one central server for file replication. The server only acts as a router and we don't need files on the server so for performance improvement I set delete_after_sync to 1 on server side file trigger but I noticied files will get deleted after replicating to first client and for next clients SYM can't find the file.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001232)
hanes   
2018-09-05 14:49   
(Last edited: 2018-09-05 14:49)
Was able to recreate issue in 3.9.12 with very simple sync of a file to two target nodes (be sure to NOT set sync on delete on the trigger when configuring). First node that syncs gets the file. Additional nodes get a Skipped file message and batch is still okayed.

[corp-000] - FileSyncZipDataWriter - Could not find the ....3.9/pro-corp-000/sale_flyers/testfile3.txt file to package for synchronization. Skipping it.


View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3742 [SymmetricDS] Improvement minor have not tried 2018-10-03 10:39 2018-10-31 14:58
Reporter: hanes Platform:  
Assigned To: mmichalek OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Update SDS to work with Java 11 (and update website if need be)
Description: SDS most likely is incompatible with Java 10 at least based on testing about a month ago.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001304)
mmichalek   
2018-10-29 16:12   
Able to run Symmetric on Mac / Java 11. Had to remove Oracle driver to run successfully. -- rm <symds>/lib/ojdbc-11.2.0.3.jar

Interested to know if it runs on Windows/Linux as well after removing that jar.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3778 [SymmetricDS] Bug minor have not tried 2018-10-31 14:43 2018-10-31 14:43
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Send table fails when sending H2 Timestamp to MySQL
Description: [store-003] - MySqlDatabasePlatform - Running alter sql:
ALTER TABLE `sym`.`item` ADD COLUMN `create_date` DATETIME(10);

[store-003] - JdbcSqlTemplate - Too-big precision 10 specified for 'create_date'. Maximum is 6.. Failed to execute: ALTER TABLE `sym`.`item` ADD COLUMN `create_date` DATETIME(10)
[store-003] - DefaultDatabaseWriter - Failed to alter table using the following xml: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="ITEM">
        <column name="ITEM_ID" primaryKey="true" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="NAME" type="VARCHAR" size="100">
            <platform-column name="h2" type="VARCHAR" size="100"/>
        </column>
        <column name="CREATE_DATE" type="TIMESTAMP" size="23,10">
            <platform-column name="h2" type="TIMESTAMP" size="23" decimalDigits="10"/>
        </column>
    </table>
</database>
org.jumpmind.db.sql.SqlException: Too-big precision 10 specified for 'create_date'. Maximum is 6.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:503)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:411)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:115)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.alterTables(AbstractDatabasePlatform.java:227)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.alterDatabase(AbstractDatabasePlatform.java:200)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.create(DefaultDatabaseWriter.java:544)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:203)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Too-big precision 10 specified for 'create_date'. Maximum is 6.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.Util.getInstance(Util.java:408)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2480)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2438)
    at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:426)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:411)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:501)
    ... 19 more
[store-003] - ManageIncomingBatchListener - Failed to load batch 000-156
org.jumpmind.db.sql.SqlException: Too-big precision 10 specified for 'create_date'. Maximum is 6.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:503)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:411)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:115)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.alterTables(AbstractDatabasePlatform.java:227)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.alterDatabase(AbstractDatabasePlatform.java:200)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.create(DefaultDatabaseWriter.java:544)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:203)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Too-big precision 10 specified for 'create_date'. Maximum is 6.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.Util.getInstance(Util.java:408)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2480)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2438)
    at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:426)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:411)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:501)
    ... 19 more
Steps To Reproduce: 1) Create demo setup
2) Add MySQL node
3) Send item & item_selling_price tables to client
4) add create_date column to corp H2 like :
alter table item add create_date timestamp;
5) Restart Symmetric to clear caches
6) Send item & item_selling_prices tables again to the client (then should observe the error above)
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3537 [SymmetricDS] Improvement major always 2018-05-01 22:01 2018-10-31 14:20
Reporter: vibhorejairath Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: acknowledged Product Version: 3.8.34  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Delete rule are not syncing from central node to store node
Description: Symmetric is not syncing the Cascade delete rule from Central node to Store node level and hence cascade delete is not working at the store level.
Steps To Reproduce: Register the store node to central node and allow schema and data to sync with store node. Open the table that has cascade rule set in Explore mode in Central and Store node and compare the delete rule for the same table.

See the attached files for the screen shots taken for the same table in Central and Store nodes
Additional Information:
Attached Files: Screen Shot Central Node.png (731,760 bytes) 2018-05-01 22:01
http://www.symmetricds.org/issues/file_download.php?file_id=154&type=bug
Screen Shot Store Node.png (398,900 bytes) 2018-05-01 22:01
http://www.symmetricds.org/issues/file_download.php?file_id=155&type=bug
Notes
(0001177)
vibhorejairath   
2018-05-04 09:19   
Any updates on the ticket.
(0001184)
vibhorejairath   
2018-05-15 21:02   
Kindly provide guidance as this is causing issue in production now
(0001185)
elong   
2018-05-16 12:49   
The issue is that it is missing the "on delete cascade" clause when creating application tables during the initial load on a PostgreSQL database. Did I understand correctly?
(0001186)
vibhorejairath   
2018-05-16 13:59   
That is correct, It is happening during initial load

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3706 [SymmetricDS] Bug minor sometimes 2018-09-05 13:12 2018-10-31 14:19
Reporter: hanes Platform:  
Assigned To: josh-a-hicks OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.16  
Summary: Marking Log file type monitor events as resolved causes a new log file event to appear
Description: If you create a situation where a stack trace appears in the log, a monitor event is recorded. SymmetricDS is smart enough not to create multiple copies of that monitor event. BUT, if you mark that event as "resolved", it turns around and creates another copy of that event. Perhaps whatever it's using to determine if there's already an event representing the monitor that fires is (incorrectly) filtering out already-resolved events? Also, I'm not sure, but I think restarting the node fixes the issue, as does clearing the log.

More generally speaking, I've also had trouble consistently causing the monitor event to fire. I've had times where I've cause a stack trace to appear in the log yet the monitor doesn't fire, despite waiting more than enough time.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3389 [SymmetricDS] Improvement minor always 2018-01-21 16:27 2018-10-29 13:00
Reporter: snpe Platform:  
Assigned To: kstojanovska OS:  
Priority: low OS Version:  
Status: assigned Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: dbcompare, timestamp and utf8
Description: We use symmetricds to replicate between MySQL and SQL Anywhere.

dbcompare returns a lot different rows.
I have noticed two issues:

1) when create comparison sql, symmetricds uses the order by as
ORDER BY <pk_column>
if PK column is text (varchar) that contains utf-8 characters, MySQL and SQL Anywhere will return different ordering
Solution: use the CONVERT function on MySQL and the CSCONVERT function on SQL Anywhere

2) SQL Anywhere saves timestamp values with milliseconds and MySQL (by default) without milliseconds
Solution: add options to round timestamp values similar as numbers
Steps To Reproduce: We use commercial databases and not sure that can provide reproducible case.
Additional Information: I have fixed both issue with patched symmetricds 3.9.x and I'm willing to create a patch.
Attached Files:
Notes
(0001108)
kstojanovska   
2018-01-30 13:35   
Hi,

Could you provide the patch you used or do a pull request so we can review your approach in the code?
(0001109)
kstojanovska   
2018-01-30 13:46   
Which version of Sybase are you running? Could you provide us with sample create table statements and some sample data for both MySql and SqlAnywhere so that we can try to reproduce?
(0001110)
snpe   
2018-01-30 14:54   
I'm using SQL Anywhere 11 and MySQL 5.7.21. I will provide a pull request and test case soon.
(0001121)
kstojanovska   
2018-02-06 16:32   
(Last edited: 2018-02-06 16:32)
We have added an option to specify a date-time format which should fix problem 2 here.

Here is a link to the issue: https://www.symmetricds.org/issues/view.php?id=3407


View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2997 [SymmetricDS] Bug minor have not tried 2017-02-22 12:36 2018-10-29 12:59
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: It's not possible to send a reload of just the files right now.
Description: It's not possible to send a reload of just the files right now.

Also, there's a secondary bug where all file file triggers are reloaded whenever a table reload request is processed.

Possibly there needs to be 2 new columns on sym_table_reload_request, file_trigger_id, file_router_id. These fields should also support ALL values, like the trigger_id, router_id do.

There are 2 workarounds to send the files now:
1) Insert a row in table_reload_request with trigger_id=ALL (or anything valid), router_id=ALL. The downside of this is that all data is also reloaded for the node along with the files.
2) Use sym_node_channel_ctl to disable routing to all nodes except the one you want to target, and touch the rows in sym_file_snapshot.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001053)
chenson   
2017-06-06 09:38   
The initial load works with file.sync.fast.scan=true. Lets validate that and set that as the default if it works.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3708 [SymmetricDS] Bug minor always 2018-09-05 15:56 2018-10-29 12:58
Reporter: FutureChalk Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Wildcard does not work when there is no wildcard at the beginning or the end of the text
Description: When you setup a wildcard selection in sym_trigger under the source_table_name column in the following format bu*_roadways,bu*_railways,bu*_waterways,bu*_boundaries,bu*_cities

This will not pull the tables with that name format.

If the format is
*bu*_roadways,*bu*_railways,*bu*_waterways,*bu*_boundaries,*bu*_cities

The pull will work.
Steps To Reproduce: Ran sync with the trigger setup as the first example and the tables represented by the wildcards did not work.

Changed the format to the second format and re-run the sync and the tables were populated.

In both cases I started with and empty destination database
Additional Information:
Attached Files:
Notes
(0001235)
hanes   
2018-09-13 09:48   
Confirmed. Tested on SQL Server and H2. Patterns with only a star in the middle don't match correctly. It appears that the algorithm requires a star at the beginning or a star at the end, never just a star in the middle. Seems like a bug to me.

For example, these match to the tables bu1_railways, bu2_railways, etc.
bu*rail*
*bu*railways
*bu*rail*

but

bu*railways does not.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3520 [SymmetricDS] Improvement minor always 2018-04-18 04:17 2018-10-29 12:57
Reporter: cborivant Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: confirmed Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Symadmin should have an option to unregister a node
Description: Writing some documentations for my coworkers, I just realize symadmin does not have this option.
the syntaxe could be for exemple "symadmin unregister -n node" and why not "symadmin unregister -g group"
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3705 [SymmetricDS] Improvement trivial always 2018-09-05 13:06 2018-10-29 12:57
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Documentation for monitor.events.capture.enabled parameter is vague
Description: The documentation for the monitor.events.capture.enabled parameter makes it sound like it turns on/off firing of events as well as the syncing of the events. In reality, I believe the functionality that is controlled by this parameter is actually ONLY the syncing of the events (whether on or off, events are still logged).
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3610 [SymmetricDS] Bug major have not tried 2018-06-22 03:28 2018-10-29 12:56
Reporter: Newerth Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: acknowledged Product Version: 3.9.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: HSQLDB type OTHER support
Description: SymmetricDS appears not to support type OTHER in the HSQLDB database, even for HSQLDB -> HSQLDB synchronization:

2018-06-22 08:38:29,033 ERROR [impl.TriggerRouterService] [as2-test-source-sync-triggers-1] Failed to create triggers for partner
org.apache.commons.lang.NotImplementedException: PARTNERCOMMENT is of type OTHER with JDBC type of OTHER
        at org.jumpmind.symmetric.db.AbstractTriggerTemplate.fillOutColumnTemplate(AbstractTriggerTemplate.java:904)
        at org.jumpmind.symmetric.db.AbstractTriggerTemplate.buildColumnsString(AbstractTriggerTemplate.java:760)
        at org.jumpmind.symmetric.db.AbstractTriggerTemplate.replaceTemplateVariables(AbstractTriggerTemplate.java:501)
        at org.jumpmind.symmetric.db.AbstractTriggerTemplate.createTriggerDDL(AbstractTriggerTemplate.java:395)
        at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createTrigger(AbstractSymmetricDialect.java:384)
        at org.jumpmind.symmetric.service.impl.TriggerRouterService.rebuildTriggerIfNecessary(TriggerRouterService.java:1802)
        at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTriggers(TriggerRouterService.java:1673)
        at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTrigger(TriggerRouterService.java:1552)
        at org.jumpmind.symmetric.service.impl.TriggerRouterService$2.run(TriggerRouterService.java:1538)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Steps To Reproduce:
Additional Information: See http://www.h2database.com/html/datatypes.html#other_type
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3703 [SymmetricDS] Improvement minor always 2018-09-05 12:56 2018-10-29 12:56
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Modify UI to make the monitor settings more intuitive (current defaults appear like they run once per second)
Description: Modify UI to make the monitor settings more intuitive (current defaults appear like they run once per second)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3522 [SymmetricDS] Bug major always 2018-04-19 11:25 2018-10-29 12:55
Reporter: jubi74 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.8.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Table creation Error while initial Load into oracle DB (initial.load.create.first=true) when using Default value SYS_GUID()
Description: When creating table through SymmetricDS with column
ID RAW(20) Default SYS_GUID() NOT NULL
the Default value is quoted 'SYS_GUID()'.
Need to remove the quotes for valid table creation with oracle database 11g.

Sample Log:
2018-04-18 15:19:00,043 INFO [mpos] [DefaultDatabaseWriter] [mpos-dataloader-2] About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor" schema="DB">
    <table name="CASHMANVOUCHER">
        <column name="ID" primaryKey="true" required="true" type="VARBINARY" size="20" default="SYS_GUID()">
            <platform-column name="oracle" type="RAW" size="20" default="SYS_GUID()"/>
        </column>
        <column name="CSHORTTEXT" type="VARCHAR" size="42">
            <platform-column name="oracle" type="VARCHAR2" size="42"/>
        </column>
        <column name="LVOUCHER" type="DECIMAL" size="11">
            <platform-column name="oracle" type="NUMBER" size="11"/>
        </column>
    </table>
</database>
2018-04-18 15:19:00,043 INFO [mpos] [OracleDatabasePlatform] [mpos-dataloader-2] Running alter sql:
CREATE TABLE "DB"."CASHMANVOUCHER"(
    "ID" RAW(20) DEFAULT 'SYS_GUID()' NOT NULL,
    "CSHORTTEXT" VARCHAR2(42),
    "LVOUCHER" NUMBER(11)
);
ALTER TABLE "DB"."CASHMANVOUCHER"
    ADD CONSTRAINT "CASHMANVOUCHER_PK" PRIMARY KEY ("ID");

2018-04-18 15:19:00,058 WARN [mpos] [JdbcSqlTemplate] [mpos-dataloader-2] ORA-01465: invalid hex number
. Failed to execute: CREATE TABLE "DB"."CASHMANVOUCHER"(
    "ID" RAW(20) DEFAULT 'SYS_GUID()' NOT NULL,
    "CSHORTTEXT" VARCHAR2(42),
    "LVOUCHER" NUMBER(11)
)
2018-04-18 15:19:00,058 ERROR [mpos] [DefaultDatabaseWriter] [mpos-dataloader-2] Failed to alter table using the following xml: <?xml version="1.0"?>

Steps To Reproduce: initial load with create first
using any table including column with Default value SYS_GUID()
Additional Information: works with change in
org.jumpmind.db.platform.AbstractDdlBuilder.java

...
boolean shouldUseQuotes = !isNull && !TypeMap.isNumericType(typeCode) &&
                !(TypeMap.isDateTimeType(typeCode)
                        && (defaultValueStr.toUpperCase().startsWith("TO_DATE(")
                                || defaultValueStr.toUpperCase().startsWith("SYSDATE")
                                || defaultValueStr.toUpperCase().startsWith("SYSTIMESTAMP")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT_TIMESTAMP")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT_TIME")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT_DATE")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT TIMESTAMP")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT TIME")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT DATE")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT_USER")
                                || defaultValueStr.toUpperCase().startsWith("CURRENT USER")
                                || defaultValueStr.toUpperCase().startsWith("USER")
                                || defaultValueStr.toUpperCase().startsWith("SYSTEM_USER")
                                || defaultValueStr.toUpperCase().startsWith("SESSION_USER")
                                || defaultValueStr.toUpperCase().startsWith("DATE '")
                                || defaultValueStr.toUpperCase().startsWith("TIME '")
                                || defaultValueStr.toUpperCase().startsWith("TIMESTAMP '")
                                || defaultValueStr.toUpperCase().startsWith("INTERVAL '")
                                )) &&
                !(defaultValueStr.toUpperCase().startsWith("N'") && defaultValueStr.endsWith("'")) &&
                !(defaultValueStr.toUpperCase().startsWith("SYS_GUID()"));
Attached Files:
Notes
(0001275)
hanes   
2018-10-17 09:46   
Issue still exists in 3.9.14. The issue seems to be that SymmetricDS assumes the default value is a constant. In the case of functions, that's not the case.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3295 [SymmetricDS] Bug trivial always 2017-10-29 19:21 2018-10-29 12:55
Reporter: rlanewala Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.8.30  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Sync from MySql to MSSql initial load - table create fails on Decimal Precision when MySQL precision is more than 38
Description: When trying to setup and initial load data from MySql to SQL SERVER 2012. The initial load fails on creating table with error "Column or parameter 0000007: Specified column precision 40 is greater than the maximum precision of 38."

MySql Table:
Running alter sql:
SET quoted_identifier on;
SET quoted_identifier on;
CREATE TABLE "calcbillmonthtotal_savings"(
    "school" INT NOT NULL,
    "resource" VARCHAR(11) NOT NULL,
    "unit_of_measure" VARCHAR(5) NOT NULL,
    "month" DATETIME NOT NULL,
    "students" INT NOT NULL,
    "actual_cost" DECIMAL(34,4),
    "actual_usage" DECIMAL(40,4),
    "actual_peak_usage" DECIMAL(40,4),
    "actual_offpeak_usage" DECIMAL(40,4),
    "actual_usage_per_student" DECIMAL(42,12),
    "baseline_start" DATETIME NOT NULL,
    "baseline_end" DATETIME NOT NULL,
    "baseline_months" INT NOT NULL,
    "historic_cost_per_unit" DECIMAL(20,12) DEFAULT 0.000000000000 NOT NULL,
    "baseline_usage_per_student" DECIMAL(20,12),
    "historic_cost" DECIMAL(60,16) DEFAULT 0.0000000000000000 NOT NULL,
    "usage_saving" DECIMAL(53,12),
    "usage_saving_per_student" DECIMAL(43,12),
    "cost_saving" DECIMAL(65,24) DEFAULT 0.000000000000000000000000 NOT NULL,
    "cost_saving_per_student" DECIMAL(63,24) DEFAULT 0.000000000000000000000000 NOT NULL,
    "emission_saving" DECIMAL(63,18),
    PRIMARY KEY ("school", "resource", "unit_of_measure", "month", "students", "actual_cost", "actual_usage", "actual_peak_usage", "actual_offpeak_usage", "actual_usage_per_student", "baseline_start", "baseline_end", "baseline_months", "historic_cost_per_unit", "baseline_usage_per_student", "historic_cost", "usage_saving", "usage_saving_per_student", "cost_saving", "cost_saving_per_student", "emission_saving")
);


How to configure or setup Sync successfully?
Steps To Reproduce: * Setup an Server => Client sync from MySql to Sql Server 2012
* initiate a initial load.
* Fails when creating the table that has Decimal and precision greater than 38.

Additional Information:
Attached Files:
Notes
(0001276)
hanes   
2018-10-17 10:06   
(Last edited: 2018-10-17 10:07)
Confirmed that the issue still exists in 3.9.14.
AcknowledgeService - The outgoing batch 001-10 failed: [S1000,2750] Column or parameter 0000007: Specified column precision 40 is greater than the maximum precision of 38.

Caused by: java.sql.SQLException: Column or parameter 0000007: Specified column precision 40 is greater than the maximum precision of 38.


The question remains though, what is the correct solution? The data on the MySQL side could be larger than that on the SQLServer side.

(0001283)
hanes   
2018-10-17 14:27   
SymmetricDS should create the field as a 38 but should definitely issue a warning in the log about possible issues due to the drop of precision at the target schema.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2655 [SymmetricDS] Improvement minor N/A 2016-06-29 12:11 2018-10-29 12:54
Reporter: elong Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: acknowledged Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Parameters to control type and size for sym_data, sym_trigger fields
Description: Create parameters to control the data type and size for sym_data field: row_data, pk_data, old_data, and external_data. For row_data, pk_data, and old_data, they are by default CLOB, but the user might want them to VARCHAR with a size, which can increase the performance. For external_data, it is by default VARCHAR(50), but the user might want it to be larger.

This comes up in various database on various tables. sym_trigger is another spot where the table can be too "wide" for a database.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3563 [SymmetricDS] Improvement minor sometimes 2018-05-15 10:06 2018-10-29 12:53
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: The query has timed out. purgeExtractRequests
Description: 2018-05-15 15:55:28,424 INFO [central-0] [PurgeService] [qtp1093864783-4483] Failed to execute purge, but will try again, StackTraceKey.init [SqlException:695583935]
org.jumpmind.db.sql.SqlException: The query has timed out.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:503)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:342)
    at org.jumpmind.db.sql.AbstractSqlTemplate.update(AbstractSqlTemplate.java:224)
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeExtractRequests(PurgeService.java:288)
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoing(PurgeService.java:133)
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoing(PurgeService.java:83)
    at org.jumpmind.symmetric.job.OutgoingPurgeJob.doJob(OutgoingPurgeJob.java:49)
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:225)
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001183)
woehrl01   
2018-05-15 10:30   
see https://github.com/JumpMind/symmetric-ds/pull/90

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3560 [SymmetricDS] Bug major always 2018-05-10 13:59 2018-10-29 12:52
Reporter: jflambert Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Unable to use SymmetricDS service in Ubuntu 18.04 / bionic beaver
Description: SymmetricDS service in Ubuntu 18.04 is unusable. Missing a .service file (Service Unit Configuration)

For example: /lib/systemd/system/SymmetricDS.service

see http://manpages.ubuntu.com/manpages/bionic/man5/systemd.service.5.html

Steps To Reproduce: # lsb_release -sd
Ubuntu 18.04 LTS

# ./sym_service install
Installing SymmetricDS ...
Done

# service SymmetricDS status
Unit SymmetricDS.service could not be found.

# /etc/init.d/SymmetricDS status
Installed: true
Running: false
Wrapper PID: 0
Wrapper Running: false
Server PID: 0
Server Running: false

# service SymmetricDS start
Failed to start SymmetricDS.service: Unit SymmetricDS.service not found

# /etc/init.d/SymmetricDS start
Waiting for server to start
......
Started
Additional Information: Write the following file to /lib/systemd/system/SymmetricDS.service
Then create a symbolic link: ln -s /lib/systemd/system/SymmetricDS.service /etc/systemd/system/multi-user.target.wants/SymmetricDS.service

###############
[Unit]
Description=SymmetricDS

[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on

[Install]
WantedBy=multi-user.target
Attached Files:
Notes
(0001203)
jflambert   
2018-05-25 09:10   
I've improved the SymmetricDS.service configuration unit. Still needs to be placed in /lib/systemd/system/SymmetricDS.service

But then you must use these commands to register and enable the service for auto-start (don't use the ln command from my previous suggestion)

systemctl enable SymmetricDS
systemctl start SymmetricDS

This seems to provide with a stable auto-started service. We kind of lose out on the "status" functionality that was built into the original service because systemd takes over. The "After" clause is also very specific to my use case, probably better to use "After=network-online.target" instead, I'll let you guys determine that.


######
[Unit]
Description=SymmetricDS
After=postgresql.service

[Service]
Type=oneshot
RemainAfterExit=yes
Environment="SYM_HOME=/opt/symmetric-server-3.9.6"
Environment="JARFILE=/opt/symmetric-server-3.9.6/lib/symmetric-wrapper.jar"
ExecStart=/usr/bin/java -jar /opt/symmetric-server-3.9.6/lib/symmetric-wrapper.jar start
ExecStop=/usr/bin/java -jar /opt/symmetric-server-3.9.6/lib/symmetric-wrapper.jar stop

[Install]
WantedBy=multi-user.target

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3107 [SymmetricDS] Bug minor always 2017-05-15 00:32 2018-10-29 12:52
Reporter: marc Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Create table statement syntax error for tinyblob field
Description: Hello,

I'm trying to integrate a mysql db with symmetricds and I'm having the following issue when running the initial load a the target node.

[store-001] - JdbcSqlTemplate - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(255) NULL,
    PRIMARY KEY (`ID`)
)' at line 9. Failed to execute: CREATE TABLE `green_tpv_2`.`PEOPLE`(
    `ID` VARCHAR(255) NOT NULL,
    `NAME` VARCHAR(255) NOT NULL,
    `APPPASSWORD` VARCHAR(255) NULL,
    `CARD` VARCHAR(255) NULL,
    `ROLE` VARCHAR(255) NOT NULL,
    `VISIBLE` BIT NOT NULL,
    `IMAGE` MEDIUMBLOB NULL,
    `PREFERENCES` TINYBLOB(255) NULL,
    PRIMARY KEY (`ID`)
)
[store-001] - DefaultDatabaseWriter - Failed to alter table using the following xml: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor" catalog="green_tpv_2">
    <table name="PEOPLE">
        <column name="ID" primaryKey="true" required="true" type="VARCHAR" size="255">
            <platform-column name="mysql" type="VARCHAR" size="255"/>
        </column>
        <column name="NAME" required="true" type="VARCHAR" size="255">
            <platform-column name="mysql" type="VARCHAR" size="255"/>
        </column>
        <column name="APPPASSWORD" type="VARCHAR" size="255">
            <platform-column name="mysql" type="VARCHAR" size="255"/>
        </column>
        <column name="CARD" type="VARCHAR" size="255">
            <platform-column name="mysql" type="VARCHAR" size="255"/>
        </column>
        <column name="ROLE" required="true" type="VARCHAR" size="255">
            <platform-column name="mysql" type="VARCHAR" size="255"/>
        </column>
        <column name="VISIBLE" required="true" type="BIT" size="1">
            <platform-column name="mysql" type="BIT" size="1"/>
        </column>
        <column name="IMAGE" type="LONGVARBINARY" size="16777215">
            <platform-column name="mysql" type="MEDIUMBLOB" size="16777215"/>
        </column>
        <column name="PREFERENCES" type="BINARY" size="255">
            <platform-column name="mysql" type="TINYBLOB" size="255"/>
        </column>
        <unique name="PEOPLE_NAME_INX">
            <unique-column name="NAME"/>
        </unique>
        <index name="PEOPLE_CARD_INX">
            <index-column name="CARD"/>
        </index>
        <index name="PEOPLE_FK_1">
            <index-column name="ROLE"/>
        </index>
    </table>
</database>

It seems that the error is in the part : PREFERENCES TINYBLOB(255) NULL

The correct syntax should be without the field size : PREFERENCES TINYBLOB NULL

Note that it is working fine for the IMAGE field which is of type MEDIUMBLOB

Steps To Reproduce: Attempt to do an initial load of a table containing tinyblob field, with mysql driver
Additional Information:
Attached Files:
Notes
(0001288)
hanes   
2018-10-17 15:51   
Issue still exists in 3.9.14.

CREATE TABLE `people`(
    `ID` VARCHAR(255) NOT NULL,
    `NAME` VARCHAR(255) NOT NULL,
    `APPPASSWORD` VARCHAR(255) NULL,
    `CARD` VARCHAR(255) NULL,
    `ROLE` VARCHAR(255) NOT NULL,
    `VISIBLE` BIT NOT NULL,
    `IMAGE` MEDIUMBLOB NULL,
    `PREFERENCES` TINYBLOB NULL,
    PRIMARY KEY (`ID`)
);

when viewing source of this table you can see the (255) shows up as well.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2849 [SymmetricDS] Bug major have not tried 2016-10-06 08:37 2018-10-29 12:52
Reporter: anouri Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.8.5  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Create Table maps a column originally created as an ENUM('y','n') to a Enum(2)
Description: 021-data-loader-1] Running alter sql:
CREATE TABLE `data_dic`(
    `table_name` VARCHAR(40) NOT NULL,
    `field_name` VARCHAR(30) NOT NULL,
    `caption` VARCHAR(40) NULL,
    `min_size` INT DEFAULT 120,
    `field_order` SMALLINT,
    `field_type` ENUM(6) DEFAULT 'text' NULL,
    `popup_form` VARCHAR(25) NULL,
    `popup_field` VARCHAR(25) NULL,
    `check_values` VARCHAR(10) NULL,
    `combo_values` VARCHAR(150) NULL,
    `auto_inc` ENUM(2) DEFAULT 'n' NOT NULL,
    `enabled` ENUM(2) DEFAULT 'y' NULL,
    `only_select` ENUM(2) DEFAULT 'n' NOT NULL,
    `best_fit` ENUM(2) DEFAULT 'n' NOT NULL,
    `grid_sum` ENUM(5) DEFAULT 'na' NOT NULL,
    `required` ENUM(2) DEFAULT 'n' NOT NULL,
    `width` INT DEFAULT 0 NOT NULL,
    `add_date` CHAR(8) NULL,
    `visible` ENUM(2) DEFAULT 'y' NOT NULL,
    `in_table` ENUM(2) DEFAULT 'y' NOT NULL,
    `visible_pos` ENUM(2) DEFAULT 'y' NOT NULL,
    PRIMARY KEY (`table_name`, `field_name`)
);

Steps To Reproduce: command: symadmin reload node 021
mariadb 10.0
Additional Information: Getting ENUM(2) instead of enum('y','n')
Attached Files:
Notes
(0001290)
hanes   
2018-10-17 16:13   
Recreated in 3.9.14

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3517 [SymmetricDS Pro] Improvement feature have not tried 2018-04-12 14:16 2018-10-29 12:50
Reporter: molan Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: acknowledged Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Import Tables from List for new Data Load
Description: I would like the ability to import a list of tables from a file such as a text file when doing a new data load

Being able to import a list of tables would increase setup speed and reduce errors. especially for those of us replicating tables from multiple sites that have copies of the same database structure tied to applications
Steps To Reproduce: Manage >> Nodes >> Initial Data load
Additional Information:
Attached Files: 9 Data Load Wizard.png (38,222 bytes) 2018-04-12 14:16
http://www.symmetricds.org/issues/file_download.php?file_id=151&type=bug
png
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3702 [SymmetricDS Pro] Bug minor always 2018-09-05 12:54 2018-10-29 12:49
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Dashboard Setting's Preview pane doesn't correctly refresh when you add components that cause a new row
Description: From the Dashboard, with default configuration, click on settings, click Add. The new row won't show up in the Preview pane to the right. You can add multiple components and it still won't show up. Once you change the type of one of the components, though, it does show up.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3707 [SymmetricDS Pro] Bug minor have not tried 2018-09-05 15:02 2018-10-29 12:48
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Dashboard Health Monitor Shows Orphaned Nodes as Offline. These nodes are not shown in Manage Nodes Screen
Description: On the Dashboard Health Monitor, the "Offline Nodes" label shows orphaned nodes and it shouldn't. These nodes are not shown on the manage nodes screen.

Steps To Reproduce: 1. Set up 3 tier sync scenario (corp -> store -> till)
2. Register a store and multiple tills
3. Unregister the store from the corp without unregistering the tills from the store
4. Wait for the console.report.as.offline.minutes
5. corp will show tills as offline in the health monitor screen, but will not show at all in manage nodes.

In this scenario, sym_node and sym_node_host rows still exist for the tills, even thought he store's sym_node and sym_node_host rows have been removed.

Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3770 [SymmetricDS] Improvement minor have not tried 2018-10-29 10:50 2018-10-29 10:53
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Remove deprecated and unused columns in SYM tables
Description: Remove unused columns in SYM tables, adjust code, update SQL:

sym_node.heartbeat_time
sym_node.timezone_offset
sym_data_gap.status
sym_data_gap.last_update_time
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2629 [SymmetricDS] Bug major always 2016-06-03 14:53 2018-10-26 09:18
Reporter: ramyaa_c_k Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymAdmin uninstall command hangs forever, if the engine h2 database just went down
Description: Invoking symadmin uninstall commands when the engine h2 database just went down, hangs forever

Looks like the symadmin hangs when trying to "testConnection". No timeout is supported while using dbcp basicdatasource to test connection

Below is the stack trace.

"main" prio=5 tid=1 RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
       Local Variable: java.io.FileDescriptor#3
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
       Local Variable: java.net.SocketInputStream#1
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
       Local Variable: byte[]#11939
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
       Local Variable: java.io.BufferedInputStream#442
    at java.io.DataInputStream.readInt(DataInputStream.java:387)
       Local Variable: java.io.DataInputStream#4
    at org.h2.value.Transfer.readInt(Transfer.java:157)
    at org.h2.engine.SessionRemote.done(SessionRemote.java:599)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:119)
       Local Variable: org.h2.value.Transfer#1
       Local Variable: java.lang.String#13005
       Local Variable: java.net.Socket#1
       Local Variable: java.lang.String[]#337
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:430)
       Local Variable: java.lang.String#13091
       Local Variable: java.lang.String[]#331
       Local Variable: java.lang.String#13004
       Local Variable: java.lang.String#13006
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:311)
       Local Variable: org.h2.engine.SessionRemote#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
       Local Variable: org.h2.engine.ConnectionInfo#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
       Local Variable: org.h2.jdbc.JdbcConnection#1
    at org.h2.Driver.connect(Driver.java:74)
       Local Variable: java.util.Properties#99
       Local Variable: org.h2.Driver#1
       Local Variable: java.lang.String#18250
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.jumpmind.db.util.ResettableBasicDataSource.createPoolableConnectionFactory(ResettableBasicDataSource.java:74)
       Local Variable: org.apache.commons.dbcp.PoolableConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
       Local Variable: org.apache.commons.dbcp.DriverConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.jumpmind.symmetric.AbstractCommandLauncher.testConnection(AbstractCommandLauncher.java:395)
       Local Variable: org.jumpmind.db.util.ResettableBasicDataSource#1
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:383)
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:377)
    at org.jumpmind.symmetric.SymmetricAdmin.uninstall(SymmetricAdmin.java:480)
    at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:304)
       Local Variable: java.lang.String#18061
       Local Variable: java.util.LinkedList#4
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:190)
       Local Variable: org.apache.commons.cli.CommandLine#1
       Local Variable: org.jumpmind.symmetric.SymmetricAdmin#1
       Local Variable: org.apache.commons.cli.PosixParser#1
       Local Variable: org.apache.commons.cli.Options#1
    at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:129)
       Local Variable: java.lang.String[]0000630
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001299)
jflambert   
2018-10-26 09:17   
This affects me too. Attempting to uninstall an offline mssql node. Just loops infinitely.

[production] - AbstractSymmetricEngine - Could not get a connection to the database: Cannot create PoolableConnectionFactory (Network error IOException: No route to host (Host unreachable)). Waiting for 10 seconds before trying to connect to the database again.
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Network error IOException: No route to host (Host unreachable))

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3409 [SymmetricDS] Bug minor always 2018-02-07 12:32 2018-10-25 15:23
Reporter: abrougher Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Cascade clause is not being exported in the SQL DDL when syncing table DDL.
Description: When syncing table DDL, the DDL generated does not include the cascade clause. See steps to reproduce below.
Steps To Reproduce: To recreate on an H2 db...

--
-- Create example tables to export
--
CREATE TABLE PARENT (
    PARENT_ID VARCHAR(25) NOT NULL,
    PRIMARY KEY(PARENT_ID)
);
CREATE TABLE CHILD (
    ID SMALLINT AUTO_INCREMENT,
    PARENT_ID VARCHAR(25) NOT NULL,
    PRIMARY KEY(ID),
        CONSTRAINT FK_PARENT_CHILD FOREIGN KEY(PARENT_ID) REFERENCES PARENT(PARENT_ID) ON DELETE CASCADE
);

--
-- Table DDL generated by DDLUtils
--
CREATE TABLE CHILD(
    ID SMALLINT NOT NULL AUTO_INCREMENT,
    PARENT_ID VARCHAR(25) NOT NULL,
    PRIMARY KEY (ID)
);
ALTER TABLE CHILD
    ADD CONSTRAINT FK_PARENT_CHILD FOREIGN KEY (PARENT_ID) REFERENCES PARENT (PARENT_ID);

Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3475 [SymmetricDS Pro] Improvement minor have not tried 2018-03-06 08:16 2018-10-25 15:22
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.4  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: stream_row option (bulk edit) on sym_trigger is not available via the Pro UI, nor is reload channel
Description: stream_row (bulk edit) option on sym_trigger is not available via the Pro UI.
Add reload channel too
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3109 [SymmetricDS] Bug major have not tried 2017-05-15 00:59 2018-10-25 15:22
Reporter: marc Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: File replication routing job fails with error message when channel is not a file sync channel - needs better error message
Description: Hello,

I have configured file sync to setup master master replication of a folder using symmetricds but I'm getting stuck.

I can confirm the records in the sym_file_snapshot table on the master have been created by the tracker job, with correct data in trigger_id and router_id fields, but then routing fails with the following log output

FileSyncDataRouter - Could not find a trigger router with a trigger_id of null and a router_id of null. The file snapshot will not be routed

Not so sure if this is a bug or if I missed something in the config but couldn't find what is wrong.

Steps To Reproduce: Create a /dockercom folder on source and target

Insert symmetric conf :

insert into sym_file_trigger
(trigger_id,channel_id,base_dir,recurse,last_update_time,create_time)
values('dockercom','dockercom', '/dockercom', 0, current_timestamp,current_timestamp);

insert into sym_file_trigger
(trigger_id,channel_id,base_dir,recurse,last_update_time,create_time)
values('dockercom_slave','dockercom', '/dockercom', 0, current_timestamp,current_timestamp);

insert into sym_router
(router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time)
values('master_2_store_dockercom', 'master', 'store', 'default',current_timestamp, current_timestamp);

insert into sym_router
(router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time)
values('store_2_master_dockercom', 'store', 'master', 'default',current_timestamp, current_timestamp);

insert into sym_file_trigger_router
(trigger_id,router_id,last_update_time,create_time)
values('dockercom','master_2_store_dockercom', current_timestamp, current_timestamp);

insert into sym_file_trigger_router
(trigger_id,router_id,last_update_time,create_time)
values('dockercom_slave','store_2_master_dockercom', current_timestamp, current_timestamp);


Add some text files to the master /dockercom folder

Look at the master log
Additional Information: Content of the snapshot table

trigger_id, router_id, relative_dir, file_name, channel_id, reload_channel_id, last_event_type, crc32_checksum, file_size, file_modified_time, last_update_time, last_update_by, create_time
'dockercom', 'master_2_store_dockercom', '.', '.env', 'dockercom', 'filesync_reload', 'C', '3454198307', '47', '1494749769000', '2017-05-14 08:20:00', NULL, '2017-05-14 08:20:00'
'dockercom', 'master_2_store_dockercom', '.', 'docker-compose.run.yml', 'dockercom', 'filesync_reload', 'C', '1664581753', '2404', '1494749769000', '2017-05-14 08:20:00', NULL, '2017-05-14 08:20:00'
'dockercom', 'master_2_store_dockercom', '.', 'run_client_docker.sh', 'dockercom', 'filesync_reload', 'C', '1667299467', '2021', '1494749769000', '2017-05-14 08:20:00', NULL, '2017-05-14 08:20:00'
'dockercom', 'master_2_store_dockercom', '.', 'upgrade_latest', 'dockercom', 'filesync_reload', 'C', '0', '0', '1494746198000', '2017-05-14 08:20:00', NULL, '2017-05-14 08:20:00'
Attached Files:
Notes
(0001209)
lindom   
2018-06-20 04:36   
marc:
  have you sollution this problem?I face the same problem of you. I don't know whether it's a bug or a config error.
  if you have the sollution,please send a email to me ,thank you !
  my email is lindom@foxmail.com.
(0001249)
hanes   
2018-10-03 09:35   
I was able to recreate the issue. It's one of configuration (although SymmetricDS could probably do a better job of explaining the error in the logs). You have your channel for the file sync set to be "dockercom", but I'm guessing you dont have the file_sync_flag set to "1" on that channel (which indicates to SymmetricDS that it's a channel for file sync.) I can get the same error you describe above.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3251 [SymmetricDS] Bug minor always 2017-09-15 13:06 2018-10-25 15:20
Reporter: ivan.konev Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Mysql BIGINT UNSIGNED transform always processed as signed and giver error on larger than 63 bits numbers.
Description: Setup - mysql 5.5-5.7, i'm trying to replicate table with BIGINT(32) UNSIGNED field. It gives error when field value exceeds BIGINT SIGNED value.

The outgoing batch 001-122539 failed: [22001,1264] Data truncation: Out of range value for column 'intval' at row 1
Steps To Reproduce: 2 tables , 2 nodes. Table test replicated w/o any transforms using default values in trigger+trigger_router.

CREATE TABLE `test` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `intval` BIGINT(32) UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_bin' ENGINE=InnoDB AUTO_INCREMENT=4;

Insert some data:

INSERT IGNORE INTO `test` (`id`, `intval`) VALUES
    (2, 1),
    (3, 8643130000000077777);

Try to update value to larget than SIGNED BIGINT, like 9643130000000077777 and it will fail replication with error above on DESTINATION node.

2017-09-15 20:01:39,666 ERROR [test-001] [DataLoaderService] [dataloader-home-000-1] Failed to load batch 000-122539 StackTraceKey [SqlException:1431669847]
2017-09-15 20:02:39,630 INFO [test-001] [IncomingBatchService] [dataloader-home-000-1] Retrying batch 000-122539
2017-09-15 20:02:39,633 INFO [test-001] [DefaultDatabaseWriter] [dataloader-home-000-1] Failed to process update event in batch 122539.
Failed sql was: update `monitor`.`test` set `intval` = ? where `id` = ?
Failed sql parameters: [9643130000000077777, 3]
Failed sql parameters types: [-5, 4]
Failed sql state and code: 22001 (1264)
Failed pk data was: "3"
Failed row data was: "3","9643130000000077777"
Failed old data was: "3","8643130000000077777"
 StackTraceKey [SqlException:1431669847]
Additional Information:
Attached Files:
Notes
(0001278)
hanes   
2018-10-17 10:28   
Issue still exists in 3.9.14. SQLExplorer (in Pro) can't select the value out of the table. And when attempting to sync the row, the data is captured as the full value (9643130000000077777) but insert is failing on the target MySQL database (see below). It looks like SymmetricDS isn't recognizing that the type is BIGINT Unsigned.

2018-10-17 10:24:45,849 INFO [store-001] [DefaultDatabaseWriter] [store-001-dataloader-6] Failed to process insert event in batch 000-43 on channel 'default'.

Failed sql was: insert into `symmetricclient`.`test` (`id`, `intval`) values (?,?)
Failed sql parameters: [4, '9643130000000077777']
Failed sql parameters types: [INTEGER, BIGINT]
Failed sql state and code: 22001 (1264)
Failed row data was: "4","9643130000000077777"
 StackTraceKey.init [SqlException:1051950945]
org.jumpmind.db.sql.SqlException: Data truncation: Out of range value for column 'intval' at row 1
     at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
     at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
     at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:466)
     at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:896)
     at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:203)
     at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191)
     at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
     at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
     at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
     at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
     at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
     at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
     at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
     at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
     at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
     at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'intval' at row 1
     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3971)
     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
     at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
     at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
     at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
     at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
     at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
     at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485)
     at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:463)
     ... 16 more
     

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3769 [SymmetricDS Pro] Improvement minor have not tried 2018-10-25 15:18 2018-10-25 15:18
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Increase size of parameter edit screen to better accomodate long descriptions
Description: Increase size of parameter edit screen to better accomodate long descriptions
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3763 [SymmetricDS] Task minor have not tried 2018-10-19 05:16 2018-10-19 05:52
Reporter: aziz Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Multiple Master, one destination
Description: How to configure symmetricDS for multiple master and one destination. Case :
Database Master 1 table customer --> id:001, name:aziz
Database Master 2 table customer ---> id:002, name:aziz2

result:
Database destination table customers --> id :001, name:aziz
                                                                          id:002, name:aziz2
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3078 [SymmetricDS] Bug major always 2017-04-27 13:33 2018-10-17 16:24
Reporter: sid Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: feedback Product Version: 3.8.21  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Unable to complete all the DDL scripts on DB2 10.5
Description: Trying to start SymmetricDS for the first time with one master node and after creating the tables and environment variables it fails on creating all DB objects

I am guessing there DB2 version could be the problem, since as per the docs SymmetricDS has been tested on DB 9.

OS: AIX
DB: DB2 v10.5

Error:
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_CONFLICT"
    ADD CONSTRAINT "SYM_FK_CF_2_GRP_LNK" FOREIGN KEY ("SOURCE_NODE_GROUP_ID", "T
ARGET_NODE_GROUP_ID") REFERENCES "SYM_NODE_GROUP_LINK" ("SOURCE_NODE_GROUP_ID",
"TARGET_NODE_GROUP_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_FILE_TRIGGE
R_ROUTER"
    ADD CONSTRAINT "SYM_FK_FTR_2_FTRG" FOREIGN KEY ("TRIGGER_ID") REFERENCES "SY
M_FILE_TRIGGER" ("TRIGGER_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_FILE_TRIGGE
R_ROUTER"
    ADD CONSTRAINT "SYM_FK_FTR_2_RTR" FOREIGN KEY ("ROUTER_ID") REFERENCES "SYM_
ROUTER" ("ROUTER_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_GROUPLET_LI
NK"
    ADD CONSTRAINT "SYM_FK_GPLTLNK_2_GPLT" FOREIGN KEY ("GROUPLET_ID") REFERENCE
S "SYM_GROUPLET" ("GROUPLET_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_NODE_GROUP_
LINK"
    ADD CONSTRAINT "SYM_FK_LNK_2_GRP_SRC" FOREIGN KEY ("SOURCE_NODE_GROUP_ID") R
EFERENCES "SYM_NODE_GROUP" ("NODE_GROUP_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_NODE_GROUP_
LINK"
    ADD CONSTRAINT "SYM_FK_LNK_2_GRP_TGT" FOREIGN KEY ("TARGET_NODE_GROUP_ID") R
EFERENCES "SYM_NODE_GROUP" ("NODE_GROUP_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_NODE_IDENTI
TY"
    ADD CONSTRAINT "SYM_FK_IDENT_2_NODE" FOREIGN KEY ("NODE_ID") REFERENCES "SYM
_NODE" ("NODE_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_NODE_SECURI
TY"
    ADD CONSTRAINT "SYM_FK_SEC_2_NODE" FOREIGN KEY ("NODE_ID") REFERENCES "SYM_N
ODE" ("NODE_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_ROUTER"
    ADD CONSTRAINT "SYM_FK_RT_2_GRP_LNK" FOREIGN KEY ("SOURCE_NODE_GROUP_ID", "T
ARGET_NODE_GROUP_ID") REFERENCES "SYM_NODE_GROUP_LINK" ("SOURCE_NODE_GROUP_ID",
"TARGET_NODE_GROUP_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRANSFORM_T
ABLE"
    ADD CONSTRAINT "SYM_FK_TT_2_GRP_LNK" FOREIGN KEY ("SOURCE_NODE_GROUP_ID", "T
ARGET_NODE_GROUP_ID") REFERENCES "SYM_NODE_GROUP_LINK" ("SOURCE_NODE_GROUP_ID",
"TARGET_NODE_GROUP_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER"
    ADD CONSTRAINT "SYM_FK_TRG_2_CHNL" FOREIGN KEY ("CHANNEL_ID") REFERENCES "SY
M_CHANNEL" ("CHANNEL_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER"
    ADD CONSTRAINT "SYM_FK_TRG_2_RLD_CHNL" FOREIGN KEY ("RELOAD_CHANNEL_ID") REF
ERENCES "SYM_CHANNEL" ("CHANNEL_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER_ROU
TER"
    ADD CONSTRAINT "SYM_FK_TR_2_TRG" FOREIGN KEY ("TRIGGER_ID") REFERENCES "SYM_
TRIGGER" ("TRIGGER_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER_ROU
TER"
    ADD CONSTRAINT "SYM_FK_TR_2_RTR" FOREIGN KEY ("ROUTER_ID") REFERENCES "SYM_R
OUTER" ("ROUTER_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER_ROU
TER_GROUPLET"
    ADD CONSTRAINT "SYM_FK_TRGPLT_2_GPLT" FOREIGN KEY ("GROUPLET_ID") REFERENCES
 "SYM_GROUPLET" ("GROUPLET_ID")
[adams-node] - Db2v9SymmetricDialect - DDL applied: ALTER TABLE "SYM_TRIGGER_ROU
TER_GROUPLET"
    ADD CONSTRAINT "SYM_FK_TRGPLT_2_TR" FOREIGN KEY ("TRIGGER_ID", "ROUTER_ID")
REFERENCES "SYM_TRIGGER_ROUTER" ("TRIGGER_ID", "ROUTER_ID")
[adams-node] - Db2v9SymmetricDialect - Done with auto update of SymmetricDS tabl
es
[adams-node] - Db2v9SymmetricDialect - Resetting auto increment columns for sym_
data
[adams-node] - Db2v9SymmetricDialect - Creating environment variables sym_sync_t
riggers_disabled and sym_sync_node_disabled
[adams-node] - AbstractSymmetricEngine - An error occurred while starting Symmet
ricDS
org.jumpmind.db.sql.SqlException: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, S
QLERRMC=DEVELOPMENT.SYM_SYNC_NODE_DISABLED;VARIABLE, DRIVER=3.57.82
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate
.java:300)
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate
.java:291)
        at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)

        at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:342)
        at org.jumpmind.db.sql.AbstractSqlTemplate.update(AbstractSqlTemplate.ja
va:224)
        at org.jumpmind.symmetric.db.db2.Db2SymmetricDialect.createRequiredDatab
aseObjects(Db2SymmetricDialect.java:92)
        at org.jumpmind.symmetric.db.db2.Db2v9SymmetricDialect.createRequiredDat
abaseObjects(Db2v9SymmetricDialect.java:71)
        at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatab
aseObjects(AbstractSymmetricDialect.java:157)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(Abstract
SymmetricEngine.java:449)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetri
cEngine.java:423)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetri
cEngine.java:580)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetri
cEngine.java:571)
        at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEng
ine.java:244)
        at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(Sy
mmetricEngineHolder.java:478)
Caused by: com.ibm.db2.jcc.am.io: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, S
QLERRMC=DEVELOPMENT.SYM_SYNC_NODE_DISABLED;VARIABLE, DRIVER=3.57.82
        at com.ibm.db2.jcc.am.bd.a(bd.java:676)
        at com.ibm.db2.jcc.am.bd.a(bd.java:60)
        at com.ibm.db2.jcc.am.bd.a(bd.java:127)
        at com.ibm.db2.jcc.am.km.b(km.java:2164)
        at com.ibm.db2.jcc.am.km.c(km.java:2147)
        at com.ibm.db2.jcc.t4.db.k(db.java:354)
        at com.ibm.db2.jcc.t4.db.a(db.java:60)
        at com.ibm.db2.jcc.t4.t.a(t.java:50)
        at com.ibm.db2.jcc.t4.tb.b(tb.java:218)
        at com.ibm.db2.jcc.am.lm.ec(lm.java:2692)
        at com.ibm.db2.jcc.am.lm.b(lm.java:3552)
        at com.ibm.db2.jcc.am.lm.Yb(lm.java:2130)
        at com.ibm.db2.jcc.am.lm.execute(lm.java:2114)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(Delegatin
gPreparedStatement.java:172)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(Delegatin
gPreparedStatement.java:172)
        at org.jumpmind.db.sql.JdbcSqlTemplate$5.execute(JdbcSqlTemplate.java:37
4)
        at org.jumpmind.db.sql.JdbcSqlTemplate$5.execute(JdbcSqlTemplate.java:34
2)
        at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)

        ... 11 more
[adams-node] - AbstractSymmetricEngine - Stopping SymmetricDS externalId=000 ver
sion=3.8.21 database=DB2/AIX64
[adams-node] - AbstractSymmetricEngine - SymmetricDS: type=server, name=adams-no
de, version=3.8.21, groupId=adams-server, externalId=000, databaseName=DB2/AIX64
, databaseVersion=10.5, driverName=IBM DB2 JDBC Universal Driver Architecture, d
riverVersion=3.57.82

Steps To Reproduce: 1. Create a sample master node engine file pointing it to a DB2 v10.5 on AIX (OS shouldn't be a problem here)
2. Run sym.bat
Additional Information:
Attached Files:
Notes
(0001292)
hanes   
2018-10-17 16:24   
I believe the 3.9 version of SymmetricDS supports DB2 10. Can you test with 3.9?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3657 [SymmetricDS] Bug block have not tried 2018-08-02 17:36 2018-10-17 16:22
Reporter: irfaan22 Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: feedback Product Version: 3.8.39  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: System block when replicating
Description: .......
[corp-000] - DataExtractorService - Done extracting 1 batches for request 6
[corp-000] - DataExtractorService - Extracting batches for request 7. Starting at batch 28. Ending at batch 28
[corp-000] - DataExtractorService - Done extracting 1 batches for request 7
[corp-000] - DataExtractorService - Extracting batches for request 8. Starting at batch 29. Ending at batch 29
[corp-000] - DataExtractorService - Done extracting 1 batches for request 8
[corp-000] - DataExtractorService - Extracting batches for request 9. Starting at batch 30. Ending at batch 30
[corp-000] - DataExtractorService - Done extracting 1 batches for request 9
[corp-000] - ConfigurationChangedDataRouter - About to refresh the cache of nodes because new configuration came through the data router
[corp-000] - RouterService - Routed 2 data events in 93 ms
[corp-000] - PullUriHandler - 11 data and 11 batches sent during pull request from store:002:002
[store-002] - ConfigurationChangedDatabaseWriterFilter - About to refresh the cache of node security because new configuration came through the data loader
[store-002] - ConfigurationChangedDatabaseWriterFilter - About to refresh the cache of nodes because new configuration came through the data loader
[store-002] - DefaultDatabaseWriter - About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="ITEM">
        <column name="ITEM_ID" primaryKey="true" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="NAME" type="VARCHAR" size="100">
            <platform-column name="h2" type="VARCHAR" size="100"/>
        </column>
    </table>
</database>
[store-002] - H2DatabasePlatform - Running alter sql:
CREATE TABLE "ITEM"(
    "ITEM_ID" INTEGER NOT NULL,
    "NAME" VARCHAR(100) NULL,
    PRIMARY KEY ("ITEM_ID")
);

[store-002] - DefaultDatabaseWriter - About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="ITEM_SELLING_PRICE">
        <column name="ITEM_ID" primaryKey="true" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="STORE_ID" primaryKey="true" required="true" type="VARCHAR" size="5">
            <platform-column name="h2" type="VARCHAR" size="5"/>
        </column>
        <column name="PRICE" required="true" type="DECIMAL" size="10,2">
            <platform-column name="h2" type="DECIMAL" size="10" decimalDigits="2"/>
        </column>
        <column name="COST" type="DECIMAL" size="10,2">
            <platform-column name="h2" type="DECIMAL" size="10" decimalDigits="2"/>
        </column>
        <foreign-key name="FK_PRICE_ITEM_ID" foreignTable="ITEM" foreignTableCatalog="" foreignTableSchema="">
            <reference local="ITEM_ID" foreign="ITEM_ID"/>
        </foreign-key>
    </table>
</database>
[store-002] - H2DatabasePlatform - Running alter sql:
CREATE TABLE "ITEM_SELLING_PRICE"(
    "ITEM_ID" INTEGER NOT NULL,
    "STORE_ID" VARCHAR(5) NOT NULL,
    "PRICE" DECIMAL(10,2) NOT NULL,
    "COST" DECIMAL(10,2),
    PRIMARY KEY ("ITEM_ID", "STORE_ID")
);
ALTER TABLE "ITEM_SELLING_PRICE"
    ADD CONSTRAINT "FK_PRICE_ITEM_ID" FOREIGN KEY ("ITEM_ID") REFERENCES "ITEM" ("ITEM_ID");

[store-002] - DefaultDatabaseWriter - About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="SALE_TRANSACTION">
        <column name="TRAN_ID" primaryKey="true" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="STORE_ID" required="true" type="VARCHAR" size="5">
            <platform-column name="h2" type="VARCHAR" size="5"/>
        </column>
        <column name="WORKSTATION" required="true" type="VARCHAR" size="3">
            <platform-column name="h2" type="VARCHAR" size="3"/>
        </column>
        <column name="DAY" required="true" type="VARCHAR" size="10">
            <platform-column name="h2" type="VARCHAR" size="10"/>
        </column>
        <column name="SEQ" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
    </table>
</database>
[store-002] - H2DatabasePlatform - Running alter sql:
CREATE TABLE "SALE_TRANSACTION"(
    "TRAN_ID" INTEGER NOT NULL,
    "STORE_ID" VARCHAR(5) NOT NULL,
    "WORKSTATION" VARCHAR(3) NOT NULL,
    "DAY" VARCHAR(10) NOT NULL,
    "SEQ" INTEGER NOT NULL,
    PRIMARY KEY ("TRAN_ID")
);

[store-002] - DefaultDatabaseWriter - About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="SALE_RETURN_LINE_ITEM">
        <column name="TRAN_ID" primaryKey="true" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="ITEM_ID" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="PRICE" required="true" type="DECIMAL" size="10,2">
            <platform-column name="h2" type="DECIMAL" size="10" decimalDigits="2"/>
        </column>
        <column name="QUANTITY" required="true" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <column name="RETURNED_QUANTITY" type="INTEGER" size="10">
            <platform-column name="h2" type="INTEGER" size="10"/>
        </column>
        <foreign-key name="FK_SRLI_ITEM_ID" foreignTable="ITEM" foreignTableCatalog="" foreignTableSchema="">
            <reference local="ITEM_ID" foreign="ITEM_ID"/>
        </foreign-key>
        <foreign-key name="FK_SRLI_TRAN_ID" foreignTable="SALE_TRANSACTION" foreignTableCatalog="" foreignTableSchema="">
            <reference local="TRAN_ID" foreign="TRAN_ID"/>
        </foreign-key>
    </table>
</database>
[store-002] - H2DatabasePlatform - Running alter sql:
CREATE TABLE "SALE_RETURN_LINE_ITEM"(
    "TRAN_ID" INTEGER NOT NULL,
    "ITEM_ID" INTEGER NOT NULL,
    "PRICE" DECIMAL(10,2) NOT NULL,
    "QUANTITY" INTEGER NOT NULL,
    "RETURNED_QUANTITY" INTEGER,
    PRIMARY KEY ("TRAN_ID")
);
ALTER TABLE "SALE_RETURN_LINE_ITEM"
    ADD CONSTRAINT "FK_SRLI_ITEM_ID" FOREIGN KEY ("ITEM_ID") REFERENCES "ITEM" ("ITEM_ID");
ALTER TABLE "SALE_RETURN_LINE_ITEM"
    ADD CONSTRAINT "FK_SRLI_TRAN_ID" FOREIGN KEY ("TRAN_ID") REFERENCES "SALE_TRANSACTION" ("TRAN_ID");

[store-002] - ConfigurationChangedDatabaseWriterFilter - About to refresh the cache of node security because new configuration came through the data loader
[store-002] - TriggerRouterService - Synchronizing triggers for STORE002.PUBLIC.SALE_RETURN_LINE_ITEM
[store-002] - H2SymmetricDialect - Creating SYM_ON_I_FOR_SL_RTRN_LN_TM_STR trigger for STORE002.PUBLIC.SALE_RETURN_LINE_ITEM
[store-002] - H2SymmetricDialect - Creating SYM_ON_U_FOR_SL_RTRN_LN_TM_STR trigger for STORE002.PUBLIC.SALE_RETURN_LINE_ITEM
[store-002] - H2SymmetricDialect - Creating SYM_ON_D_FOR_SL_RTRN_LN_TM_STR trigger for STORE002.PUBLIC.SALE_RETURN_LINE_ITEM
[store-002] - TriggerRouterService - Done synchronizing triggers for STORE002.PUBLIC.SALE_RETURN_LINE_ITEM
[store-002] - TriggerRouterService - Synchronizing triggers for STORE002.PUBLIC.SALE_TRANSACTION
[store-002] - H2SymmetricDialect - Creating SYM_ON_I_FOR_SL_TRNSCTN_STR trigger for STORE002.PUBLIC.SALE_TRANSACTION
[store-002] - H2SymmetricDialect - Creating SYM_ON_U_FOR_SL_TRNSCTN_STR trigger for STORE002.PUBLIC.SALE_TRANSACTION
[store-002] - H2SymmetricDialect - Creating SYM_ON_D_FOR_SL_TRNSCTN_STR trigger for STORE002.PUBLIC.SALE_TRANSACTION
[store-002] - TriggerRouterService - Done synchronizing triggers for STORE002.PUBLIC.SALE_TRANSACTION
[store-002] - PullService - Pull data received from corp:000:000 on queue default. 11 rows and 11 batches were processed. (sym_node_security, sym_node, item, item_selling_price, sale_transaction, sale_return_line_item)
[store-002] - ConfigurationChangedDataRouter - About to refresh the cache of node security because new configuration came through the data router
[store-002] - RouterService - Routed 2 data events in 84 ms #<block here
.......
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001291)
hanes   
2018-10-17 16:22   
Can you be more specific about what your error is? I'm not seeing the issue when looking at your description you have provided.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2864 [SymmetricDS] Improvement minor sometimes 2016-10-17 11:32 2018-10-17 16:14
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Raise an error if an MSSQL Update fails to get captured
Description: Suggest enabled the use_handle_key_updates sym_trigger flag in the error text. Right now the update silently fails and it's not clear why the update didn't sync.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3132 [SymmetricDS] Bug minor always 2017-05-31 11:19 2018-10-17 15:53
Reporter: lijaih Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Comma in table name
Description: When i try to create triggers in table with comma fails and start to create triggers for all tables in BD.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001289)
hanes   
2018-10-17 15:53   
Can you please provide additional explanation on what the issue is. Perhaps a specific example would help.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3633 [SymmetricDS Pro] Bug minor have not tried 2018-07-17 15:31 2018-10-17 14:37
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: MSSQL Server Pro Validation Query Fails with a hyphen in the DB Name
Description: Here is a database named: dbHMI-prod. Notice the message: Incorrect syntax near '-'.

2018-07-17 15:27:06,232 WARN [corp-000] [MsSqlDdlReader] [qtp1777443462-16] Failed to determine auto increment columns using this query: 'SELECT t.TEST_ID,t.TEST_VALUE FROM db-prod.dbo.SYM_PERMISSION_TEST t WHERE 1 = 0'. This is probably not harmful, but should be fixed.
Table [name=SYM_PERMISSION_TEST; 2 columns]
Column [name=TEST_ID; jdbcType=int; mappedType=INTEGER]
Column [name=TEST_VALUE; jdbcType=int; mappedType=INTEGER] (org.jumpmind.db.platform.AbstractJdbcDdlReader.determineAutoIncrementFromResultSetMetaData(AbstractJdbcDdlReader.java:1308))
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '-'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:792)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3344 [SymmetricDS] Bug minor always 2017-12-23 04:58 2018-10-17 14:35
Reporter: ivan.konev Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: start.refresh.cache.job=true leads to errors in cache refresh job - "query error" with query = 'null'
Description: Not affecting overall performance and ability to sync, periodic refresh cache job fails completely giving something like below. For any of used engines - mysql,mariadb,oracle,sqlite...
Steps To Reproduce: start.cache.refresh.job=true
Additional Information: 2017-12-23 12:55:00,013 ERROR [mysqlmariadbnode] [RefreshCacheJob] [mysqlmariadbnode-job-11] Exception while executing job 'Refresh Cache' StackTraceKey.init [SqlException:265184862]
org.jumpmind.db.sql.SqlException: (conn=2312) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'null' at line 1
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
        at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
        at org.jumpmind.db.sql.JdbcSqlTemplate.queryForObject(JdbcSqlTemplate.java:156)
        at org.jumpmind.symmetric.service.impl.FileSyncService.refreshFromDatabase(FileSyncService.java:121)
        at org.jumpmind.symmetric.job.RefreshCacheJob.doJob(RefreshCacheJob.java:52)
        at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:225)
        at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:287)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: (conn=2312) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'null' at line 1
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:177)
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:110)
        at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:235)
        at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:224)
        at org.mariadb.jdbc.MariaDbPreparedStatementClient.execute(MariaDbPreparedStatementClient.java:159)
        at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeQuery(MariaDbPreparedStatementClient.java:173)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at org.jumpmind.db.sql.JdbcSqlTemplate$1.execute(JdbcSqlTemplate.java:168)
        at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
        ... 14 more
Caused by: java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'null' at line 1
Query is: null
        at org.mariadb.jdbc.internal.util.LogQueryTool.exceptionWithQuery(LogQueryTool.java:153)
        at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:248)
        at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:218)
        ... 20 more
Attached Files:
Notes
(0001282)
hanes   
2018-10-17 13:25   
Recreated under 3.9.14. Placed start.refresh.cache.job=true into symmetric-server.properties file and started node.
(0001286)
hanes   
2018-10-17 14:35   
For 3.10 this refresh cache feature needs to be finished and documented or removed.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3631 [SymmetricDS Pro] Bug minor sometimes 2018-07-13 10:14 2018-10-17 14:34
Reporter: elong Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Node missing from top-left drop-down switcher
Description: On a multi-homed node setup deployed as a WAR, sometimes the drop-down list of nodes to switch to does not fully populate with all nodes, even though all nodes are up and running. The workaround is to restart the server. First reported in HPL-91647-689.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001285)
hanes   
2018-10-17 14:34   
Eric has seen this in the standalone case as well. Believed to be a race condition at startup, and that the list of nodes is assembled once and the list is not refreshed during the life of the server.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2760 [SymmetricDS] Improvement minor N/A 2016-08-30 19:08 2018-10-17 14:31
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: reopened  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Default the file.sync.fast.scan to true
Description: Default the file.sync.fast.scan parameter to true for better file sync performance on medium and large file systems.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2904 [SymmetricDS] New Feature block always 2016-11-16 06:05 2018-10-17 14:29
Reporter: tparamanandam Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.8.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Feature which allows one to exclude the Indexes getting replicated from server to clients
Description: New Description: Provide a way to specify whether indexes get included or not when creating the table (by default they are included).

Original Description: I am replicating a table which contains Indexes from MSSql Server to MYSQL server. I want to exclude the index in replication. I don't find an option to exclude indexes getting replicated from server to client.

Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000907)
josh-a-hicks   
2016-11-16 12:22   
You could use dbexport command line to generate your create table scripts. There is an option to ignore indices

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3755 [SymmetricDS] Bug minor have not tried 2018-10-12 12:35 2018-10-17 13:08
Reporter: Yuntian Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Cannot update row when primary key data type is char/nchar(n)
Description: When the primary key is char/nchar the initial load is fine but any update on source node cannot be populated to destination node with following error:

Detected conflict while executing UPDATE on SyncTest.Test. The primary key data was: {id=1 }. Failed to fallback. The original error message was: Duplicate entry '1' for key 'PRIMARY'

When primary key in the set up script is changed to int, the update can complete successfully. I'm trying to stick to minimum configuration on my set up script so it is easy for me to see what's wrong though. Maybe there is a setting to enable support for char/nchar but that's not on by default unlike int which works out of box.

Please see attachments for set up script and full log.
Steps To Reproduce: 1. Set up Debian 9 for SDS, MSSQL 2014 for src and MySQL 8 for dest
2. Run sds.sh on Debian to set up and check MySQL for initial load
3. Run "update Test set Value = 'Test2'" on MSSQL
4. Detected conflict while executing UPDATE
Additional Information:
Attached Files: sds.sh (3,331 bytes) 2018-10-12 12:35
http://www.symmetricds.org/issues/file_download.php?file_id=167&type=bug
symmetric.log (223,383 bytes) 2018-10-12 12:35
http://www.symmetricds.org/issues/file_download.php?file_id=168&type=bug
Notes
(0001271)
Yuntian   
2018-10-12 12:37   
Error message in Description is not exactly how it is in the log file. The trailing space on primary key was removed.
(0001281)
hanes   
2018-10-17 13:08   
I am unable to recreate this issue after trying a few different approaches. Is there something additional about the database table that you didn't mention? Could you make use of varchar(10) as a work around perhaps?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3362 [SymmetricDS] General major always 2018-01-11 07:35 2018-10-17 12:26
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Impossible to Install SymmetricDS on Interbase due to table size issue on sym_trigger (and possibly others)
Description: Impossible to Install SymmetricDS
Steps To Reproduce: Just try to install SymmetricDS with InterbaseXE (x32) edition with Last Patch 5
Additional Information: in the Log File
(...)
2018-01-11 13:24:49,699 WARN [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL failed: CREATE TABLE "SYM_TRIGGER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "SOURCE_CATALOG_NAME" VARCHAR(255),
    "SOURCE_SCHEMA_NAME" VARCHAR(255),
    "SOURCE_TABLE_NAME" VARCHAR(255) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'reload' NOT NULL,
    "SYNC_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INCOMING_BATCH" SMALLINT DEFAULT 0 NOT NULL,
    "NAME_FOR_UPDATE_TRIGGER" VARCHAR(255),
    "NAME_FOR_INSERT_TRIGGER" VARCHAR(255),
    "NAME_FOR_DELETE_TRIGGER" VARCHAR(255),
    "SYNC_ON_UPDATE_CONDITION" VARCHAR(4096),
    "SYNC_ON_INSERT_CONDITION" VARCHAR(4096),
    "SYNC_ON_DELETE_CONDITION" VARCHAR(4096),
    "CUSTOM_BEFORE_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_DELETE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_ON_DELETE_TEXT" VARCHAR(4096),
    "EXTERNAL_SELECT" VARCHAR(4096),
    "TX_ID_EXPRESSION" VARCHAR(4096),
    "CHANNEL_EXPRESSION" VARCHAR(4096),
    "EXCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "INCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "SYNC_KEY_NAMES" VARCHAR(4096),
    "USE_STREAM_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_OLD_DATA" SMALLINT DEFAULT 1 NOT NULL,
    "USE_HANDLE_KEY_UPDATES" SMALLINT DEFAULT 1 NOT NULL,
    "STREAM_ROW" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID")
)
2018-01-11 13:24:49,700 WARN [server] [JdbcSqlTemplate] [background-refresher-1] interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER. Failed to execute: CREATE TABLE "SYM_TRIGGER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "SOURCE_CATALOG_NAME" VARCHAR(255),
    "SOURCE_SCHEMA_NAME" VARCHAR(255),
    "SOURCE_TABLE_NAME" VARCHAR(255) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'reload' NOT NULL,
    "SYNC_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INCOMING_BATCH" SMALLINT DEFAULT 0 NOT NULL,
    "NAME_FOR_UPDATE_TRIGGER" VARCHAR(255),
    "NAME_FOR_INSERT_TRIGGER" VARCHAR(255),
    "NAME_FOR_DELETE_TRIGGER" VARCHAR(255),
    "SYNC_ON_UPDATE_CONDITION" VARCHAR(4096),
    "SYNC_ON_INSERT_CONDITION" VARCHAR(4096),
    "SYNC_ON_DELETE_CONDITION" VARCHAR(4096),
    "CUSTOM_BEFORE_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_DELETE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_ON_DELETE_TEXT" VARCHAR(4096),
    "EXTERNAL_SELECT" VARCHAR(4096),
    "TX_ID_EXPRESSION" VARCHAR(4096),
    "CHANNEL_EXPRESSION" VARCHAR(4096),
    "EXCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "INCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "SYNC_KEY_NAMES" VARCHAR(4096),
    "USE_STREAM_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_OLD_DATA" SMALLINT DEFAULT 1 NOT NULL,
    "USE_HANDLE_KEY_UPDATES" SMALLINT DEFAULT 1 NOT NULL,
    "STREAM_ROW" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID")
)
2018-01-11 13:24:49,701 ERROR [server] [AbstractSymmetricEngine] [background-refresher-1] An error occurred while starting SymmetricDS StackTraceKey.init [SqlException:4262246999]
org.jumpmind.db.sql.SqlException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:401)
Attached Files:
Notes
(0001103)
gilles.riand   
2018-01-11 07:36   
2018-01-11 13:24:09,793 INFO [gui] [JdbcDatabasePlatformFactory] [qtp323326911-17] Detected database 'InterBase', version '10', protocol 'interbase'
2018-01-11 13:24:09,810 INFO [gui] [JdbcDatabasePlatformFactory] [qtp323326911-17] The IDatabasePlatform being used is org.jumpmind.db.platform.interbase.InterbaseDatabasePlatform
2018-01-11 13:24:09,833 INFO [gui] [InterbaseSymmetricDialect] [qtp323326911-17] The DbDialect being used is org.jumpmind.symmetric.db.interbase.InterbaseSymmetricDialect
2018-01-11 13:24:15,853 INFO [SymmetricDS] [AbstractSymmetricEngine] [qtp323326911-18] Initializing connection to database
2018-01-11 13:24:15,871 INFO [SymmetricDS] [JdbcDatabasePlatformFactory] [qtp323326911-18] Detected database 'InterBase', version '10', protocol 'interbase'
2018-01-11 13:24:15,872 INFO [SymmetricDS] [JdbcDatabasePlatformFactory] [qtp323326911-18] The IDatabasePlatform being used is org.jumpmind.db.platform.interbase.InterbaseDatabasePlatform
2018-01-11 13:24:15,887 INFO [SymmetricDS] [InterbaseSymmetricDialect] [qtp323326911-18] The DbDialect being used is org.jumpmind.symmetric.db.interbase.InterbaseSymmetricDialect
2018-01-11 13:24:15,914 INFO [SymmetricDS] [StagingManager] [qtp323326911-18] The staging directory was initialized at the following location: tmp\SymmetricDS
2018-01-11 13:24:15,944 INFO [SymmetricDS] [ClusterService] [qtp323326911-18] This node picked a server id of RIAND
2018-01-11 13:24:15,981 INFO [SymmetricDS] [NodeService] [qtp323326911-18] Failed to load the node identity because: org.jumpmind.db.sql.SqlException Failed to execute sql: select c.node_id, c.node_group_id, c.external_id, c.sync_enabled, c.sync_url, c.schema_version, c.database_type, c.database_version, c.symmetric_version, c.created_at_node_id, c.heartbeat_time, c.timezone_offset, c.batch_to_send_count, c.batch_in_error_count, c.deployment_type, c.config_version from sym_node c inner join sym_node_identity i on c.node_id = i.node_id . Returning null
2018-01-11 13:24:16,318 INFO [SymmetricDS] [ClientExtensionService] [qtp323326911-18] Found 12 extension points from spring that will be registered
2018-01-11 13:24:48,317 INFO [server] [AbstractSymmetricEngine] [background-refresher-1] Initializing connection to database
2018-01-11 13:24:48,444 INFO [server] [JdbcDatabasePlatformFactory] [background-refresher-1] Detected database 'InterBase', version '10', protocol 'interbase'
2018-01-11 13:24:48,444 INFO [server] [JdbcDatabasePlatformFactory] [background-refresher-1] The IDatabasePlatform being used is org.jumpmind.db.platform.interbase.InterbaseDatabasePlatform
2018-01-11 13:24:48,457 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] The DbDialect being used is org.jumpmind.symmetric.db.interbase.InterbaseSymmetricDialect
2018-01-11 13:24:48,472 INFO [server] [StagingManager] [background-refresher-1] The staging directory was initialized at the following location: tmp\server
2018-01-11 13:24:48,475 INFO [server] [ClusterService] [background-refresher-1] This node picked a server id of RIAND
2018-01-11 13:24:48,477 INFO [server] [NodeService] [background-refresher-1] Failed to load the node identity because: org.jumpmind.db.sql.SqlException Failed to execute sql: select c.node_id, c.node_group_id, c.external_id, c.sync_enabled, c.sync_url, c.schema_version, c.database_type, c.database_version, c.symmetric_version, c.created_at_node_id, c.heartbeat_time, c.timezone_offset, c.batch_to_send_count, c.batch_in_error_count, c.deployment_type, c.config_version from sym_node c inner join sym_node_identity i on c.node_id = i.node_id . Returning null
2018-01-11 13:24:48,663 INFO [server] [ClientExtensionService] [background-refresher-1] Found 14 extension points from spring that will be registered
2018-01-11 13:24:48,675 INFO [server] [AbstractSymmetricEngine] [background-refresher-1] Initializing SymmetricDS database
2018-01-11 13:24:48,676 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] Checking if SymmetricDS tables need created or altered
2018-01-11 13:24:49,143 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] There are SymmetricDS tables that needed altered
2018-01-11 13:24:49,268 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_CHANNEL"(
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "PROCESSING_ORDER" INTEGER DEFAULT 1 NOT NULL,
    "MAX_BATCH_SIZE" INTEGER DEFAULT 1000 NOT NULL,
    "MAX_BATCH_TO_SEND" INTEGER DEFAULT 60 NOT NULL,
    "MAX_DATA_TO_ROUTE" INTEGER DEFAULT 100000 NOT NULL,
    "EXTRACT_PERIOD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "ENABLED" SMALLINT DEFAULT 1 NOT NULL,
    "USE_OLD_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL,
    "USE_ROW_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL,
    "USE_PK_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL,
    "RELOAD_FLAG" SMALLINT DEFAULT 0 NOT NULL,
    "FILE_SYNC_FLAG" SMALLINT DEFAULT 0 NOT NULL,
    "CONTAINS_BIG_LOB" SMALLINT DEFAULT 0 NOT NULL,
    "BATCH_ALGORITHM" VARCHAR(50) DEFAULT 'default' NOT NULL,
    "DATA_LOADER_TYPE" VARCHAR(50) DEFAULT 'default' NOT NULL,
    "DESCRIPTION" VARCHAR(255),
    "QUEUE" VARCHAR(25) DEFAULT 'default' NOT NULL,
    "MAX_NETWORK_KBPS" DECIMAL(10,3) DEFAULT 0.000 NOT NULL,
    "DATA_EVENT_ACTION" CHAR(1),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("CHANNEL_ID")
)
2018-01-11 13:24:49,283 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_CONFLICT"(
    "CONFLICT_ID" VARCHAR(50) NOT NULL,
    "SOURCE_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_CHANNEL_ID" VARCHAR(128),
    "TARGET_CATALOG_NAME" VARCHAR(255),
    "TARGET_SCHEMA_NAME" VARCHAR(255),
    "TARGET_TABLE_NAME" VARCHAR(255),
    "DETECT_TYPE" VARCHAR(128) NOT NULL,
    "DETECT_EXPRESSION" VARCHAR(4096),
    "RESOLVE_TYPE" VARCHAR(128) NOT NULL,
    "PING_BACK" VARCHAR(128) NOT NULL,
    "RESOLVE_CHANGES_ONLY" SMALLINT DEFAULT 0,
    "RESOLVE_ROW_ONLY" SMALLINT DEFAULT 0,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("CONFLICT_ID")
)
2018-01-11 13:24:49,288 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_CONTEXT"(
    "NAME" VARCHAR(80) NOT NULL,
    "CONTEXT_VALUE" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("NAME")
)
2018-01-11 13:24:49,300 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_DATA"(
    "DATA_ID" NUMERIC(18,0) NOT NULL ,
    "TABLE_NAME" VARCHAR(255) NOT NULL,
    "EVENT_TYPE" CHAR(1) NOT NULL,
    "ROW_DATA" VARCHAR(4096),
    "PK_DATA" VARCHAR(4096),
    "OLD_DATA" VARCHAR(4096),
    "TRIGGER_HIST_ID" INTEGER NOT NULL,
    "CHANNEL_ID" VARCHAR(128),
    "TRANSACTION_ID" VARCHAR(255),
    "SOURCE_NODE_ID" VARCHAR(50),
    "EXTERNAL_DATA" VARCHAR(50),
    "NODE_LIST" VARCHAR(255),
    "CREATE_TIME" TIMESTAMP,
    PRIMARY KEY ("DATA_ID")
)
2018-01-11 13:24:49,310 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_D_CHANNEL_ID" ON "SYM_DATA" ("DATA_ID", "CHANNEL_ID")
2018-01-11 13:24:49,310 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE GENERATOR "GEN_SYM_DATA_DATA_ID"
2018-01-11 13:24:49,319 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TRIGGER "TRG_SYM_DATA_DATA_ID" FOR "SYM_DATA" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN IF (NEW."DATA_ID" IS NULL) THEN NEW."DATA_ID" = GEN_ID("GEN_SYM_DATA_DATA_ID", 1); END
2018-01-11 13:24:49,324 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_DATA_EVENT"(
    "DATA_ID" NUMERIC(18,0) NOT NULL,
    "BATCH_ID" NUMERIC(18,0) NOT NULL,
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    PRIMARY KEY ("DATA_ID", "BATCH_ID", "ROUTER_ID")
)
2018-01-11 13:24:49,326 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_DE_BATCHID" ON "SYM_DATA_EVENT" ("BATCH_ID")
2018-01-11 13:24:49,341 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_DATA_GAP"(
    "START_ID" NUMERIC(18,0) NOT NULL,
    "END_ID" NUMERIC(18,0) NOT NULL,
    "STATUS" CHAR(2),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_HOSTNAME" VARCHAR(255),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("START_ID", "END_ID")
)
2018-01-11 13:24:49,342 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_DG_STATUS" ON "SYM_DATA_GAP" ("STATUS")
2018-01-11 13:24:49,357 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_EXTENSION"(
    "EXTENSION_ID" VARCHAR(50) NOT NULL,
    "EXTENSION_TYPE" VARCHAR(10) NOT NULL,
    "INTERFACE_NAME" VARCHAR(255),
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "ENABLED" SMALLINT DEFAULT 1 NOT NULL,
    "EXTENSION_ORDER" INTEGER DEFAULT 1 NOT NULL,
    "EXTENSION_TEXT" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("EXTENSION_ID")
)
2018-01-11 13:24:49,364 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_EXTRACT_REQUEST"(
    "REQUEST_ID" NUMERIC(18,0) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "QUEUE" VARCHAR(128),
    "STATUS" CHAR(2),
    "START_BATCH_ID" NUMERIC(18,0) NOT NULL,
    "END_BATCH_ID" NUMERIC(18,0) NOT NULL,
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "LAST_UPDATE_TIME" TIMESTAMP,
    "CREATE_TIME" TIMESTAMP,
    PRIMARY KEY ("REQUEST_ID")
)
2018-01-11 13:24:49,370 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_FILE_INCOMING"(
    "RELATIVE_DIR" VARCHAR(255) NOT NULL,
    "FILE_NAME" VARCHAR(128) NOT NULL,
    "LAST_EVENT_TYPE" CHAR(1) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "FILE_MODIFIED_TIME" NUMERIC(18,0),
    PRIMARY KEY ("RELATIVE_DIR", "FILE_NAME")
)
2018-01-11 13:24:49,378 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_FILE_SNAPSHOT"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "RELATIVE_DIR" VARCHAR(255) NOT NULL,
    "FILE_NAME" VARCHAR(128) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) DEFAULT 'filesync' NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'filesync_reload' NOT NULL,
    "LAST_EVENT_TYPE" CHAR(1) NOT NULL,
    "CRC32_CHECKSUM" NUMERIC(18,0),
    "FILE_SIZE" NUMERIC(18,0),
    "FILE_MODIFIED_TIME" NUMERIC(18,0),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("TRIGGER_ID", "ROUTER_ID", "RELATIVE_DIR", "FILE_NAME")
)
2018-01-11 13:24:49,380 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_F_SNPSHT_CHID" ON "SYM_FILE_SNAPSHOT" ("RELOAD_CHANNEL_ID")
2018-01-11 13:24:49,395 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_FILE_TRIGGER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) DEFAULT 'filesync' NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'filesync_reload' NOT NULL,
    "BASE_DIR" VARCHAR(255) NOT NULL,
    "RECURSE" SMALLINT DEFAULT 1 NOT NULL,
    "INCLUDES_FILES" VARCHAR(255),
    "EXCLUDES_FILES" VARCHAR(255),
    "SYNC_ON_CREATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_MODIFIED" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_CTL_FILE" SMALLINT DEFAULT 0 NOT NULL,
    "DELETE_AFTER_SYNC" SMALLINT DEFAULT 0 NOT NULL,
    "BEFORE_COPY_SCRIPT" VARCHAR(4096),
    "AFTER_COPY_SCRIPT" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID")
)
2018-01-11 13:24:49,402 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_FILE_TRIGGER_ROUTER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "ENABLED" SMALLINT DEFAULT 1 NOT NULL,
    "INITIAL_LOAD_ENABLED" SMALLINT DEFAULT 1 NOT NULL,
    "TARGET_BASE_DIR" VARCHAR(255),
    "CONFLICT_STRATEGY" VARCHAR(128) DEFAULT 'source_wins' NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID", "ROUTER_ID")
)
2018-01-11 13:24:49,408 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_GROUPLET"(
    "GROUPLET_ID" VARCHAR(50) NOT NULL,
    "GROUPLET_LINK_POLICY" CHAR(1) DEFAULT 'I' NOT NULL,
    "DESCRIPTION" VARCHAR(255),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("GROUPLET_ID")
)
2018-01-11 13:24:49,413 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_GROUPLET_LINK"(
    "GROUPLET_ID" VARCHAR(50) NOT NULL,
    "EXTERNAL_ID" VARCHAR(255) NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("GROUPLET_ID", "EXTERNAL_ID")
)
2018-01-11 13:24:49,436 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_INCOMING_BATCH"(
    "BATCH_ID" NUMERIC(18,0) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "CHANNEL_ID" VARCHAR(128),
    "STATUS" CHAR(2),
    "ERROR_FLAG" SMALLINT DEFAULT 0,
    "SQL_STATE" VARCHAR(10),
    "SQL_CODE" INTEGER DEFAULT 0 NOT NULL,
    "SQL_MESSAGE" VARCHAR(4096),
    "LAST_UPDATE_HOSTNAME" VARCHAR(255),
    "LAST_UPDATE_TIME" TIMESTAMP,
    "CREATE_TIME" TIMESTAMP,
    "SUMMARY" VARCHAR(255),
    "IGNORE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "BYTE_COUNT" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "LOAD_FLAG" SMALLINT DEFAULT 0,
    "EXTRACT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SENT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "RELOAD_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "OTHER_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "NETWORK_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "FILTER_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "ROUTER_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "TRANSFORM_EXTRACT_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "TRANSFORM_LOAD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_ID" NUMERIC(18,0),
    "COMMON_FLAG" SMALLINT DEFAULT 0,
    "FALLBACK_INSERT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "FALLBACK_UPDATE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "IGNORE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "MISSING_DELETE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SKIP_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "FAILED_ROW_NUMBER" INTEGER DEFAULT 0 NOT NULL,
    "FAILED_LINE_NUMBER" INTEGER DEFAULT 0 NOT NULL,
    "FAILED_DATA_ID" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    PRIMARY KEY ("BATCH_ID", "NODE_ID")
)
2018-01-11 13:24:49,439 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_IB_TIME_STATUS" ON "SYM_INCOMING_BATCH" ("CREATE_TIME", "STATUS")
2018-01-11 13:24:49,442 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_IB_IN_ERROR" ON "SYM_INCOMING_BATCH" ("ERROR_FLAG")
2018-01-11 13:24:49,452 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_INCOMING_ERROR"(
    "BATCH_ID" NUMERIC(18,0) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "FAILED_ROW_NUMBER" NUMERIC(18,0) NOT NULL,
    "FAILED_LINE_NUMBER" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "TARGET_CATALOG_NAME" VARCHAR(255),
    "TARGET_SCHEMA_NAME" VARCHAR(255),
    "TARGET_TABLE_NAME" VARCHAR(255) NOT NULL,
    "EVENT_TYPE" CHAR(1) NOT NULL,
    "BINARY_ENCODING" VARCHAR(10) DEFAULT 'HEX' NOT NULL,
    "COLUMN_NAMES" VARCHAR(4096) NOT NULL,
    "PK_COLUMN_NAMES" VARCHAR(4096) NOT NULL,
    "ROW_DATA" VARCHAR(4096),
    "OLD_DATA" VARCHAR(4096),
    "CUR_DATA" VARCHAR(4096),
    "RESOLVE_DATA" VARCHAR(4096),
    "RESOLVE_IGNORE" SMALLINT DEFAULT 0,
    "CONFLICT_ID" VARCHAR(50),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("BATCH_ID", "NODE_ID", "FAILED_ROW_NUMBER")
)
2018-01-11 13:24:49,463 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_LOAD_FILTER"(
    "LOAD_FILTER_ID" VARCHAR(50) NOT NULL,
    "LOAD_FILTER_TYPE" VARCHAR(10) NOT NULL,
    "SOURCE_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_CATALOG_NAME" VARCHAR(255),
    "TARGET_SCHEMA_NAME" VARCHAR(255),
    "TARGET_TABLE_NAME" VARCHAR(255),
    "FILTER_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "FILTER_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "FILTER_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "BEFORE_WRITE_SCRIPT" VARCHAR(4096),
    "AFTER_WRITE_SCRIPT" VARCHAR(4096),
    "BATCH_COMPLETE_SCRIPT" VARCHAR(4096),
    "BATCH_COMMIT_SCRIPT" VARCHAR(4096),
    "BATCH_ROLLBACK_SCRIPT" VARCHAR(4096),
    "HANDLE_ERROR_SCRIPT" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "LOAD_FILTER_ORDER" INTEGER DEFAULT 1 NOT NULL,
    "FAIL_ON_ERROR" SMALLINT DEFAULT 0 NOT NULL,
    PRIMARY KEY ("LOAD_FILTER_ID")
)
2018-01-11 13:24:49,473 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_LOCK"(
    "LOCK_ACTION" VARCHAR(50) NOT NULL,
    "LOCK_TYPE" VARCHAR(50) NOT NULL,
    "LOCKING_SERVER_ID" VARCHAR(255),
    "LOCK_TIME" TIMESTAMP,
    "SHARED_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SHARED_ENABLE" INTEGER DEFAULT 0 NOT NULL,
    "LAST_LOCK_TIME" TIMESTAMP,
    "LAST_LOCKING_SERVER_ID" VARCHAR(255),
    PRIMARY KEY ("LOCK_ACTION")
)
2018-01-11 13:24:49,481 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "EXTERNAL_ID" VARCHAR(255) NOT NULL,
    "HEARTBEAT_TIME" TIMESTAMP,
    "TIMEZONE_OFFSET" VARCHAR(6),
    "SYNC_ENABLED" SMALLINT DEFAULT 0,
    "SYNC_URL" VARCHAR(255),
    "SCHEMA_VERSION" VARCHAR(50),
    "SYMMETRIC_VERSION" VARCHAR(50),
    "CONFIG_VERSION" VARCHAR(50),
    "DATABASE_TYPE" VARCHAR(50),
    "DATABASE_VERSION" VARCHAR(50),
    "BATCH_TO_SEND_COUNT" INTEGER DEFAULT 0,
    "BATCH_IN_ERROR_COUNT" INTEGER DEFAULT 0,
    "CREATED_AT_NODE_ID" VARCHAR(50),
    "DEPLOYMENT_TYPE" VARCHAR(50),
    "DEPLOYMENT_SUB_TYPE" VARCHAR(50),
    PRIMARY KEY ("NODE_ID")
)
2018-01-11 13:24:49,490 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_COMMUNICATION"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "QUEUE" VARCHAR(25) DEFAULT 'default' NOT NULL,
    "COMMUNICATION_TYPE" VARCHAR(10) NOT NULL,
    "LOCK_TIME" TIMESTAMP,
    "LOCKING_SERVER_ID" VARCHAR(255),
    "LAST_LOCK_TIME" TIMESTAMP,
    "LAST_LOCK_MILLIS" NUMERIC(18,0) DEFAULT 0,
    "SUCCESS_COUNT" NUMERIC(18,0) DEFAULT 0,
    "FAIL_COUNT" NUMERIC(18,0) DEFAULT 0,
    "SKIP_COUNT" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_SUCCESS_COUNT" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_FAIL_COUNT" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_SUCCESS_MILLIS" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_FAIL_MILLIS" NUMERIC(18,0) DEFAULT 0,
    "BATCH_TO_SEND_COUNT" NUMERIC(18,0) DEFAULT 0,
    "NODE_PRIORITY" INTEGER DEFAULT 0,
    PRIMARY KEY ("NODE_ID", "QUEUE", "COMMUNICATION_TYPE")
)
2018-01-11 13:24:49,496 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_CHANNEL_CTL"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "SUSPEND_ENABLED" SMALLINT DEFAULT 0,
    "IGNORE_ENABLED" SMALLINT DEFAULT 0,
    "LAST_EXTRACT_TIME" TIMESTAMP,
    PRIMARY KEY ("NODE_ID", "CHANNEL_ID")
)
2018-01-11 13:24:49,501 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_GROUP"(
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "DESCRIPTION" VARCHAR(255),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("NODE_GROUP_ID")
)
2018-01-11 13:24:49,507 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_GROUP_CHANNEL_WND"(
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "START_TIME" TIMESTAMP NOT NULL,
    "END_TIME" TIMESTAMP NOT NULL,
    "ENABLED" SMALLINT DEFAULT 0 NOT NULL,
    PRIMARY KEY ("NODE_GROUP_ID", "CHANNEL_ID", "START_TIME", "END_TIME")
)
2018-01-11 13:24:49,514 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_GROUP_LINK"(
    "SOURCE_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "DATA_EVENT_ACTION" CHAR(1) DEFAULT 'W' NOT NULL,
    "SYNC_CONFIG_ENABLED" SMALLINT DEFAULT 1 NOT NULL,
    "IS_REVERSIBLE" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("SOURCE_NODE_GROUP_ID", "TARGET_NODE_GROUP_ID")
)
2018-01-11 13:24:49,524 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_HOST"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "HOST_NAME" VARCHAR(60) NOT NULL,
    "INSTANCE_ID" VARCHAR(60),
    "IP_ADDRESS" VARCHAR(50),
    "OS_USER" VARCHAR(50),
    "OS_NAME" VARCHAR(50),
    "OS_ARCH" VARCHAR(50),
    "OS_VERSION" VARCHAR(50),
    "AVAILABLE_PROCESSORS" INTEGER DEFAULT 0,
    "FREE_MEMORY_BYTES" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_MEMORY_BYTES" NUMERIC(18,0) DEFAULT 0,
    "MAX_MEMORY_BYTES" NUMERIC(18,0) DEFAULT 0,
    "JAVA_VERSION" VARCHAR(50),
    "JAVA_VENDOR" VARCHAR(255),
    "JDBC_VERSION" VARCHAR(255),
    "SYMMETRIC_VERSION" VARCHAR(50),
    "TIMEZONE_OFFSET" VARCHAR(6),
    "HEARTBEAT_TIME" TIMESTAMP,
    "LAST_RESTART_TIME" TIMESTAMP NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("NODE_ID", "HOST_NAME")
)
2018-01-11 13:24:49,534 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_HOST_CHANNEL_STATS"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "HOST_NAME" VARCHAR(60) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "START_TIME" TIMESTAMP NOT NULL,
    "END_TIME" TIMESTAMP NOT NULL,
    "DATA_ROUTED" NUMERIC(18,0) DEFAULT 0,
    "DATA_UNROUTED" NUMERIC(18,0) DEFAULT 0,
    "DATA_EVENT_INSERTED" NUMERIC(18,0) DEFAULT 0,
    "DATA_EXTRACTED" NUMERIC(18,0) DEFAULT 0,
    "DATA_BYTES_EXTRACTED" NUMERIC(18,0) DEFAULT 0,
    "DATA_EXTRACTED_ERRORS" NUMERIC(18,0) DEFAULT 0,
    "DATA_BYTES_SENT" NUMERIC(18,0) DEFAULT 0,
    "DATA_SENT" NUMERIC(18,0) DEFAULT 0,
    "DATA_SENT_ERRORS" NUMERIC(18,0) DEFAULT 0,
    "DATA_LOADED" NUMERIC(18,0) DEFAULT 0,
    "DATA_BYTES_LOADED" NUMERIC(18,0) DEFAULT 0,
    "DATA_LOADED_ERRORS" NUMERIC(18,0) DEFAULT 0,
    PRIMARY KEY ("NODE_ID", "HOST_NAME", "CHANNEL_ID", "START_TIME", "END_TIME")
)
2018-01-11 13:24:49,536 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_ND_HST_CHNL_STS" ON "SYM_NODE_HOST_CHANNEL_STATS" ("NODE_ID", "START_TIME", "END_TIME")
2018-01-11 13:24:49,543 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_HOST_JOB_STATS"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "HOST_NAME" VARCHAR(60) NOT NULL,
    "JOB_NAME" VARCHAR(50) NOT NULL,
    "START_TIME" TIMESTAMP NOT NULL,
    "END_TIME" TIMESTAMP NOT NULL,
    "PROCESSED_COUNT" NUMERIC(18,0) DEFAULT 0,
    "TARGET_NODE_ID" VARCHAR(50),
    "TARGET_NODE_COUNT" INTEGER DEFAULT 0,
    PRIMARY KEY ("NODE_ID", "HOST_NAME", "JOB_NAME", "START_TIME", "END_TIME")
)
2018-01-11 13:24:49,545 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_ND_HST_JOB" ON "SYM_NODE_HOST_JOB_STATS" ("NODE_ID", "START_TIME", "END_TIME")
2018-01-11 13:24:49,557 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_HOST_STATS"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "HOST_NAME" VARCHAR(60) NOT NULL,
    "START_TIME" TIMESTAMP NOT NULL,
    "END_TIME" TIMESTAMP NOT NULL,
    "RESTARTED" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "NODES_PULLED" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_NODES_PULL_TIME" NUMERIC(18,0) DEFAULT 0,
    "NODES_PUSHED" NUMERIC(18,0) DEFAULT 0,
    "TOTAL_NODES_PUSH_TIME" NUMERIC(18,0) DEFAULT 0,
    "NODES_REJECTED" NUMERIC(18,0) DEFAULT 0,
    "NODES_REGISTERED" NUMERIC(18,0) DEFAULT 0,
    "NODES_LOADED" NUMERIC(18,0) DEFAULT 0,
    "NODES_DISABLED" NUMERIC(18,0) DEFAULT 0,
    "PURGED_DATA_ROWS" NUMERIC(18,0) DEFAULT 0,
    "PURGED_DATA_EVENT_ROWS" NUMERIC(18,0) DEFAULT 0,
    "PURGED_BATCH_OUTGOING_ROWS" NUMERIC(18,0) DEFAULT 0,
    "PURGED_BATCH_INCOMING_ROWS" NUMERIC(18,0) DEFAULT 0,
    "TRIGGERS_CREATED_COUNT" NUMERIC(18,0),
    "TRIGGERS_REBUILT_COUNT" NUMERIC(18,0),
    "TRIGGERS_REMOVED_COUNT" NUMERIC(18,0),
    PRIMARY KEY ("NODE_ID", "HOST_NAME", "START_TIME", "END_TIME")
)
2018-01-11 13:24:49,560 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_ND_HST_STS" ON "SYM_NODE_HOST_STATS" ("NODE_ID", "START_TIME", "END_TIME")
2018-01-11 13:24:49,563 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_IDENTITY"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    PRIMARY KEY ("NODE_ID")
)
2018-01-11 13:24:49,571 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NODE_SECURITY"(
    "NODE_ID" VARCHAR(50) NOT NULL,
    "NODE_PASSWORD" VARCHAR(50) NOT NULL,
    "REGISTRATION_ENABLED" SMALLINT DEFAULT 0,
    "REGISTRATION_TIME" TIMESTAMP,
    "INITIAL_LOAD_ENABLED" SMALLINT DEFAULT 0,
    "INITIAL_LOAD_TIME" TIMESTAMP,
    "INITIAL_LOAD_ID" NUMERIC(18,0),
    "INITIAL_LOAD_CREATE_BY" VARCHAR(255),
    "REV_INITIAL_LOAD_ENABLED" SMALLINT DEFAULT 0,
    "REV_INITIAL_LOAD_TIME" TIMESTAMP,
    "REV_INITIAL_LOAD_ID" NUMERIC(18,0),
    "REV_INITIAL_LOAD_CREATE_BY" VARCHAR(255),
    "CREATED_AT_NODE_ID" VARCHAR(50),
    PRIMARY KEY ("NODE_ID")
)
2018-01-11 13:24:49,579 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_MONITOR"(
    "MONITOR_ID" VARCHAR(128) NOT NULL,
    "NODE_GROUP_ID" VARCHAR(50) DEFAULT 'ALL' NOT NULL,
    "EXTERNAL_ID" VARCHAR(255) DEFAULT 'ALL' NOT NULL,
    "TYPE" VARCHAR(50) NOT NULL,
    "EXPRESSION" VARCHAR(4096),
    "THRESHOLD" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "RUN_PERIOD" INTEGER DEFAULT 0 NOT NULL,
    "RUN_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SEVERITY_LEVEL" INTEGER DEFAULT 0 NOT NULL,
    "ENABLED" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("MONITOR_ID")
)
2018-01-11 13:24:49,588 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_MONITOR_EVENT"(
    "MONITOR_ID" VARCHAR(128) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "EVENT_TIME" TIMESTAMP NOT NULL,
    "HOST_NAME" VARCHAR(60),
    "TYPE" VARCHAR(50) NOT NULL,
    "THRESHOLD" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "EVENT_VALUE" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "EVENT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SEVERITY_LEVEL" INTEGER DEFAULT 0 NOT NULL,
    "IS_RESOLVED" SMALLINT DEFAULT 0 NOT NULL,
    "IS_NOTIFIED" SMALLINT DEFAULT 0 NOT NULL,
    "DETAILS" VARCHAR(4096),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("MONITOR_ID", "NODE_ID", "EVENT_TIME")
)
2018-01-11 13:24:49,594 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_NOTIFICATION"(
    "NOTIFICATION_ID" VARCHAR(128) NOT NULL,
    "NODE_GROUP_ID" VARCHAR(50) DEFAULT 'ALL' NOT NULL,
    "EXTERNAL_ID" VARCHAR(255) DEFAULT 'ALL' NOT NULL,
    "SEVERITY_LEVEL" INTEGER DEFAULT 0 NOT NULL,
    "TYPE" VARCHAR(50) NOT NULL,
    "EXPRESSION" VARCHAR(4096),
    "ENABLED" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("NOTIFICATION_ID")
)
2018-01-11 13:24:49,617 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_OUTGOING_BATCH"(
    "BATCH_ID" NUMERIC(18,0) NOT NULL,
    "NODE_ID" VARCHAR(50) NOT NULL,
    "CHANNEL_ID" VARCHAR(128),
    "STATUS" CHAR(2),
    "ERROR_FLAG" SMALLINT DEFAULT 0,
    "SQL_STATE" VARCHAR(10),
    "SQL_CODE" INTEGER DEFAULT 0 NOT NULL,
    "SQL_MESSAGE" VARCHAR(4096),
    "LAST_UPDATE_HOSTNAME" VARCHAR(255),
    "LAST_UPDATE_TIME" TIMESTAMP,
    "CREATE_TIME" TIMESTAMP,
    "SUMMARY" VARCHAR(255),
    "IGNORE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "BYTE_COUNT" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "LOAD_FLAG" SMALLINT DEFAULT 0,
    "EXTRACT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SENT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "RELOAD_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "OTHER_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "DATA_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_INSERT_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_UPDATE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_DELETE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "NETWORK_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "FILTER_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "ROUTER_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "TRANSFORM_EXTRACT_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "TRANSFORM_LOAD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "LOAD_ID" NUMERIC(18,0),
    "COMMON_FLAG" SMALLINT DEFAULT 0,
    "FALLBACK_INSERT_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "FALLBACK_UPDATE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "IGNORE_ROW_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "MISSING_DELETE_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "SKIP_COUNT" INTEGER DEFAULT 0 NOT NULL,
    "TOTAL_EXTRACT_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "TOTAL_LOAD_MILLIS" INTEGER DEFAULT 0 NOT NULL,
    "EXTRACT_JOB_FLAG" SMALLINT DEFAULT 0,
    "EXTRACT_START_TIME" TIMESTAMP,
    "TRANSFER_START_TIME" TIMESTAMP,
    "LOAD_START_TIME" TIMESTAMP,
    "FAILED_DATA_ID" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "FAILED_LINE_NUMBER" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "CREATE_BY" VARCHAR(255),
    PRIMARY KEY ("BATCH_ID", "NODE_ID")
)
2018-01-11 13:24:49,621 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_OB_NODE_STATUS" ON "SYM_OUTGOING_BATCH" ("NODE_ID", "STATUS")
2018-01-11 13:24:49,623 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_OB_STATUS" ON "SYM_OUTGOING_BATCH" ("STATUS")
2018-01-11 13:24:49,626 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_OB_IN_ERROR" ON "SYM_OUTGOING_BATCH" ("ERROR_FLAG")
2018-01-11 13:24:49,631 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_PARAMETER"(
    "EXTERNAL_ID" VARCHAR(255) NOT NULL,
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "PARAM_KEY" VARCHAR(80) NOT NULL,
    "PARAM_VALUE" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("EXTERNAL_ID", "NODE_GROUP_ID", "PARAM_KEY")
)
2018-01-11 13:24:49,635 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_REGISTRATION_REDIRECT"(
    "REGISTRANT_EXTERNAL_ID" VARCHAR(255) NOT NULL,
    "REGISTRATION_NODE_ID" VARCHAR(50) NOT NULL,
    PRIMARY KEY ("REGISTRANT_EXTERNAL_ID")
)
2018-01-11 13:24:49,642 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_REGISTRATION_REQUEST"(
    "NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "EXTERNAL_ID" VARCHAR(255) NOT NULL,
    "STATUS" CHAR(2) NOT NULL,
    "HOST_NAME" VARCHAR(60) NOT NULL,
    "IP_ADDRESS" VARCHAR(50) NOT NULL,
    "ATTEMPT_COUNT" INTEGER DEFAULT 0,
    "REGISTERED_NODE_ID" VARCHAR(50),
    "ERROR_MESSAGE" VARCHAR(4096),
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("NODE_GROUP_ID", "EXTERNAL_ID", "CREATE_TIME")
)
2018-01-11 13:24:49,644 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_REG_REQ_1" ON "SYM_REGISTRATION_REQUEST" ("NODE_GROUP_ID", "EXTERNAL_ID", "STATUS", "HOST_NAME", "IP_ADDRESS")
2018-01-11 13:24:49,646 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE INDEX "SYM_IDX_REG_REQ_2" ON "SYM_REGISTRATION_REQUEST" ("STATUS")
2018-01-11 13:24:49,654 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_ROUTER"(
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "TARGET_CATALOG_NAME" VARCHAR(255),
    "TARGET_SCHEMA_NAME" VARCHAR(255),
    "TARGET_TABLE_NAME" VARCHAR(255),
    "SOURCE_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "ROUTER_TYPE" VARCHAR(50),
    "ROUTER_EXPRESSION" VARCHAR(4096),
    "SYNC_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "USE_SOURCE_CATALOG_SCHEMA" SMALLINT DEFAULT 1 NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("ROUTER_ID")
)
2018-01-11 13:24:49,661 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_SEQUENCE"(
    "SEQUENCE_NAME" VARCHAR(50) NOT NULL,
    "CURRENT_VALUE" NUMERIC(18,0) DEFAULT 0 NOT NULL,
    "INCREMENT_BY" INTEGER DEFAULT 1 NOT NULL,
    "MIN_VALUE" NUMERIC(18,0) DEFAULT 1 NOT NULL,
    "MAX_VALUE" NUMERIC(18,0) DEFAULT 9999999999 NOT NULL,
    "CYCLE_FLAG" SMALLINT DEFAULT 0,
    "CACHE_SIZE" INTEGER DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("SEQUENCE_NAME")
)
2018-01-11 13:24:49,670 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_TABLE_RELOAD_REQUEST"(
    "TARGET_NODE_ID" VARCHAR(50) NOT NULL,
    "SOURCE_NODE_ID" VARCHAR(50) NOT NULL,
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "ROUTER_ID" VARCHAR(50) NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "CREATE_TABLE" SMALLINT DEFAULT 0 NOT NULL,
    "DELETE_FIRST" SMALLINT DEFAULT 0 NOT NULL,
    "RELOAD_SELECT" VARCHAR(4096),
    "BEFORE_CUSTOM_SQL" VARCHAR(4096),
    "RELOAD_TIME" TIMESTAMP,
    "LOAD_ID" NUMERIC(18,0),
    "PROCESSED" SMALLINT DEFAULT 0 NOT NULL,
    "CHANNEL_ID" VARCHAR(128),
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    PRIMARY KEY ("TARGET_NODE_ID", "SOURCE_NODE_ID", "TRIGGER_ID", "ROUTER_ID", "CREATE_TIME")
)
2018-01-11 13:24:49,679 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_TRANSFORM_TABLE"(
    "TRANSFORM_ID" VARCHAR(50) NOT NULL,
    "SOURCE_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TARGET_NODE_GROUP_ID" VARCHAR(50) NOT NULL,
    "TRANSFORM_POINT" VARCHAR(10) NOT NULL,
    "SOURCE_CATALOG_NAME" VARCHAR(255),
    "SOURCE_SCHEMA_NAME" VARCHAR(255),
    "SOURCE_TABLE_NAME" VARCHAR(255) NOT NULL,
    "TARGET_CATALOG_NAME" VARCHAR(255),
    "TARGET_SCHEMA_NAME" VARCHAR(255),
    "TARGET_TABLE_NAME" VARCHAR(255),
    "UPDATE_FIRST" SMALLINT DEFAULT 0,
    "UPDATE_ACTION" VARCHAR(255) DEFAULT 'UPDATE_COL' NOT NULL,
    "DELETE_ACTION" VARCHAR(10) NOT NULL,
    "TRANSFORM_ORDER" INTEGER DEFAULT 1 NOT NULL,
    "COLUMN_POLICY" VARCHAR(10) DEFAULT 'SPECIFIED' NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRANSFORM_ID", "SOURCE_NODE_GROUP_ID", "TARGET_NODE_GROUP_ID")
)
2018-01-11 13:24:49,687 INFO [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL applied: CREATE TABLE "SYM_TRANSFORM_COLUMN"(
    "TRANSFORM_ID" VARCHAR(50) NOT NULL,
    "INCLUDE_ON" CHAR(1) DEFAULT '*' NOT NULL,
    "TARGET_COLUMN_NAME" VARCHAR(128) NOT NULL,
    "SOURCE_COLUMN_NAME" VARCHAR(128),
    "PK" SMALLINT DEFAULT 0,
    "TRANSFORM_TYPE" VARCHAR(50) DEFAULT 'copy',
    "TRANSFORM_EXPRESSION" VARCHAR(4096),
    "TRANSFORM_ORDER" INTEGER DEFAULT 1 NOT NULL,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRANSFORM_ID", "INCLUDE_ON", "TARGET_COLUMN_NAME")
)
2018-01-11 13:24:49,699 WARN [server] [InterbaseSymmetricDialect] [background-refresher-1] DDL failed: CREATE TABLE "SYM_TRIGGER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "SOURCE_CATALOG_NAME" VARCHAR(255),
    "SOURCE_SCHEMA_NAME" VARCHAR(255),
    "SOURCE_TABLE_NAME" VARCHAR(255) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'reload' NOT NULL,
    "SYNC_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INCOMING_BATCH" SMALLINT DEFAULT 0 NOT NULL,
    "NAME_FOR_UPDATE_TRIGGER" VARCHAR(255),
    "NAME_FOR_INSERT_TRIGGER" VARCHAR(255),
    "NAME_FOR_DELETE_TRIGGER" VARCHAR(255),
    "SYNC_ON_UPDATE_CONDITION" VARCHAR(4096),
    "SYNC_ON_INSERT_CONDITION" VARCHAR(4096),
    "SYNC_ON_DELETE_CONDITION" VARCHAR(4096),
    "CUSTOM_BEFORE_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_DELETE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_ON_DELETE_TEXT" VARCHAR(4096),
    "EXTERNAL_SELECT" VARCHAR(4096),
    "TX_ID_EXPRESSION" VARCHAR(4096),
    "CHANNEL_EXPRESSION" VARCHAR(4096),
    "EXCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "INCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "SYNC_KEY_NAMES" VARCHAR(4096),
    "USE_STREAM_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_OLD_DATA" SMALLINT DEFAULT 1 NOT NULL,
    "USE_HANDLE_KEY_UPDATES" SMALLINT DEFAULT 1 NOT NULL,
    "STREAM_ROW" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID")
)
2018-01-11 13:24:49,700 WARN [server] [JdbcSqlTemplate] [background-refresher-1] interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER. Failed to execute: CREATE TABLE "SYM_TRIGGER"(
    "TRIGGER_ID" VARCHAR(128) NOT NULL,
    "SOURCE_CATALOG_NAME" VARCHAR(255),
    "SOURCE_SCHEMA_NAME" VARCHAR(255),
    "SOURCE_TABLE_NAME" VARCHAR(255) NOT NULL,
    "CHANNEL_ID" VARCHAR(128) NOT NULL,
    "RELOAD_CHANNEL_ID" VARCHAR(128) DEFAULT 'reload' NOT NULL,
    "SYNC_ON_UPDATE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INSERT" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_DELETE" SMALLINT DEFAULT 1 NOT NULL,
    "SYNC_ON_INCOMING_BATCH" SMALLINT DEFAULT 0 NOT NULL,
    "NAME_FOR_UPDATE_TRIGGER" VARCHAR(255),
    "NAME_FOR_INSERT_TRIGGER" VARCHAR(255),
    "NAME_FOR_DELETE_TRIGGER" VARCHAR(255),
    "SYNC_ON_UPDATE_CONDITION" VARCHAR(4096),
    "SYNC_ON_INSERT_CONDITION" VARCHAR(4096),
    "SYNC_ON_DELETE_CONDITION" VARCHAR(4096),
    "CUSTOM_BEFORE_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_BEFORE_DELETE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_UPDATE_TEXT" VARCHAR(4096),
    "CUSTOM_ON_INSERT_TEXT" VARCHAR(4096),
    "CUSTOM_ON_DELETE_TEXT" VARCHAR(4096),
    "EXTERNAL_SELECT" VARCHAR(4096),
    "TX_ID_EXPRESSION" VARCHAR(4096),
    "CHANNEL_EXPRESSION" VARCHAR(4096),
    "EXCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "INCLUDED_COLUMN_NAMES" VARCHAR(4096),
    "SYNC_KEY_NAMES" VARCHAR(4096),
    "USE_STREAM_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_LOBS" SMALLINT DEFAULT 0 NOT NULL,
    "USE_CAPTURE_OLD_DATA" SMALLINT DEFAULT 1 NOT NULL,
    "USE_HANDLE_KEY_UPDATES" SMALLINT DEFAULT 1 NOT NULL,
    "STREAM_ROW" SMALLINT DEFAULT 0 NOT NULL,
    "CREATE_TIME" TIMESTAMP NOT NULL,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP NOT NULL,
    "DESCRIPTION" VARCHAR(4096),
    PRIMARY KEY ("TRIGGER_ID")
)
2018-01-11 13:24:49,701 ERROR [server] [AbstractSymmetricEngine] [background-refresher-1] An error occurred while starting SymmetricDS StackTraceKey.init [SqlException:4262246999]
org.jumpmind.db.sql.SqlException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:528)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:159)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:495)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:469)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:637)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:628)
    at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:258)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder.install(SymmetricEngineHolder.java:412)
    at com.jumpmind.symmetric.console.ui.a.c.a.t(AbstractWizardScreen.java:149)
    at com.jumpmind.symmetric.console.ui.a.c.p$a.doWork(SummaryScreen.java:68)
    at com.jumpmind.symmetric.console.ui.common.InProgressDialog$2.onBackgroundDataRefresh(InProgressDialog.java:99)
    at com.jumpmind.symmetric.console.ui.a.a(BackgroundRefresherService.java:97)
    at com.jumpmind.symmetric.console.ui.a$3.run(BackgroundRefresherService.java:140)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER
    at interbase.interclient.Connection.remote_COMMIT(Unknown Source)
    at interbase.interclient.Connection.setAutoCommit(Unknown Source)
    at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:472)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
    ... 22 more
2018-01-11 13:24:49,702 INFO [server] [AbstractSymmetricEngine] [background-refresher-1] Stopping SymmetricDS externalId=server version=3.9.2 database=InterBase
2018-01-11 13:24:49,702 INFO [server] [AbstractSymmetricEngine] [background-refresher-1]
2018-01-11 13:24:49,716 ERROR [server] [a] [background-refresher-1] Exception while refreshing class com.jumpmind.symmetric.console.ui.common.InProgressDialog$2 StackTraceKey.init [SqlException:29683552]
org.jumpmind.db.sql.SqlException: [interclient][interbase]Dynamic SQL Error
[interclient][interbase]SQL error code = -204
[interclient][interbase]Table unknown
[interclient][interbase]SYM_CONSOLE_USER
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:342)
    at org.jumpmind.db.sql.AbstractSqlTemplate.update(AbstractSqlTemplate.java:224)
    at com.jumpmind.symmetric.console.service.impl.ConsoleUserService.save(ConsoleUserService.java:112)
    at com.jumpmind.symmetric.console.ui.a.c.p.u(SummaryScreen.java:60)
    at com.jumpmind.symmetric.console.ui.a.c.a.t(AbstractWizardScreen.java:160)
    at com.jumpmind.symmetric.console.ui.a.c.p$a.doWork(SummaryScreen.java:68)
    at com.jumpmind.symmetric.console.ui.common.InProgressDialog$2.onBackgroundDataRefresh(InProgressDialog.java:99)
    at com.jumpmind.symmetric.console.ui.a.a(BackgroundRefresherService.java:97)
    at com.jumpmind.symmetric.console.ui.a$3.run(BackgroundRefresherService.java:140)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: [interclient][interbase]Dynamic SQL Error
[interclient][interbase]SQL error code = -204
[interclient][interbase]Table unknown
[interclient][interbase]SYM_CONSOLE_USER
    at interbase.interclient.PreparedStatement.remote_PREPARE_STATEMENT(Unknown Source)
    at interbase.interclient.PreparedStatement.<init>(Unknown Source)
    at interbase.interclient.Connection.prepareStatement(Unknown Source)
    at interbase.interclient.Connection.prepareStatement(Unknown Source)
    at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
    at org.jumpmind.db.sql.JdbcSqlTemplate$5.execute(JdbcSqlTemplate.java:364)
    at org.jumpmind.db.sql.JdbcSqlTemplate$5.execute(JdbcSqlTemplate.java:342)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
    ... 16 more
2018-01-11 13:24:59,711 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey.init [SqlException:639049808]
org.jumpmind.db.sql.SqlException: Failed to execute sql: select monitor_id, node_id, event_time, "TYPE", event_value, event_count, threshold, severity_level, host_name, is_resolved, is_notified, details, last_update_time from sym_monitor_event where severity_level >= ? and is_resolved = ? order by event_time desc
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:120)
    at org.jumpmind.db.sql.JdbcSqlTemplate.queryForCursor(JdbcSqlTemplate.java:140)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:199)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:195)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:150)
    at org.jumpmind.symmetric.service.impl.MonitorService.getMonitorEventsFiltered(MonitorService.java:327)
    at com.jumpmind.symmetric.console.ui.b.a(MainWindow.java:1001)
    at com.jumpmind.symmetric.console.ui.b$a.a(MainWindow.java:1452)
    at com.jumpmind.symmetric.console.ui.b$a.onBackgroundDataRefresh(MainWindow.java:1448)
    at com.jumpmind.symmetric.console.ui.a.a(BackgroundRefresherService.java:97)
    at com.jumpmind.symmetric.console.ui.a$1.run(BackgroundRefresherService.java:81)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 67602 bytes is too big
[interclient][interbase]TABLE SYM_TRIGGER
    at interbase.interclient.Connection.remote_COMMIT(Unknown Source)
    at interbase.interclient.Connection$TransactionProperties.setIsolation(Unknown Source)
    at interbase.interclient.Connection$TransactionProperties.access$400(Unknown Source)
    at interbase.interclient.Connection.setTransactionIsolation(Unknown Source)
    at org.apache.commons.dbcp.DelegatingConnection.setTransactionIsolation(DelegatingConnection.java:380)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setTransactionIsolation(PoolingDataSource.java:343)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:81)
    ... 18 more
2018-01-11 13:25:09,716 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:25:19,722 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:25:29,726 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:25:39,731 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:25:49,736 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:25:59,741 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:09,746 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:19,751 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:29,757 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:39,762 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:49,768 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:26:59,774 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:09,780 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:19,785 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:29,791 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:39,795 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:49,801 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:27:59,806 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:28:09,810 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:28:19,815 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
2018-01-11 13:28:29,821 ERROR [server] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.b$a StackTraceKey [SqlException:639049808]
(0001166)
gilles.riand   
2018-04-24 08:26   
>>> new record size of 67602 bytes is too big

http://docwiki.embarcadero.com/InterBase/2017/en/Various_InterBase_Limits

For Interbase

Maximum row size
64KB. Each Blob and array contributes eight bytes to this limit in the form of their Blob handle.
Systems tables (tables maintained by the InterBase engine for system data) have a row size limit of 128KB.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3309 [SymmetricDS] Bug block unable to reproduce 2017-11-10 04:11 2018-10-17 10:10
Reporter: sunil.mali Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: feedback Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: [main] - DataLoaderService - Failed while parsing batch java.lang.NullPointerException
Description: Hi,
I am getting this error

[main] - DataLoaderService - Failed while parsing batch
java.lang.NullPointerException
        at org.jumpmind.symmetric.io.data.writer.SimpleStagingDataWriter.writeLine(SimpleStagingDataWriter.java:218)
        at org.jumpmind.symmetric.io.data.writer.SimpleStagingDataWriter.process(SimpleStagingDataWriter.java:179)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:500)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPush(DataLoaderService.java:384)
        at org.jumpmind.symmetric.web.PushUriHandler.push(PushUriHandler.java:83)
        at org.jumpmind.symmetric.web.PushUriHandler.handle(PushUriHandler.java:68)
        at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)


Everything was working fine till 5th Nov 2017.
on 6th nov my m/c got shutdown abruptly. Since that time the data not getting pushed to main server from slave server.
PLease suggest steps or solution to solve this problem .

Thanks
Sunil Mali
Steps To Reproduce:
Additional Information: M/c got shutdown abruptly. Windows 7 is the OS
Attached Files:
Notes
(0001077)
sunil.mali   
2017-11-10 04:12   
Database we are using is mysql
(0001277)
hanes   
2018-10-17 10:10   
Are you still observing this issue in the most recent version of 3.8? We'd need to know more details about the batch itself to be able recreate.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3545 [SymmetricDS] Bug minor always 2018-05-04 08:54 2018-10-17 09:22
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Mapped default values lead to always detecting a model change
Description: If you have a default value which gets mapped to a different value on a different dialect you always get a model change detection.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001267)
hanes   
2018-10-10 14:12   
Can you perhaps provide an example that would allow us to reproduce this issue? For example, source database platform, target database platform, and table definitions.
(0001270)
woehrl01   
2018-10-11 04:38   
I commented about a reproduction here: https://github.com/JumpMind/symmetric-ds/pull/80

You can simply check this if you have Oracle Database with SYSTIMESTAMP or SYSDATE default on the source and a Sqlite Database on the client.

e.g:

create table employee_history
        ( employee_id number(6) not null,
          hire_date date default sysdate
        )

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3760 [SymmetricDS] Bug minor have not tried 2018-10-16 12:52 2018-10-16 12:52
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: Symmetric startup is very slow when there are lots of staging files on a SAN
Description: Symmetric startup is very slow (30mins to 1 hour timeframe) when there are lots of files on a slower SAN kind of storage. Need to see if we can eliminate cases where we list all the files in staging as that seems to be what takes all the time.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3758 [SymmetricDS] Improvement minor have not tried 2018-10-15 16:03 2018-10-15 17:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.41  
Summary: Allow override of Symmetric web home (which defaults to '/')
Description: Allow override of Symmetric web home to support backward compatibility of systems which use a different web home, like http://server:8080/SymmetricDS/sync

Just changing the web.xml doesn't quite work for the vaadin UI.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3521 [SymmetricDS] Bug crash always 2018-04-18 05:17 2018-10-15 16:33
Reporter: ddlg_2 Platform:  
Assigned To: josh-a-hicks OS:  
Priority: urgent OS Version:  
Status: resolved Product Version: 3.9.6  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Create Table First is creating table with all columns as primary key instead of none
Description: In the case of source_node_database_tables do not have any primary keys and some fields of the source_node_database_tables are empty, target_node_database_tables are created successfully when initial load firstly, but Symmetric can not insert automatically values into target_node_database_tables.

part of target_node symmetric.log:

2018-04-18 15:37:41,006 INFO [server-010] [DefaultDatabaseWriter] [server-010-dataloader-2] Failed to process insert event in batch 001-12 on channel 'reload'.
Failed sql was: insert into `test`.`jc_ckdd` (`ckdd_id`, `ckdd_bh`, `ckdd_dd`, `ckdd_cjsj`, `ckdd_by1`, `id`) values (?,?,?,?,?,?)
Failed sql parameters: ['1', '0021001AD6C3', '??13#???', {ts '2018-01-28 16:09:43.000'}, '7896', null]
Failed sql parameters types: [VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, VARCHAR, BIGINT]
Failed sql state and code: 23000 (1048)
Failed row data was: "1","0021001AD6C3","??13#???","2018-01-28 16:09:43","7896",
 StackTraceKey.init [SqlException:2774797739]
org.jumpmind.db.sql.SqlException: Column 'id' cannot be null
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:478)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:865)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:202)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:206)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:1029)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:991)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

part of source_node symmetric.log:

2018-04-18 15:37:36,668 INFO [client1-001] [PushService] [client1-001-push-default-10] Push data sent to server:010:010
2018-04-18 15:37:40,139 INFO [client1-001] [PushService] [client1-001-push-default-10] Pushed data to node server:010:010. 6 data and 6 batches were processed. (sym_node_security, sym_node, jc_lfyhis, jc_ckdd, jc_lfy, jc_ckdw)
2018-04-18 15:37:40,139 INFO [client1-001] [PushService] [client1-001-push-default-10] Pushing to server:010:010 again because the last push contained reload batches
2018-04-18 15:37:40,315 INFO [client1-001] [PushService] [client1-001-push-default-10] Push data sent to server:010:010
2018-04-18 15:37:41,347 ERROR [client1-001] [AcknowledgeService] [client1-001-push-default-10] The outgoing batch 010-12 failed: [23000,1048] Column 'id' cannot be null

I have uploaded the symmetric.log
Steps To Reproduce: source node:
1.Oracle database type
2.Tables of needing to synchronzie do not have any primary keys and some fields of the tables are empty in the oracle database

target node:
1.MariaDB/MySQL database type
2.in the MariaDB/MySQL database, it has not the source_node_database_tables of needing to synchronzie
Additional Information:
Attached Files: symmetricSource.log (607,330 bytes) 2018-04-18 05:20
http://www.symmetricds.org/issues/file_download.php?file_id=152&type=bug
symmetricTarget.log (358,785 bytes) 2018-04-18 05:20
http://www.symmetricds.org/issues/file_download.php?file_id=153&type=bug
Notes
(0001164)
elong   
2018-04-18 11:51   
You tried to sync a null value to the "id" column, which is defined as not nullable, so the database rejects the row. What did you expect to happen?
(0001165)
ddlg_2   
2018-04-18 21:18   
Thanks for the quick response!

In the case of source tables(need to sync) do not have any primary keys and some columns are null, I want to sync a null value to the "id" column or other column,which is defined as nullable, can you reach it?

In the case, I know that symmetric will create primary key for each filed of target tables when the symmetric create target table .

Regards,
ddlg_2
(0001252)
hanes   
2018-10-03 13:20   
Will change the default behavior in 3.10.

If a table does not have a PK SymmetricDS will try to create a target table with all columns used in the PK. This allows
loads to run multiple times without duplicate data. The first time would insert, additional runs would fall back to updates and
since the target has a PK now it will not duplicate. In your case though you have tables with too large of columns to use all cols
in PK. You can set the following parameter to create the target without PKs as the source. However you will need to use the delete first
on the table reload request to ensure every time data is loaded into the target it is deleted or truncated so that duplicates to not occur.

Make this the default going forward:

create.table.without.pk.if.source.without.pk=true

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3757 [SymmetricDS] Improvement minor have not tried 2018-10-12 15:19 2018-10-12 15:25
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Stream LOB uses multiple queries per row when a table has multiple LOB columns
Description: When the sym_trigger.stream_lob = 1 feature is enabled, it will query the LOB columns during extraction, but it runs a query for each LOB column. A table with multiple LOB columns will be penalized with multiple queries. Query all LOB columns once for each row.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3377 [SymmetricDS] Bug block always 2018-01-17 10:07 2018-10-12 15:00
Reporter: lmgaborit Platform:  
Assigned To: maxwellpettit OS:  
Priority: urgent OS Version:  
Status: resolved Product Version: 3.9.2  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.15  
    Target Version:  
Summary: Android SQLite Register NullPointerException
Description: Hi,

When I want to register a node with SymmetricDS 3.9.2, I have this stacktrace in Logcat and this message : "Could not register".

It's the same issue with SymmetricDS 3.9.1 but it works with SymmetricDS 3.9.0.

Thanks,
Steps To Reproduce:
Additional Information: 01-17 16:05:00.532 7542-7618/fr.eclasel.adp.mobile E/o*.j*.s*.s*.i*.ManageI*: An error caused a batch to fail without attempting to load data for batch 000--9999
                                                                              java.lang.NullPointerException: Attempt to invoke interface method 'org.jumpmind.db.sql.ISqlTemplate org.jumpmind.db.platform.IDatabasePlatform.getSqlTemplate()' on a null object reference
                                                                                  at org.jumpmind.symmetric.io.data.writer.DynamicDefaultDatabaseWriter.open(DynamicDefaultDatabaseWriter.java:113)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.open(NestedDataWriter.java:44)
                                                                                  at org.jumpmind.symmetric.model.ProcessInfoDataWriter.open(ProcessInfoDataWriter.java:47)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.open(NestedDataWriter.java:44)
                                                                                  at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:104)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:605)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:296)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:253)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.attemptToRegisterWithServer(RegistrationService.java:467)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:443)
                                                                                  at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:89)
                                                                                  at org.jumpmind.symmetric.AbstractSymmetricEngine.pull(AbstractSymmetricEngine.java:901)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.invoke(AndroidJobManager.java:176)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.run(AndroidJobManager.java:127)
                                                                                  at java.util.Timer$TimerImpl.run(Timer.java:284)
01-17 16:05:00.535 7542-7618/fr.eclasel.adp.mobile E/o*.j*.s*.s*.i*.ManageI*: Failed to load batch 000--9999
                                                                              java.lang.NullPointerException: Attempt to invoke interface method 'org.jumpmind.db.sql.ISqlTemplate org.jumpmind.db.platform.IDatabasePlatform.getSqlTemplate()' on a null object reference
                                                                                  at org.jumpmind.symmetric.io.data.writer.DynamicDefaultDatabaseWriter.open(DynamicDefaultDatabaseWriter.java:113)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.open(NestedDataWriter.java:44)
                                                                                  at org.jumpmind.symmetric.model.ProcessInfoDataWriter.open(ProcessInfoDataWriter.java:47)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.open(NestedDataWriter.java:44)
                                                                                  at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:104)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:605)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:296)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:253)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.attemptToRegisterWithServer(RegistrationService.java:467)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:443)
                                                                                  at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:89)
                                                                                  at org.jumpmind.symmetric.AbstractSymmetricEngine.pull(AbstractSymmetricEngine.java:901)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.invoke(AndroidJobManager.java:176)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.run(AndroidJobManager.java:127)
                                                                                  at java.util.Timer$TimerImpl.run(Timer.java:284)
01-17 16:05:00.552 7542-7618/fr.eclasel.adp.mobile E/o*.j*.s*.s*.i*.DataLoa*: Failed to process batch
                                                                              java.lang.NullPointerException: Attempt to invoke virtual method 'long org.jumpmind.util.Statistics.stopTimer(java.lang.String)' on a null object reference
                                                                                  at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.rollback(DefaultDatabaseWriter.java:178)
                                                                                  at org.jumpmind.symmetric.io.data.writer.DynamicDefaultDatabaseWriter.rollback(DynamicDefaultDatabaseWriter.java:146)
                                                                                  at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.end(AbstractDatabaseWriter.java:511)
                                                                                  at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.end(DefaultDatabaseWriter.java:140)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
                                                                                  at org.jumpmind.symmetric.model.ProcessInfoDataWriter.end(ProcessInfoDataWriter.java:77)
                                                                                  at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.end(NestedDataWriter.java:72)
                                                                                  at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:140)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:605)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:296)
                                                                                  at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:253)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.attemptToRegisterWithServer(RegistrationService.java:467)
                                                                                  at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:443)
                                                                                  at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:89)
                                                                                  at org.jumpmind.symmetric.AbstractSymmetricEngine.pull(AbstractSymmetricEngine.java:901)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.invoke(AndroidJobManager.java:176)
                                                                                  at org.jumpmind.symmetric.android.AndroidJobManager$Job.run(AndroidJobManager.java:127)
                                                                                  at java.util.Timer$TimerImpl.run(Timer.java:284)
Attached Files:
Notes
(0001253)
hanes   
2018-10-03 13:21   
Can you try this in 3.9.13 and let us know if it's still an issue?
(0001257)
pilber   
2018-10-05 14:51   
3.9.13 and 3.9.14 showing pretty the same output on Logcat, log pasted below.

I arrived there fresh installing 3.9.13 on Windows 10 and following succesfully the demo https://www.symmetricds.org/doc/3.9/html/tutorials.html

And after that following the chapter 7.2 Embedding in android from users guide
https://www.symmetricds.org/doc/3.9/html/user-guide.html#_embedding_in_android
which didn't worked as-is and had to find workarounds: (*You may consider extending the tutorial with a Quick start Demo With Android)
-first copying the libs folder with a bit of uncertainity of the best practice to do it and Android Studio didn't recognized it at first, also at the end of test trying to make it work with 3.9.13, when changing to 3.9.14 jars has to delete the build folder to erase older references.
-second was the reference not found of import org.apache.commons.lang.StringUtils; in MainActivity.java, so I inserted on build.gradle (Module: app): implementation 'commons-lang:commons-lang:2.6' (following this https://stackoverflow.com/questions/32835143/how-to-add-org-apache-commons-lang3-to-androidstudio-with-gradle )
-third was being unsure if the node should be a new-node relating to the three nodes preconfigured in the demo (corp-000 store-001 store-002) or should point to one of the two stores (like if the server was going to keep a database specific for that android device sinchronized 1-1 with it) - this point should look trivial to most existing Symmetricds users but it is not to new users. So several combinations.
-fourth, appeared in logcat the confilicting parameters thing (yes confilicting) that here says it was corrected https://www.symmetricds.org/issues/view.php?id=3626 (but it wasn't or at least a regression occurs in 3.9.13), so had to add
properties.put("stream.to.file.enabled", "true");
-fifth, the problem of this issue, also posted here (also with the fourth one):
https://sourceforge.net/p/symmetricds/discussion/1354726/thread/1925d716/
I couldn't workaround this one, so I'm stuck here. I hope these informations helps you to find the problem.
I also looked at the sources but couldn't find very much.
The code that produces the exception is symmetricDialect.getTargetPlatform().getClass() with targetPlatform being null apparently.
I see targetPlatform implemented in 3.9 https://github.com/JumpMind/symmetric-ds/blob/3.9/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractSymmetricDialect.java
Only reference found on Github to setTargetPlatform is in:
https://github.com/JumpMind/symmetric-ds/blob/3.9/symmetric-client/src/main/java/org/jumpmind/symmetric/ClientSymmetricEngine.java
ClientSymmetricEngine extends AbstractSymmetricEngine as AndroidSymmetricEngine do, but this last don't appear to call setTargetPlatform
https://github.com/JumpMind/symmetric-ds/blob/3.9/symmetric-android/src/main/java/org/jumpmind/symmetric/android/AndroidSymmetricEngine.java

Thanks for your efforts.
---------------------------------------------------------
10-05 13:53:36.001 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.Registr*: Could not register. Sleeping for 26000ms before attempting again.
10-05 13:54:02.003 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.Registr*: This node is unregistered. It will attempt to register using the registration.url
10-05 13:54:02.012 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.DataLoa*: Using registration URL of http://192.168.5.99:31415/sync/corp-000/registration?nodeGroupId=store&externalId=004&syncURL=http%3A%2F%2Flocalhost%3A31415%2Fsync%2Fcorp-000&schemaVersion=%3F&databaseType=sqlite&databaseVersion=2.0&symmetricVersion=development&deploymentType=android&hostName=localhost&ipAddress=10.0.2.15
10-05 13:54:02.122 1633-1799/org.jumpmind.symmetric.symmetricandroidclientdemo W/o*.j*.s*.s*.StatisticM*: Starting a new process even though the previous 'Database Pull Load' process had not finished
10-05 13:54:02.123 1633-1799/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.StatisticM*: Details from the previous process: processType=Database Pull Load,sourceNodeId=null,targetNodeId=null,queue=,status=Loading,startTime=Fri Oct 05 13:53:35 EDT 2018
10-05 13:54:02.128 1633-1799/org.jumpmind.symmetric.symmetricandroidclientdemo E/o*.j*.s*.s*.i*.ManageI*: An error caused a batch to fail without attempting to load data for batch 000--9999
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
        at org.jumpmind.symmetric.load.DefaultDataLoaderFactory.getDataWriter(DefaultDataLoaderFactory.java:72)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.buildDataWriter(DataLoaderService.java:721)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2$1.chooseDataWriter(DataLoaderService.java:1036)
        at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:101)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
    Failed to load batch 000--9999
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
        at org.jumpmind.symmetric.load.DefaultDataLoaderFactory.getDataWriter(DefaultDataLoaderFactory.java:72)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.buildDataWriter(DataLoaderService.java:721)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2$1.chooseDataWriter(DataLoaderService.java:1036)
        at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:101)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
10-05 13:54:02.130 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo E/o*.j*.s*.s*.i*.DataLoa*: Failed to process batch
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
        at org.jumpmind.symmetric.load.DefaultDataLoaderFactory.getDataWriter(DefaultDataLoaderFactory.java:72)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.buildDataWriter(DataLoaderService.java:721)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2$1.chooseDataWriter(DataLoaderService.java:1036)
        at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:101)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1016)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
10-05 13:54:02.135 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.Registr*: Could not register. Sleeping for 29000ms before attempting again.
10-05 13:54:31.137 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.Registr*: This node is unregistered. It will attempt to register using the registration.url
10-05 13:54:31.145 1633-1666/org.jumpmind.symmetric.symmetricandroidclientdemo I/o*.j*.s*.s*.i*.DataLoa*: Using registration URL of http://192.168.5.99:31415/sync/corp-000/registration?nodeGroupId=store&externalId=004&syncURL=http%3A%2F%2Flocalhost%3A31415%2Fsync%2Fcorp-000&schemaVersion=%3F&databaseType=sqlite&databaseVersion=2.0&symmetricVersion=development&deploymentType=android&hostName=localhost&ipAddress=10.0.2.15
...
(0001268)
hanes   
2018-10-10 14:42   
What version of Java are you using?
(0001269)
pilber   
2018-10-10 17:06   
Here:
E:\symmetric-server-3.9.13>java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
(0001273)
maxwellpettit   
2018-10-12 14:52   
(Last edited: 2018-10-12 14:53)
I have committed changes for the workarounds mentioned in the demo: https://github.com/JumpMind/symmetric-android-client-demo/commit/48e94a6f6ad8f5fab048320272ac0fd6a6d08e3e

However, these workarounds do not resolve the null pointer exception.

These issues (including the null pointer) will all be fixed with the 3.9.15 release. You can also clone the latest symmetric-ds GitHub repository and generate the android libraries directory manually. To do this, clone the symmetric-ds repository and run the command:

symmetric-ds/symmetric-assemble/gradlew androidDistZip

This will generate the libraries in an archive in symmetric-ds/symmetric-android/build/distributions


View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3756 [SymmetricDS] Improvement minor have not tried 2018-10-12 14:45 2018-10-12 14:46
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Change authentication failed from 403 to 659
Description: Stop using 403 when the node's password doesn't match, because it's the same HTTP code used by web servers and proxy servers to mean forbidden. Use 659 as a custom HTTP code that means the node password doesn't match. The log will read:

[WARN] Authorization denied

And a 403 will show in the log like this:

[ERROR] Received an unexpected response code of 403 from the server

Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3748 [SymmetricDS] Bug minor have not tried 2018-10-06 12:20 2018-10-12 14:25
Reporter: dadancop Platform:  
Assigned To: elong OS:  
Priority: urgent OS Version:  
Status: resolved Product Version: 3.9.14  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: Batch was not complete
Description: [From elong: re-opening issue to fix in 3.10. A batch can be corrupted on either sending or receiving side, which gets an error as "batch was not complete". We can clear the file from staging when we get that error, which should let it automatically recover.]

Before this, my symmetric run well on windows 2012
But after i restart server i get error like this :

2018-10-06 22:36:57,544 ERROR [corp-000] [ManageIncomingBatchListener] [corp-000-dataloader-19123] Failed to load batch global-8401 StackTraceKey [ProtocolException:3090605812]
2018-10-06 22:36:57,560 ERROR [corp-000] [DataLoaderService] [qtp1877453512-29] Failed to process batch StackTraceKey [ProtocolException:3090605812]
2018-10-06 22:36:57,732 ERROR [global] [AcknowledgeService] [global-push-default-7] The outgoing batch 000-8401 failed: The batch global-8401 was not complete
2018-10-06 22:37:00,341 INFO [corp-000] [IncomingBatchService] [corp-000-dataloader-19126] Retrying batch global-8401
2018-10-06 22:37:00,559 INFO [global] [DataExtractorService] [global-push-default-8] Reached the total byte threshold for initial load after 36 of 60 batches were sent for node '000' (sent 524792539 bytes, the max is 524288000). The remaining batches will be send on a subsequent sync.
2018-10-06 22:37:00,559 INFO [global] [PushService] [global-push-default-8] Push data sent to corp:000:000
2018-10-06 22:37:05,154 INFO [corp-000] [IncomingBatchService] [corp-000-dataloader-19127] Retrying batch idempierewh-3832
2018-10-06 22:37:05,248 ERROR [corp-000] [ManageIncomingBatchListener] [corp-000-dataloader-19127] Failed to load batch idempierewh-3832 StackTraceKey [ProtocolException:250523011]
2018-10-06 22:37:05,514 INFO [idempierewh] [PushService] [idempierewh-push-default-10] Push data sent to corp:000:000
2018-10-06 22:37:05,514 ERROR [corp-000] [DataLoaderService] [qtp1877453512-22] Failed to process batch StackTraceKey [ProtocolException:250523011]
2018-10-06 22:37:05,529 ERROR [idempierewh] [AcknowledgeService] [idempierewh-push-default-10] The outgoing batch 000-3832 failed: The batch idempierewh-3832 was not compl

What does cause it ?
Steps To Reproduce: Using demo, stop the store's pull job. Change an item at corp. View the batch CSV from Outgoing Batches. Find the batch csv file in tmp/corp-000/outgoing/123.csv and edit it. Modify the file to corrupt it. Run the store's pull job manually.

Corruption scenarios:
1. Choose a line to remove until the end of the file
2. Start removing in the middle of a line, like an insert, update, or delete
Additional Information:
Attached Files:
Notes
(0001258)
elong   
2018-10-06 12:31   
Is this Oracle? If the row size exceeds 4K, you will get that error. You can set sym_channel.contains_big_lobs = 1 to work around it.
(0001259)
dadancop   
2018-10-06 12:39   
HI, ..this is postgres.
(0001260)
dadancop   
2018-10-06 12:48   
i hava changed the contain_big_lobs to 1, but the error still exists.
(0001261)
elong   
2018-10-06 15:58   
Try stopping SymmetricDS, delete all the files from its "tmp" directory, then start again. (I'm wondering if there is a corrupted file in staging area.)
(0001262)
dadancop   
2018-10-06 23:19   
Thank you, elong. After delete the tmp directory. It Solved.
(0001272)
elong   
2018-10-12 14:25   
Committed fix to 3.10

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3751 [SymmetricDS] New Feature minor have not tried 2018-10-10 15:18 2018-10-10 15:23
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.10.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.10.0  
    Target Version: 3.10.0  
Summary: PostgreSQL 9.5 and newer can use "insert on conflict do nothing" for better performance
Description: On PostgreSQL 9.5 and newer, take advantage of the "insert on conflict do nothing" syntax to get better performance on inserts. It currently uses "insert into table (...) select ... from table where ..." to make sure the row doesn't exist before inserting. This makes it possible to get 0 rows affected, so it knows to fall back to an update statement. But the extra "select" is slower than an ordinary "insert". The reason an ordinary "insert" statement can't be used is because it will get a unique key violation, which rolls back the transaction. The "insert on conflict do nothing" solves the problem by return 0 rows affected without a violation that rolls back the transaction.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3704 [SymmetricDS] Bug minor always 2018-09-05 12:57 2018-10-10 14:10
Reporter: hanes Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.12  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Documentation fix: Monitor Events sync on the monitor channel, not the heartbeat channel
Description: In the User's Guide, Section 5.13, the text indicates that the Monitor Events sync on the heartbeat channel. In practice, they seem instead to sync on a "monitor" channel.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3647 [SymmetricDS] Bug minor always 2018-07-25 16:26 2018-10-10 14:09
Reporter: mstoute Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: confirmed Product Version: 3.9.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: dbcompare: unclear error for duplicate table names in source tables argument
Description: When running dbcompare from the commandline, with a duplicated table name in source tables argument yields the error "org.jumpmind.symmetric.SymmetricException: Source table names must be the same length as the list of target table names."

This is misleading as the source_tables and target_tables arguments were in fact the same length. A clearer error message could be 'duplicate table name detected in argument source_tables: <table_name>'.

In the Error mesage in steps to reproduce, the last line shows table 'x' four times, but it was only provided twice. This explains the resulting 'Not Same Length' exception message. The fact that table 'x' has doubled here may be alarming (inadvertent loop).

In a large list (100's) of tables with a single duplicate table name, the cause is much harder to spot, and a clearer error message would be very helpful.
Steps To Reproduce: With dbcompare.properties like:
source_tables=x,a,b,c,d,x
target_tables=x,a,b,c,d,x

and valid source/target configuration, running dbcompare yields:



SymmetricDS_dbcompare] - DbCompare - Starting DBCompare with config:
    sourceTableNames=[x, a, b, c, d, x] @dbcompare.properties
    targetTableNames=[x, a, b, c, d, x] @dbcompare.properties
    excludedTableNames=null @default
    useSymmetricConfig=false @default
    numericScale=3 @default
    whereClauses={}@default
    tablesToExcludedColumns={} @default
    outputSql=null @null

-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
org.jumpmind.symmetric.SymmetricException: Source table names must be the same length as the list of target table names. Check your arguments. source table names = [x, x, a, b, c, d, x, x] target table names = [x, a, b, c, d, x]
Additional Information:
Attached Files:
Notes
(0001241)
hanes   
2018-09-19 10:58   
Confirmed issue. Error message also duplicates the duplicate table name too (strangely enough) as bug reported showed in the error message

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3726 [SymmetricDS] Bug minor have not tried 2018-09-18 12:11 2018-10-10 14:08
Reporter: josh-a-hicks Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Table reload requests that use %s for table replacement are not quoted if needed
Description: While requesting a delete first or truncate first load the wildcard to replace table %s does replace with a fully qualified table name (catalog.schema.table) but does not quote it if necessary. The Table.java getter for the fully qualified name does provide the proper logic but the load events do not.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001265)
hanes   
2018-10-10 09:50   
Per Josh, confirmed.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3489 [SymmetricDS Pro] Improvement minor have not tried 2018-03-13 14:13 2018-10-10 14:07
Reporter: nrichardson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.5  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Upgrade Swagger to latest version
Description: Upgrade Swagger to latest version
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3709 [SymmetricDS] Improvement feature N/A 2018-09-05 19:00 2018-10-03 17:06
Reporter: admin Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.14  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Support row-by-row stream lob for DB2
Description: There is currently a 16k limit for BLOB and 32k limit for CLOB on DB2. This feature will capture and/or send LOB data when they are within the result set limit, and stream the LOB (i.e. query the table directly for the LOB) when it is above the limit, on a row by row basis. This can avoid the stream LOB overhead until it's needed, which helps with performance.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3422 [SymmetricDS] Task major always 2018-02-14 09:52 2018-10-03 14:47
Reporter: anthony.vitale@sonymusic.com Platform:  
Assigned To: hanes OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Using sym_table_reload_request in 3.9.2 does not work as it did in version 3.7.2
Description: Hello

We have used Version 3.7.2 successfully for quite some time.

We Just Upgraded to version 3.9.2

In version 3.7.2 I used the sym_table_reload_request table quite alot to re-sync data from source to target when I found some imbalance in a table.

An Example of what I would do in 3.7.2 to as example reload a table called client_object_map which has a trigger_id of gras_trig_client_object_map

I Would Run this in the Source Database.

insert into sym_table_reload_request (target_node_id, source_node_id, trigger_id, router_id, reload_select, reload_delete_stmt, reload_enabled, create_time, last_update_time)
values ('001','000','gras_trig_client_object_map','gras_router',null,null,1,current_timestamp,current_timestamp);

Source_node_id = 000 is my Source DB.
target_node_id = 001 is my Target DB
Trigger_id = gras_trig_client_object_map which is my client_object_map table.
router_id = gras_router (this is an established Router.
reload_enabled = 1 would start the process.

And The Normal Action is I would insert it, and it would immediately begin to process (I would see it in the logs) and the Row within the sym_table_reload_request would be deleted and Life was Great.

Within 3.9.2 I see that the sym_table_reload_request has gone thru some changes.

So I tried this with the following Sql.

insert into sym_table_reload_request
(target_node_id, source_node_id, trigger_id, router_id, create_time, last_update_time)
values ('001','000','gras_trig_client_object_map','gras_router', current_timestamp, current_timestamp);


Yet This Time, The Row Remains within the sym_table_reload_request , and The processed bit immediately Goes to a 1

In The Log I see this within the log (Notate the Unable to resolve messages), And Yes within the Source DB the table client_object_map has the parents client_systems, request_entities and requests)

Yet, All 3 of them are in Sync between Source and Target, NOR have I asked to Reload them.

I See No added activity within the sym_data table except for activity related to the actual sym_table_reload_request itself which is going across on the config channel

And I do not see any activity to the Target DB related to inserts on the missing nor any data.

So I am Perplexed, This Worked Great in 3.7.2, Now I cannot seem to get it to work in 3.9.2.

Is this a Bug, Or an I doing it wrong.

Please let me know what you see related to what I write as Using the table_reload_request facility for a table is very important to me.

[amp-000] - RouterService - Found 1 table reload requests to process.
[amp-000] - DataService - Queueing up a load to node 001
[amp-000] - Database - Unable to resolve foreign keys for table client_object_map because the following dependent tables were not included [client_systemsrequest_entitiesrequests].
[amp-000] - Database - Unable to resolve foreign keys for table client_object_map because the following dependent tables were not included [client_systemsrequest_entitiesrequests].
[amp-000] - Database - Unable to resolve foreign keys for table client_object_map because the following dependent tables were not included [client_systemsrequest_entitiesrequests].
[amp-000] - DataService - Table reload request(s) for load id 4 have been processed.
[amp-000] - PurgeService - Purged all 0 incoming batch for node 001

Steps To Reproduce: Please See Description.
Additional Information:
Attached Files: SymDS_Query_Sym_tables_for_reload_request.txt (19,686 bytes) 2018-02-14 17:12
http://www.symmetricds.org/issues/file_download.php?file_id=149&type=bug
Notes
(0001127)
elong   
2018-02-14 12:46   
Did it create a batch in the sym_outgoing_batch table?

select * from sym_outgoing_batch where load_id = 4

If it did, check the statistics on the batch, like data_row_count.
(0001129)
anthony.vitale@sonymusic.com   
2018-02-14 17:12   
Hi

I Checked, And it made me even more confused.

I Actually Tried using other tables (the tables that where within the unable to resolve fk messages which have no parent tables and still I see nothing occuring.

From the sym_outgoing_batch table where the load_id = the load_id of the reload table request All I see is within the text file which has the Sql and the results.

Within this you see that the tables have data (at least more then 1 row) and the trigger_id's are accurate.



Again what baffles me is that if in 3.7.2 (which I still run in other Replications) I ran this

 insert into sym_table_reload_request (target_node_id, source_node_id, trigger_id, router_id, reload_select, reload_delete_stmt, reload_enabled, create_time, last_update_time)
 values ('001','000','gras_trig_client_object_map','gras_router',null,null,1,current_timestamp,current_timestamp);

It works Great

But in 3.9.2 when I run this.

  insert into sym_table_reload_request
  (target_node_id, source_node_id, trigger_id, router_id, create_time, last_update_time)
  values ('001','000','gras_trig_client_object_map','gras_router', current_timestamp, current_timestamp);

I Get nothing.

I Hope All that is happening is that I just have to put the sym_table_reload_request in Differently Unless there is some configuration messed up.

Maybe It is in the way the reload channel is configured as I am pretty sure in 3.7.2 it would reload using the gras_channel like everything we run.
(0001130)
elong   
2018-02-21 12:23   
Can you run this query?

select t.trigger_id, r.router_id, l.source_node_group_id, l.target_node_group_id, l.data_event_action
from sym_trigger t
inner join sym_trigger_router tr on tr.trigger_id = t.trigger_id
inner join sym_router r on r.router_id = tr.router_id
inner join sym_node_group_link l on l.source_node_group_id = r.source_node_group_id
and l.target_node_group_id = r.target_node_group_id
where t.trigger_id = 'gras_trig_requests' and r.router_id = 'gras_router'

Does it return the source and target node groups for 000 and 001?
(0001132)
anthony.vitale@sonymusic.com   
2018-02-21 13:11   
Hi

I Slightly Changed your sql to include the actual node_id's

But YES it appears correct.

And Just to be clear

1) The Normal Replication via the triggers is working 100% in 3.9.2 for all of the tables.
2) When this was 3.7.2 the sym_table_reload_request worked 100% when I placed the request

Anyway, Here is my modified sql from your sql with the results.

\x on
Expanded display is on.

# select t.trigger_id, r.router_id, l.source_node_group_id, node_source.node_id source_node_id, l.target_node_group_id, node_target.node_id target_node_id, l.data_event_action
# from sym_trigger t
# inner join sym_trigger_router tr on tr.trigger_id = t.trigger_id
# inner join sym_router r on r.router_id = tr.router_id
# inner join sym_node_group_link l on l.source_node_group_id = r.source_node_group_id
# and l.target_node_group_id = r.target_node_group_id
# inner join sym_node node_source on node_source.node_group_id = l.source_node_group_id
# inner join sym_node node_target on node_target.node_group_id = l.target_node_group_id
# where t.trigger_id = 'gras_trig_requests' and r.router_id = 'gras_router';

-[ RECORD 1 ]--------+-------------------
trigger_id | gras_trig_requests
router_id | gras_router
source_node_group_id | amp
source_node_id | 000
target_node_group_id | gras
target_node_id | 001
data_event_action | W

Thanks
Tony V

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3539 [SymmetricDS] Improvement major always 2018-05-03 14:01 2018-10-03 14:28
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: feedback Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Failed to extract batch 011-21 StackTraceKey.init [RuntimeException:2157757869] java.lang.RuntimeException: java.lang.NullPoint
Description: Symmetric sync failed when I tried to modify source table values,

source node hints that the exception information is as follows:

2018-05-03 19:20:47,208 ERROR [client1-002] [DataExtractorService] [client1-002-push-default-2] Failed to extract batch 011-21 StackTraceKey.init [RuntimeException:2157757869]
java.lang.RuntimeException: java.lang.NullPointerException
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:718)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:556)
    at org.jumpmind.symmetric.service.impl.PushService.pushToNode(PushService.java:203)
    at org.jumpmind.symmetric.service.impl.PushService.execute(PushService.java:165)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:519)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.print(StagingDataWriter.java:116)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.println(AbstractProtocolDataWriter.java:256)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.write(AbstractProtocolDataWriter.java:172)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:206)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:203)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:170)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:116)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extractOutgoingBatch(DataExtractorService.java:951)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extractBatch(DataExtractorService.java:832)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.lambda$extract$0(DataExtractorService.java:623)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 3 more


target node create table information as following:

2018-05-03 19:19:29,472 INFO [server-011] [DefaultDatabaseWriter] [server-011-dataloader-3] About to create table using the following definition: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="dataextractor">
    <table name="JC_LFY">
        <column name="LFY_KPSJ" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_KSSJ" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_JSSJ" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_DH" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_CH" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_THDW" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_YZL" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_SZL" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="LFY_FYHW" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
    </table>
</database>
2018-05-03 19:19:29,476 INFO [server-011] [MariaDBDatabasePlatform] [server-011-dataloader-3] Running alter sql:
CREATE TABLE `jc_lfy`(
    `lfy_kpsj` VARCHAR(50) NULL,
    `lfy_kssj` VARCHAR(50) NULL,
    `lfy_jssj` VARCHAR(50) NULL,
    `lfy_dh` VARCHAR(50) NULL,
    `lfy_ch` VARCHAR(50) NULL,
    `lfy_thdw` VARCHAR(50) NULL,
    `lfy_yzl` VARCHAR(50) NULL,
    `lfy_szl` VARCHAR(50) NULL,
    `lfy_fyhw` VARCHAR(50) NULL
);
Steps To Reproduce: modifed files:

symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java

            if (!foundPk) {
- table = platform.makeAllColumnsPrimaryKeys(table);
+ //table = platform.makeAllColumnsPrimaryKeys(table);
            }

source node databaseType: MariaDB

target node databaseType: Oracle
Additional Information: I hope that Symmetric can sync values to target node tables when source node tables don't have any primary key,

Please analyze it.

Thanks!
Attached Files:
Notes
(0001255)
hanes   
2018-10-03 14:28   
I am unable to recreate this issue as of 3.9.13. Can you test in 3.9.13 or more recent and let us know if you are still having the issue?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3354 [SymmetricDS] Bug major always 2018-01-05 07:57 2018-10-03 12:39
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Data is Not replicating in Community Edition
Description: I am doing MS-SQL to postgresql replication, for that I have configured symmetricds on both nodes but data is not replicating. I have given the steps in Steps to reproduce which I have performed. Also providing logs here:

Logs:
2018-01-05 17:40:41,738 INFO [store-001] [DataGapFastDetector] [store-001-job-1] Full gap analysis is running
2018-01-05 17:40:41,744 INFO [store-001] [DataGapFastDetector] [store-001-job-1] Querying data in gaps from database took 5 ms
2018-01-05 17:40:41,744 INFO [store-001] [DataGapFastDetector] [store-001-job-1] Full gap analysis is done after 6 ms
2018-01-05 17:40:41,868 INFO [store-001] [NodeCommunicationService] [store-001-job-3] pull will use 10 threads
2018-01-05 17:40:46,786 INFO [store-001] [RouterService] [store-001-job-8] The 'heartbeat' channel is NOT in common batch mode
2018-01-05 17:40:46,929 INFO [store-001] [RouterService] [store-001-job-8] Routed 1 data events in 176 ms
2018-01-05 17:41:05,638 INFO [store-001] [PullUriHandler] [qtp319977154-11] 1 data and 1 batches sent during pull request from corp:000:000
2018-01-05 17:41:15,903 INFO [store-001] [ConfigurationChangedDatabaseWriterFilter] [qtp319977154-15] About to syncTriggers because new configuration came through the data loader
2018-01-05 17:41:15,904 INFO [store-001] [TriggerRouterService] [qtp319977154-15] Synchronizing triggers
2018-01-05 17:41:16,987 INFO [store-001] [RouterService] [store-001-job-17] The 'config' channel is NOT in common batch mode
2018-01-05 17:41:17,248 INFO [store-001] [RouterService] [store-001-job-17] Routed 6 data events in 279 ms
2018-01-05 17:41:17,509 INFO [store-001] [TriggerRouterService] [qtp319977154-15] Done synchronizing triggers
2018-01-05 17:41:17,510 INFO [store-001] [DataLoaderService] [qtp319977154-15] 6 data and 2 batches loaded during push request from corp:000:000.
2018-01-05 17:55:43,131 INFO [store-001] [RouterService] [store-001-job-13] Routed 1 data events in 117 ms
2018-01-05 17:55:45,048 INFO [store-001] [PullUriHandler] [qtp319977154-15] 1 data and 1 batches sent during pull request from corp:000:000
2018-01-05 17:56:16,265 INFO [store-001] [DataLoaderService] [qtp319977154-14] 1 data and 1 batches loaded during push request from corp:000:000.
2018-01-05 17:56:18,180 INFO [store-001] [RouterService] [store-001-job-10] Routed 1 data events in 18 ms
2018-01-05 18:10:43,977 INFO [store-001] [RouterService] [store-001-job-4] Routed 1 data events in 88 ms
2018-01-05 18:10:45,353 INFO [store-001] [PullUriHandler] [qtp319977154-14] 1 data and 1 batches sent during pull request from corp:000:000
2018-01-05 18:11:15,939 INFO [store-001] [DataLoaderService] [qtp319977154-13] 1 data and 1 batches loaded during push request from corp:000:000.
2018-01-05 18:11:19,043 INFO [store-001] [RouterService] [store-001-job-16] Routed 1 data events in 34 ms

Kindly give me solution as soon as possible.
Steps To Reproduce: Steps:

1. Firstly Download the SymmetricDS Community edition from www.jumpmind.com website. Unzip the file symmetric-server-3.9.1zip on both Master Node(MS-SQL server) and Slave Node(Postgresql server).

2. On master node Copy the corp-000.properties file from symmetric-server-3.9.1\samples path and paste this file to symmetric-server-3.9.1\engines path. Follow same procedure on target node but copy store-001.properties file.

3. Now do the changes in the parameter of the corp-000.properties and store-001.properties files.

In corp-000.properties
engine.name = corp-000
db.driver=net.sourceforge.jtds.jdbc.Driver
db.url=jdbc:jtds:sqlserver://hostip:port/databasename;useCursors=true;bufferMaxMemory=10240;lobBuffer=5242880
db.user=put the database user here
db.password=put the database password here
sync.url=http://hostip:31415/sync/corp-000
group.id=corp
external.id=000
In store-001.properties
engine.name=store-001
sync.url = http://hostip:31415/sync/store-001
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://hostip:port/databasename?protocolVersion=2&stringtyp e=unspecified
db.user=put the database user here
db.password=put the database password here
registration.url=http://masternodeip:31415/sync/corp-000
group.id=store
external.id=001
4. Create system tables on master node by running following command on master node:
symmetric-server-3.9.1/bin/symadmin --engine corp-000 create-sym-tables

5. Now Insert the values in the system tales:

         insert into SYM_NODE_GROUP
        (node_group_id)values(‘store’);

         insert into SYM_NODE_GROUP_LINK
        (source_node_group_id, target_node_group_id, data_event_action)values ('corp', 'store', 'P');
             
          Where P = Push

           insert into SYM_NODE_GROUP_LINK
(source_node_group_id, target_node_group_id, data_event_action)
      values ('store', 'corp', 'W');
    
          Where W = Wait for pull

          insert into SYM_ROUTER (router_id,
        source_node_group_id, target_node_group_id, create_time,
        last_update_time) values ('corp-2-store','corp', 'store',current_timestamp, current_timestamp);


        insert into SYM_CHANNEL (channel_id, processing_order, max_batch_size, max_batch_to_send,extract_period_millis, batch_algorithm, enabled, description)values ('patient_dtl', 10, 1000, 10, 0, 'default', 1, ‘Patient Details');

        insert into SYM_TRIGGER (trigger_id, source_table_name,
          channel_id, last_update_time, create_time)values ('patient_dtl', 'patient_dtl', 'patient_dtl', current_timestamp, current_timestamp);

        insert into SYM_TRIGGER_ROUTER(trigger_id, router_id, initial_load_order, create_time,last_update_time)values ('patient_dtl', 'corp-2-store', 1, current_timestamp,
current_timestamp);

The Setup and configuration is now completed.




6. We will now start both SymmetricDS nodes

On master node:
symmetric-server-3.9.1/bin/sym

On Slave Node:
symmetric-server-3.9.1/bin/
and run ./sym
This command on slave node system tables automatically. It begins polling the server node in order to register.


7. Registering a Node
Open registration for the slave node server by executing the below command on master node cmd:

symmetric-server-3.9.1/bin/symadmin –-engine corp-000 open-registration store 001

 The registration is now opened for a node group called “store” with an external identifier of “001”.

8. Sending an Initial Load
               Next, we will send an initial load of data to our store (that is, the slave node)

     Send an initial load of data to the client node server by executing following command on master node cmd:
          symmetric-server-3.9.1/bin/symadmin –-engine corp-000 reload-node 001
Additional Information:
Attached Files:
Notes
(0001248)
hanes   
2018-10-03 08:43   
Unable to recreate your issue in 3.9.13 based on the information provided. A couple of thoughts:
1. Did your patient_dtl table exist on both corp and store-001 databases? SymmetricDS will not automatically create the table by default if it doesn't already exist.
2. Was there any errors in either log file?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3597 [SymmetricDS] Bug major always 2018-06-10 17:34 2018-10-03 12:38
Reporter: rdscos Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymmetricDS Not Starting in Tomcat
Description: I am trying to setup Symmetric on a tomcat 9. I have correctly setup tomcat and the war was deployed successfully. I have managed to correct all other faults but this one by keeping an eye on the log. The issue i am having is as follows;
2018-06-10 17:25:20,020 ERROR [corp-000] [AbstractSymmetricEngine] [symmetric-engine-startup-1] An error occurred while starting SymmetricDS StackTraceKey.init [SymmetricException:3846274122]
org.jumpmind.symmetric.SymmetricException: Failed to save file '/./conf/instance.uuid' Please correct and restart this node.
Steps To Reproduce: Setup on tomcat, deploy and then start ...
Additional Information:
Attached Files:
Notes
(0001206)
elong   
2018-06-13 11:55   
Try setting the SYM_HOME environment variable and the instance.id.location engine file property to control where the file should be written.
(0001207)
rdscos   
2018-06-17 14:39   
Thank you very much for your response.
I have managed to correct the above issue by setting instance.id.location, setting the SYM_HOME variable did not seem to help me.
The next issue i am have is the message below...
[corp-000] - RegistrationService - Cannot register a client node unless a node group link exists so the registering node can receive configuration updates. Please add a group link where the source group id is corp and the target group id is store
[corp-000] - RegistrationUriHandler - store:001:? was not allowed to register.
I have manually tried to insert a record in the table manually but that results in foreign key constraint errors.
My setup includes an instance running on a VPS server with tomcat and a local node running symmetric.
I would really appreciate some help on the above error...
(0001208)
rdscos   
2018-06-17 14:59   
Please excuse the grammar, i was watching soccer while writing the above ...
(0001240)
hanes   
2018-09-13 14:53   
On your corp database you'll need to set up one (or two) node group links in table sym_node_group_link. The typical configuration is to configure a "client pushes to corp" link and a "corp waits for pull from client" link. The issue you are having at this point sounds more like an incomplete configuration than a bug in the software. You might consider posting your issue to the SymmetricDS support forums for additional help.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3660 [SymmetricDS] Bug minor always 2018-08-03 15:25 2018-10-03 10:27
Reporter: anchitanc Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Initial Load with Order by in initial_load_select MSSQL
Description: sym_trigger_router table has initial_load_select = "1 = 1 order by t.CreationTime" which create query like below :-
select count(*) from "board"."dbo"."currencies" t where 1=1 order by t.CreationTime;

It works with MySQL but not with MSSQL because MSSQL does not support order by with count(*).

MSSQL gives :-
Column "board.dbo.currencies.creationtime" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.

its due to https://www.symmetricds.org/issues/view.php?id=3092.
as symmetricds 3.9 has removed sym_trigger_router.initial_load_batch_count.

Now what is workaround to ignore count(*) query for MSSQL for initial load?
Steps To Reproduce: set initial_load_select = "1 = 1 order by <anycolumn>" in sym_trigger_router for mssql database.
Additional Information:
Attached Files:
Notes
(0001222)
anchitanc   
2018-08-04 00:50   
sorry, its not due to https://www.symmetricds.org/issues/view.php?id=3092. I have tried the same in 3.8, same issue there as well.
Problem is symmetricds drafting wrong query for MSSQL. in case of MSSQL there should be option to disable count(*) query if order by clause is used in initial_load_select.
(0001251)
hanes   
2018-10-03 10:27   
Q: Is there a particular reason you need the initial load select to order the columns when doing the load?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3418 [SymmetricDS] Bug major always 2018-02-13 12:39 2018-10-03 10:24
Reporter: bahoover Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Syncing to named schema in Postgresql not working using a transform
Description: Syncing to a Postgresql named schema does not work correctly with a transformed table.

When using the default (public) schema, symmetric behaves as it should. However, when syncing to a named schema, symmetric creates the original table and syncs to it instead of syncing to the transformed table.
Steps To Reproduce: 1. Start with clean install
   bin/symadmin --engine loggernet-001 uninstall
   bin/symadmin --engine lndb-000 uninstall
   bin/symadmin --engine lndb-000 create-sym-tables

2. create transform table in schema (change schema name depending on test):
   script in Additonal Info

3. Run below script to setup symmetricds

4. Start symmetricds

-----------------------------------------------------------------------
-- Script to setup symmetric (using public schema)
-----------------------------------------------------------------------

-- Clear out tables
delete from sym_transform_column ;
delete from sym_transform_table ;
delete from sym_trigger_router;
delete from sym_trigger;
delete from sym_router;
delete from sym_channel where channel_id in ('mux_tables', 'mts_tables');
delete from sym_node_group_link;
delete from sym_node_group;
delete from sym_node_host;
delete from sym_node_identity;
delete from sym_node_security;
delete from sym_node;

-- Define Nodes and setup security
insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id)
 values ('000','lndb','000',1,null,null,null,null,null,current_timestamp,null,0,0,'000');
 
insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id)
 values ('001','loggernet','001',1,null,null,null,null,null,current_timestamp,null,0,0,'000');

insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id)
 values ('000','f96606b78a54ed89e88d9aa9b48ea4e8',0,current_timestamp,0,current_timestamp,'000');
 
insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id)
 values ('001','f96606b78a54ed89e88d9aa9b48ea4e8',1,null,1,null,'000');

insert into sym_node_identity values ('000');

-- Groups and link
insert into sym_node_group (node_group_id, description) values ('lndb', 'Loggernet (CR1000) source database');
insert into sym_node_group (node_group_id, description) values ('loggernet', 'BioLogic raw data store');

insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) values ('lndb', 'loggernet', 'P');

-- Routers
-- default router, send all captured data to target
insert into sym_router (router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time)
values('lndb_2_loggernet', 'lndb', 'loggernet', 'default', current_timestamp, current_timestamp);

insert into sym_router(router_id, source_node_group_id, target_node_group_id, router_type, create_time, last_update_time)
values('lndb_audit', 'lndb', 'audit', 'audit', current_timestamp, current_timestamp);

-- Channels
insert into sym_channel
(channel_id, processing_order, max_batch_size, enabled, description)
values('mux_tables', 1, 100000, 1, 'Mux tables');

-- Triggers
insert into sym_trigger(trigger_id,source_table_name,channel_id,sync_on_update_condition, last_update_time,create_time)
values('vc1_leveltemp_trigger','VC1_LevelTemp','mux_tables', 'new.TmStamp > ''2008-01-01'' and new.TmStamp <= now()',current_timestamp,current_timestamp);

-- trigger/router
insert into sym_trigger_router(trigger_id,router_id,initial_load_order, last_update_time,create_time)
values('vc1_leveltemp_trigger','lndb_2_loggernet', 100, current_timestamp, current_timestamp);

insert into sym_transform_table(transform_id, source_node_group_id, target_node_group_id, transform_point, source_table_name, target_table_name, delete_action, column_policy)
values('extract_vc1_leveltemp_xform', 'lndb', 'loggernet', 'EXTRACT', 'VC1_LevelTemp', 'mux_leveltemp', 'DEL_ROW', 'IMPLIED');

insert into sym_transform_column (transform_id, include_on, target_column_name, pk, transform_type, transform_expression, transform_order, last_update_time,last_update_by, create_time)
values ('extract_vc1_leveltemp_xform', '*', 'site', 1,'const', 'VC1', 1, current_timestamp, 'BAH',current_timestamp);

insert into sym_transform_column (transform_id, include_on, target_column_name, source_column_name, pk,transform_type, transform_expression, transform_order, last_update_time,last_update_by, create_time)
values ('extract_vc1_leveltemp_xform', '*', 'TmStamp', 'TmStamp', 1,'copy', '', 2, current_timestamp, 'BAH',current_timestamp);

insert into sym_transform_column (transform_id, include_on, target_column_name, source_column_name, pk,transform_type, transform_expression, transform_order, last_update_time,last_update_by, create_time)
values ('extract_vc1_leveltemp_xform', '*', 'RecNum', 'RecNum', 1,'copy', '', 3, current_timestamp, 'BAH', current_timestamp);

-----------------------------------------------------------------------
-- For named schema, use above script, except change inserts into sym_router and sym_transform_table
-----------------------------------------------------------------------
insert into sym_router (router_id,source_node_group_id,target_node_group_id,target_schema_name,router_type,create_time,last_update_time)
values('lndb_2_loggernet', 'lndb', 'loggernet', 'loggernet', 'default', current_timestamp, current_timestamp);

insert into sym_transform_table(transform_id, source_node_group_id, target_node_group_id, target_schema_name, transform_point, source_table_name, target_table_name, delete_action, column_policy)
values('extract_vc1_leveltemp_xform', 'lndb', 'loggernet', 'loggernet', 'EXTRACT', 'VC1_LevelTemp', 'mux_leveltemp', 'DEL_ROW', 'IMPLIED');


Additional Information: MySQL 5.6
Postgresql 9.5



-- Create transform table on postgresql
CREATE TABLE loggernet.mux_leveltemp
(
    id SERIAL,
    site character varying(3) COLLATE pg_catalog."default" NOT NULL,
    tmstamp timestamp without time zone NOT NULL,
    recnum bigint NOT NULL,
    teg_status integer,
    water_level real,
    water_temp real,
    air_temp real,
    in_volt real,
    tagcount integer,
    CONSTRAINT mux_leveltemp_pkey PRIMARY KEY (site, tmstamp, recnum)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE loggernet.mux_leveltemp
    OWNER to dmuser;

-- Source table
CREATE TABLE `VC1_LevelTemp` (
  `TmStamp` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
  `RecNum` bigint(20) NOT NULL DEFAULT '0',
  `TEG_status` int(11) DEFAULT NULL,
  `Water_level` float DEFAULT NULL,
  `Water_temp` float DEFAULT NULL,
  `Air_temp` float DEFAULT NULL,
  `In_Volt` float DEFAULT NULL,
  `TagCount` int(11) DEFAULT NULL,
  PRIMARY KEY (`TmStamp`,`RecNum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Attached Files: lndb-000.properties (3,203 bytes) 2018-02-13 12:39
http://www.symmetricds.org/issues/file_download.php?file_id=147&type=bug
loggernet-001.properties (3,165 bytes) 2018-02-13 12:39
http://www.symmetricds.org/issues/file_download.php?file_id=148&type=bug
Notes
(0001126)
elong   
2018-02-14 11:50   
Found some discussion on this here: https://sourceforge.net/p/symmetricds/discussion/739236/thread/ee8859cb/

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3415 [SymmetricDS] Bug major always 2018-02-13 06:20 2018-10-03 10:23
Reporter: Sunil Nair Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.9.3  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: ERROR: Type "year" does not exist
Description: Hi Experts,

I am new to symmetricDS and trying a demo replication scenario using postgresql 9.4 with two local db (corp and store). when the service is run, I am getting the below error

2018-02-13 16:27:57,072 ERROR [corp-000] [AcknowledgeService] [qtp2097514481-24] The outgoing batch 001-11 failed: ERROR: type "year" does not exist
  Position: 168
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001131)
mmichalek   
2018-02-21 12:28   
Sunil, are you replicating your schema (DDL) or data when you get this error? Would you mind posted your symmetric.log file from when you get this error? Thanks.
(0001250)
hanes   
2018-10-03 10:23   
Do you know what table this batch was related to by chance? If so, can you get us the schema for that table?

Also, please check that the schema for that particular table matches on the both "sides" of the replication?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3569 [SymmetricDS] Bug major always 2018-05-18 08:18 2018-10-03 10:19
Reporter: zulus Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.8.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Oracle process transactions in wrong order
Description: I don't know why, but looks like symmetric ignore sym_data.create_time while processing transactions. Is there any way to force correct order?
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001187)
elong   
2018-05-18 08:28   
Timestamps are not an indicator of the order of changes on a multi-user system. In other words, changes are not available until the commit, regardless of when the user made the changes. SymmetricDS queries the changes periodically and orders by the data_id sequence. On a multi-user system, it could happen that IDs 1, 3, and 5 can be queried at 1:00, and then later it can query and find 2, 4, and 6 at 1:01. I think if you inspect closer, it is working as designed.
(0001188)
zulus   
2018-05-18 08:35   
I understand that, but I have situation when two batches was loaded. First from 2018-05-18 12:00 couple minutes later from 2018-05-17 22:00. Symmetric he was turned off for several hours and have a lot of batches to load (inventory table).
(0001189)
elong   
2018-05-18 08:52   
Batches are loaded in order by batch_id. (It doesn't use time for ordering.) If there are multiple channels, then it load batches for each channel, ordering by sym_channel.processing_order. If there is a channel in error, then it changes the order of channels to make the ones in error go last. Can you check the channel_id and batch_id for those batches?
(0001190)
zulus   
2018-05-18 09:21   
I'm talking about one channel and one concrete table. This table have only one trigger and router. Channel is marked as transactional. On same queue I have two additional channels, one default, second default with big lobs.

In most cases everything is ok, but from time to time I see batch with inserts from strange date/time.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3741 [SymmetricDS] Bug minor have not tried 2018-10-03 09:48 2018-10-03 10:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Individual Table reloads should not clear a node's incoming batches
Description: This following message was observed when performing table reloads:
Purged all {} incoming batch for node {}

Changed the logic so this only happens on a full initial load.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3576 [SymmetricDS] New Feature minor have not tried 2018-05-23 12:12 2018-10-03 08:52
Reporter: kstojanovska Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: confirmed Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Resync trigger if it is failing due to deadlock
Description: Resync trigger if it is failing due to deadlock
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3738 [SymmetricDS] Improvement minor have not tried 2018-10-02 07:58 2018-10-02 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Batch in error on a reload channel by default blocks all other channels. Should not block config channel though.
Description: The following parameters control whether a batches on reload channels block other channels.

initial.load.block.channels - by default this is true and will block all other non reload batches until reload completes
initial.load.unblock.channels.on.error - by default this is false so while a reload channel is in error all other channel batches will not process.

The above parameters and defaults work as designed but also block config batches. The original intent on these parameters were to prevent change capture batches from replaying before a reload was complete. However in the process it blocked config batches. A config batch may contain the fix for the reload so the config batches should be allowed to process even if the defaults on the above parameters are preventing change capture batches through.

Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3737 [SymmetricDS] Bug minor have not tried 2018-10-02 07:23 2018-10-02 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.6.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: MSSQL 2008 Create table DDL for TIME data type incorrect when coming from a different source database
Description: While building a a column definition for a TIME data type it was being incorrectly mapped in MSSQL 2008 if the source was anything other than another MSSQL database.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3733 [SymmetricDS] Improvement minor have not tried 2018-09-21 10:40 2018-09-24 12:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Logging for authorization denied
Description: When the node password doesn't match, the logging for pull and push just logs the 403 code. Log a message about authorization is denied for the node to make it clear. Don't log a big stack trace either.

On a push, the "head" request for reservation succeeds, then the "put" request fails authentication, which results in this strange error:

2018-09-21 11:08:39,389 ERROR [client-001] [DataExtractorService] [client-001-push-default-5] Failed to extract batch server-122 (org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:838))
java.lang.RuntimeException: java.io.IOException: Error writing request body to server
    at org.jumpmind.symmetric.service.impl.DataExtractorService.transferFromStaging(DataExtractorService.java:1500)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.sendOutgoingBatch(DataExtractorService.java:1358)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:764)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:554)
    at org.jumpmind.symmetric.service.impl.PushService.pushToNode(PushService.java:203)
    at org.jumpmind.symmetric.service.impl.PushService.execute(PushService.java:165)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:519)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Error writing request body to server
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3465)
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3448)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.transferFromStaging(DataExtractorService.java:1423)

Change the order of interceptors to be the AuthenticationInterceptor first, then NodeConcurrencyInterceptor.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3734 [SymmetricDS] Bug minor have not tried 2018-09-21 11:01 2018-09-21 12:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Raima dialect support for obtaining last inserted id
Description: The Raima dialect did not support the ability for obtaining the last id inserted in an auto increment (rowid) column.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3732 [SymmetricDS] Bug minor have not tried 2018-09-21 08:22 2018-09-21 09:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Extract request should record last update time
Description: The sym_extract_request has a last_update_time, but it is never updated. Might confuse someone who expects it to tell when the extract was completed. Go ahead and update the last_update_time.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3731 [SymmetricDS] Bug minor have not tried 2018-09-20 16:37 2018-09-20 17:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Gaps taking longer to expire and using slower method of querying sym_data
Description: Gaps taking longer to expire than the timeout specified in routing.stale.dataid.gap.time.ms because routing is setting the flag to indicate not all data is read even when it is. Gap expiration then waits until routing.stale.gap.busy.expire.time.ms to perform "busy expiration" which involves querying for the gap in sym_data, which is more expensive.
Steps To Reproduce:
Additional Information: Workaround is to disable the routing.query.channels.first parameter.
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3696 [SymmetricDS Pro] Bug major always 2018-08-29 17:45 2018-09-19 08:38
Reporter: pmattens Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: feedback Product Version: 3.7.36  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Outgoing Batches are stuck in LD and NE status. No corresponding incoming batch records are one the target db.
Description: our test lab reported that they have 9 days worth of outgoing batches that are stuck in Loading and New status.

Nothing in our env changed. Please provide best troubleshooting steps for this.

Thanks.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001230)
abrougher   
2018-09-05 12:10   
I'd expect an error to be visible somewhere.

Do you have any batches in an Error status? What is the error?

 Can you check your log file to see if there are any errors?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3723 [SymmetricDS] Improvement minor sometimes 2018-09-13 16:12 2018-09-13 18:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: urgent OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Purge stranded batches can get deadlock or timeout when outgoing_batches is large
Description: When sym_outgoing_batch table grows too large, the purge job gets either a deadlock or timeout when trying to update batches to OK that are associated with old channels and old nodes. The error is possible even when the update will get 0 rows affected. Make the SQL more efficient by getting a list of channels (or nodes) with abandoned batches, then deleting by channel (or node).
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3530 [SymmetricDS] Bug crash sometimes 2018-04-24 23:20 2018-09-13 14:46
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: feedback Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Symmetric push data failed,caused by a error while processing GET request
Description: Hi,

Symmetric push data failed,caused by a error while processing GET request.

Exception log as following:

2018-04-25 06:56:10,037 INFO [server-010] [SymmetricServlet] [qtp1226622409-14] Error while processing GET request for node: 001 at 127.0.0.1 with path: /server-010/pull The message is: Failed to execute sql: select b.node_id, b.channel_id, b.status, b.byte_count, b.extract_count, b.sent_count, b.load_count, b.data_row_count, b.reload_row_count, b.data_insert_row_count, b.data_update_row_count, b.data_delete_row_count, b.other_row_count, b.ignore_count, b.router_millis, b.network_millis, b.filter_millis, b.load_millis, b.extract_millis, b.extract_start_time, b.transfer_start_time, b.load_start_time, b.sql_state, b.sql_code, b.sql_message, b.load_insert_row_count, b.load_update_row_count, b.load_delete_row_count, b.load_row_count, b.extract_insert_row_count, b.extract_update_row_count, b.extract_delete_row_count, b.extract_row_count, b.transform_extract_millis, b.transform_load_millis, b.fallback_insert_count, b.fallback_update_count, b.ignore_row_count, b.missing_delete_count, b.skip_count, b.failed_data_id, b.last_update_hostname, b.last_update_time, b.create_time, b.batch_id, b.extract_job_flag, b.load_flag, b.error_flag, b.common_flag, b.load_id, b.create_by, b.summary from sym_outgoing_batch b join sym_channel c on c.channel_id = b.channel_id where (c.data_event_action is null or c.data_event_action = ?) and b.node_id = ? and c.queue = ? and b.status in (?, ?, ?, ?, ?, ?, ?, ?) order by b.batch_id asc
2018-04-25 06:56:10,058 ERROR [server-010] [InitialLoadExtractorJob] [server-010-job-13] Exception while executing job 'Initial Load Extract' StackTraceKey.init [SqlException:3085670781]
org.jumpmind.db.sql.SqlException: Failed to execute sql: select node_id, queue from sym_extract_request where status=? group by node_id, queue
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:120)
    at org.jumpmind.db.sql.JdbcSqlTemplate.queryForCursor(JdbcSqlTemplate.java:140)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:199)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:195)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:185)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:121)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.getExtractRequestNodes(DataExtractorService.java:1663)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.queueWork(DataExtractorService.java:1637)
    at org.jumpmind.symmetric.job.InitialLoadExtractorJob.doJob(InitialLoadExtractorJob.java:44)
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:225)
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:287)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

2018-04-25 06:56:20,128 INFO [client1-001] [PushService] [client1-001-push-default-8] Could not communicate with node 'server:010:010' at http://localhost:31415/sync/server-010 because it returned HTTP code 500
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001239)
hanes   
2018-09-13 14:46   
Some questions:
1. Are you still having this issue in more recent versions of 3.9?
2. Are your server and client on separate machines or are you running multi-homed?
3. Is your database the server is connecting to on a separate machine?
The error message in your log would seem to indicate an environment issue where the server is unable to maintain a reliable database connection to the database, not necessarily a software bug.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3722 [SymmetricDS] Bug minor have not tried 2018-09-13 12:35 2018-09-13 13:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: 3 Tier registration issue when trigger create before initial load is false.
Description: In a 3 tier setup where the parameter trigger.create.before.initial.load.enabled=false the 3rd tier nodes will not be allowed to register with the following message: Cannot register a client node until this node has synced triggers. The sync triggers on the middle tier does occur but the nodes are still not allowed to register.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3715 [SymmetricDS] Bug minor have not tried 2018-09-10 15:59 2018-09-13 12:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: File sync extract batches sometimes show incorrect row counts
Description: The fix made for https://www.symmetricds.org/issues/view.php?id=3632 basically filtered out files from the initial load on the extract side. This had the side effect of still creating batches (sometimes many) with row counts, even though no files would get sync'd (which was the desired behavior in this case).

This fix modifies the file sync extract query against sym_file_snapshot to join to sym_file_trigger_router and check if the initial_load_enabled flag is on. For a system with file sync enabled, you should just get one empty batch (which reports 0 rows) which should be expected.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3720 [SymmetricDS Pro] Bug major always 2018-09-13 08:11 2018-09-13 08:11
Reporter: Prerna Kumari Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: symmetric ds startup failed on symmetric ds 3.9.13 due to one or more listener issue
Description: Issue raised in context https://www.symmetricds.org/issues/view.php?id=3719

Now have got some more info :
I am trying to upgrade symmetric-ds from 3.8.28 to3.9.13 released on 31st August,2018.
After changing logging properties as no logs were visible error found: stringUtils NoClassDefFoundException . Then copied common-lang-2.6 jar from lib folder of symmetric ds to runtime deployed folder of symmetric ds WEB-INF/lib , No getting below exception in catalina.out

13-Sep-2018 17:14:10.398 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.jumpmind.symmetric.web.SymmetricContextListener]
java.lang.NullPointerException
at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.compareTo(SymmetricEngineHolder.java:618)
at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.compareTo(SymmetricEngineHolder.java:586)
at java.util.TreeMap.compare(TreeMap.java:1294)
at java.util.TreeMap.put(TreeMap.java:538)
at java.util.TreeSet.add(TreeSet.java:255)
at org.jumpmind.symmetric.web.SymmetricEngineHolder.start(SymmetricEngineHolder.java:227)
at org.jumpmind.symmetric.web.SymmetricContextListener.contextInitialized(SymmetricContextListener.java:60)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4776)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5240)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1856)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3719 [SymmetricDS Pro] Bug major always 2018-09-13 06:28 2018-09-13 08:11
Reporter: Prerna Kumari Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: symmetric ds startup failed
Description: Tried upgrading symmetric ds to symmetric-server-3.9.13 version with tomcat Server number: 8.5.30.0 and Server number: 9.0.12.0. symmetric -ds is not able to start.
Also, for further testing and analysis changed provider from < Custom > to PKIX and sslEnabled to false in server.xml. But still symmetric ds war could not be deployed successfully.

As per logs full details could be tracked in container logs, but no logs getting appended in container logs. log4j path also set correctly for container logs. It's same which what we used for symmetric ds 3.8.28 and now we are trying to migrate to 3.9.13. Please help resolve issue urgantly

Getting below error

13-Sep-2018 15:16:51.670 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/edc/MC/Apache-Tomcat/webapps-sym/symmetric-ds.war]
13-Sep-2018 15:16:56.497 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
13-Sep-2018 15:16:56.499 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/symmetric-ds] startup failed due to previous errors
13-Sep-2018 15:16:56.525 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/edc/MC/Apache-Tomcat/webapps-sym/symmetric-ds.war] has finished in [4,855] ms
13-Sep-2018 15:16:56.528 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-jsse-nio-31415"]
13-Sep-2018 15:16:56.531 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 105515 ms
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001234)
Prerna Kumari   
2018-09-13 06:31   
other info:
Server version: Apache Tomcat/8.5.30
Server built: Apr 3 2018 20:04:09 UTC
Server number: 8.5.30.0
OS Name: Linux
OS Version: 3.10.0-514.26.1.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_131-b12
JVM Vendor: Oracle Corporation

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3717 [SymmetricDS] Improvement minor have not tried 2018-09-11 07:37 2018-09-11 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Raima dialect rebuilds triggers with each restart
Description: While querying the sys_trigger table in Raima a match is not found and a create trigger is always issued.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3716 [SymmetricDS] Bug minor have not tried 2018-09-11 07:35 2018-09-11 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: MSSQL bulk loader fails when truncate table is used as part of the load with a different target database and schema
Description: If the target MSSQL database is in a different database and schema than the source and a truncate statement is provided it will fail in the bulk loader.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3714 [SymmetricDS] Bug minor sometimes 2018-09-10 14:59 2018-09-10 16:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Stream row with large number of columns on DB2
Description: On DB2: Stream row doesn't work for a table with more than 250 columns. Stream row does not handle updates to primary key or tables with no primary key.

Some background: On DB2, after a table with no primary key has more than 250 columns, we fail to add an update trigger. The insert and delete columns succeed. To capture 250 columns, we need to turn off "capture old data", so the trigger text references the 250 old key columns and 250 new columns. (Does that mean the limit of column references is 500?) To work around what appears to be a column reference limitation, we want to use "stream row" and capture only the pk columns.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3713 [SymmetricDS] Bug minor sometimes 2018-09-10 10:28 2018-09-10 13:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Extract row count statistics double when staging is cleared
Description: The outgoing_batch and incoming_batch tables have extract row count statistics that record the number of rows extracted into a batch. When staging is cleared (settings changes, transform change, manual clear), the statistics are incremented which doubles the number.
Steps To Reproduce: Sync a batch and force an error to occur on the target. Clear staging. The extract row counts will double each time.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3710 [SymmetricDS] New Feature minor have not tried 2018-09-06 13:52 2018-09-06 14:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.14  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.14  
    Target Version: 3.9.14  
Summary: Jdbc Batch bulk data loader
Description: A new bulk data loader to provide jdbc batch execution based on a provided size rather than one row at a time. To turn on set the sym_channel.data_loader_type to 'bulk'. If the dialect being loaded does not already have a bulk data loader implementation the jdbc batch implementation will be used.

There are two additional parameters that also can be used to configure this data loader.

db.jdbc.bulk.execute.batch.size - Defaults to 25 but can be adjusted to the number of statements that will be batched together.
db.jdbc.bulk.execute.batch.override - Defaults to false, but turning this on will override the provided bulk loader with the jdbc batch loader.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3687 [SymmetricDS Pro] Improvement minor have not tried 2018-08-21 16:04 2018-09-05 13:13
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.13  
Summary: Batch error screen should show table name in addition to SQL exception and row data.
Description: Batch error screen should show table name in addition to SQL exception and row data.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001231)
hanes   
2018-09-05 13:13   
On further examination, I think the Table name(s) are actually on the screen. I think they are on the right hand side of the screen. I was expecting them to be on the left, just above the space where the data row is shown. So this is probably a "user error" and not really a bug. Or, perhaps it's an "improvement" request.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3698 [SymmetricDS] Task block always 2018-09-04 07:27 2018-09-04 07:27
Reporter: stegiszn Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: PostgreSQL 10 and inherited tables
Description: Hi, we have been using symmetric replication in our projects for 5 years. We use PostgreSQL ver 8 and 9 with inherited tables in DB structure. To work corectly with symmetric service we configure PostgreSQL for symmetric user with PostgreSQL conf param - sql_inheritance = off. This gives us possibility to read data from only master table - not all inherited ones. Now we have new PostgreSQL 10 version and param sql_inheritance was removed. I asked PostgreSQL team about this but they gave me a response that this param cannot be brought back. So my only solution is to run symmetric with SQL script with "only" clausule which will give me data only from asked table, not inherited ones.


For example:
if Symmetric asks a table about existing some record with specific id it will give one if it exists in any inherited table below. If this table have some references with other there will be critical error with them because there is not such a record in asked table.


/*Main structure*/
CREATE TABLE table_head(
  id int8,
  description varchar,
  PRIMARY KEY(id)
) WITHOUT OIDS;

CREATE TABLE table_head_inherited (PRIMARY KEY (id)) inherits (table_head);

CREATE TABLE table_pos(
  id int8,
  reference int8,
  description varchar,
  PRIMARY KEY(id)
) WITHOUT OIDS;
ALTER TABLE table_pos ADD FOREIGN KEY (reference) REFERENCES table_head(id) ON UPDATE CASCADE ON DELETE CASCADE;

CREATE TABLE table_pos_inherited (PRIMARY KEY (id)) inherits (table_pos);
ALTER TABLE table_pos_inherited ADD FOREIGN KEY (reference) REFERENCES table_head_inherited(id) ON UPDATE CASCADE ON DELETE CASCADE;

INSERT INTO table_head_inherited VALUES(1, 'one');
INSERT INTO table_pos_inherited VALUES(1,1,'one');


/*Working SymmetricDS with inherited, wrong SQL*/

test=# SELECT * FROM table_head;
 id | description
----+-------------
  1 | one
(1 row)

test=# INSERT INTO table_pos VALUES(2,1,'two');
ERROR: insert or update on table "table_pos" violates foreign key constraint "table_pos_reference_fkey"
DETAIL: Key (reference)=(1) is not present in table "table_head".


/*Correct SQL*/
test=# SELECT * FROM ONLY table_head;
 id | description
----+-------------
(0 wierszy)


To work with SELECT * FROM table_name is wrong. The right solution is SELECT * FROM ONLY table_name.


Is there any possibility to run symmetric with new PostgreSQL 10 configuration with inherited tables in DB? Maybe some configuration parameter with run "select" script with "only" clausule?
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3693 [SymmetricDS] Improvement minor always 2018-08-28 12:48 2018-08-30 12:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.41  
    Target Version: 3.8.41  
Summary: XMLType support for Oracle
Description: XMLType support for Oracle added for capture and initial load. Preferred method is to use stream lobs on the triggers.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3685 [SymmetricDS Pro] Bug minor have not tried 2018-08-21 15:15 2018-08-21 15:18
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.12  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.13  
    Target Version: 3.9.13  
Summary: File Router's Auto-Create fails due to Null Conflict Strategy
Description: Use the Auto Create feature of File Routing to create a file-router. When you click save, you get "unexpected error occurs", and it's due to the fact that the Conflict Strategy, which is required, isn't specified in the insert statement (and isn't shown on the screen either)
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3675 [SymmetricDS] Improvement minor always 2018-08-15 09:07 2018-08-15 10:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.41  
    Target Version: 3.8.41  
Summary: Fix logging of servicing pull requests
Description: Log the result of pull requests that resulted in batches being transferred. Example log:

[corp] [PullUriHandler] 100 data and 10 batches sent during pull request from 001
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3674 [SymmetricDS] Bug minor always 2018-08-15 08:51 2018-08-15 09:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.41  
    Target Version: 3.8.41  
Summary: Auto resolve foreign key can fail when primary keys are not first in table definition
Description: The auto resolution of missing foreign keys can fail when the table definition has primary keys that are not listed as the first columns. SymmetricDS is internally re-ordering columns so the primary keys are first when issuing inserts. The list of column values is passed to the routine to resolve FKs and it uses the table definition from the cache without re-ordering it, so the column names don't match up with column values.

create table example (name varchar, id integer primary key);
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3668 [SymmetricDS Pro] Bug minor have not tried 2018-08-09 12:22 2018-08-09 12:22
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.11  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.11  
Summary: Error reading a log summary from another node that is empty
Description: While reading log summaries and exception is thrown if the summary is empty instead of null.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3666 [SymmetricDS] Improvement minor have not tried 2018-08-06 10:05 2018-08-06 10:05
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Option to Cancel/OK Pending Captured Table Data Events when a Table Reload is Requested
Description: Should we provide the option to cancel/ok pending captured table data events when a table reload is requested? This would be sort of similar to OK'ing pending batches for a node when a node reload is requested. I think it would have to be an option (i.e. when you ask for a table reload request, it allows you to select whether you want pending data events to be cancelled) as you might specify limited data with additional where clauses on the table reload request, etc.

This would be a little tricky as data for that table could already be batched and intermingled with other tables, etc, but wondering if we could do something with the data events instead of the batches...
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3665 [SymmetricDS Pro] Improvement minor have not tried 2018-08-06 04:57 2018-08-06 04:57
Reporter: prosia Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.7.4  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: sym_data_event size too large
Description: Dear All,

Is it normal has sym_data_event table with123 GB on server while my others tables has 2 GB on total?

is it ok if i do empty table on sym_data_event ?

i attach screenshoot sym_data_event size, and sym_data_event rows.

SymmetricDS Pro Version 3.7.4

Thank you.
Steps To Reproduce:
Additional Information:
Attached Files: sym_data_event_row.jpeg (60,120 bytes) 2018-08-06 04:57
http://www.symmetricds.org/issues/file_download.php?file_id=161&type=bug
jpeg

sym_data_event.jpeg (15,862 bytes) 2018-08-06 04:57
http://www.symmetricds.org/issues/file_download.php?file_id=162&type=bug
jpeg
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3659 [SymmetricDS] Bug minor always 2018-08-03 12:30 2018-08-03 12:30
Reporter: matthewehoward Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SqlAnywhere dialect crashes when DB name has special char
Description: My client has a (Sybase SqlAnywhere) database named with a "-" which seemed to cause problems in the triggers that SYM creates. For example if the database name is "product-staging" and the schema is "ABC" then the trigger that is created on the tables contains text like below:

if(product-staging.ABC.sym_triggers_disabled(0) = 0) begin

This causes an exception when we insert/update to this table Column 'product' not found because it reads the "-" as an operator. I've created a patch locally that fixes this by calling SymmetricUtils.quote in both getSyncTriggersExpression and getTransactionTriggerExpression in https://github.com/JumpMind/symmetric-ds/blob/a894239d22e2a602be1dfaf87de9ef059e3d65a7/symmetric-client/src/main/java/org/jumpmind/symmetric/db/sqlanywhere/SqlAnywhereSymmetricDialect.java#L250

This produces the trigger text:
if("product-staging".ABC.sym_triggers_disabled(0) = 0) begin

I'm fairly sure I should apply the same to the schema name as well - but not sure if there are other places where these should be quoted either in the SqlAnywhere dialect or other dialects. My patch has resolved the issue for my client for now.





Steps To Reproduce: Point symmetric to a Sybase/SqlAnywhere database named with a "-" in it.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3634 [SymmetricDS Pro] Bug minor have not tried 2018-07-17 15:45 2018-07-17 15:47
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SQL Server Error when lacking some privileges and clicking on a database in SQL Explorer.
Description: Got this exception when clicking on the DB in SQL Explorer. Was able to still run SQL against the database through SQL Explorer after clearing the error.

2018-07-17 15:38:13,010 ERROR [corp-000] [DbTree] [qtp1777443462-20] com.microsoft.sqlserver.jdbc.SQLServerException: The server principal "symmetric" is not able to access the database "model" under the current security context. (org.jumpmind.vaadin.ui.sqlexplorer.DbTree.expanded(DbTree.java:229))
org.jumpmind.db.sql.SqlException: com.microsoft.sqlserver.jdbc.SQLServerException: The server principal "symmetric" is not able to access the database "model" under the current security context.
    at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:29)
    at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1412)
    at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:501)
    at org.jumpmind.db.platform.AbstractJdbcDdlReader.getSchemaNames(AbstractJdbcDdlReader.java:1407)
    at org.jumpmind.vaadin.ui.sqlexplorer.DbTree.addCatalogNodes(DbTree.java:335)
    at org.jumpmind.vaadin.ui.sqlexplorer.DbTree.expanded(DbTree.java:185)
    at org.jumpmind.vaadin.ui.sqlexplorer.DbTree$Listener.nodeExpand(DbTree.java:381)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:211)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:174)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1033)
    at com.vaadin.v7.ui.Tree.fireExpandEvent(Tree.java:1123)
    at com.vaadin.v7.ui.Tree.expandItem(Tree.java:348)
    at com.vaadin.v7.ui.Tree.changeVariables(Tree.java:554)
    at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:626)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:471)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:414)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
    at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:145)
    at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:235)
    at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:520)
    at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
    at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:223)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:115)
    at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:593)
    at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345)
    at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:447)
    at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272)
    at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269)
    at org.eclipse.jetty.websocket.jsr356.messages.TextWholeMessage.messageComplete(TextWholeMessage.java:56)
    at org.eclipse.jetty.websocket.jsr356.endpoints.JsrEndpointEventDriver.onTextFrame(JsrEndpointEventDriver.java:218)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:375)
    at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:182)
    at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:105)
    at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:142)
    at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:85)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
    at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The server principal "symmetric" is not able to access the database "model" under the current security context.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
    at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:39)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1756)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1761)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.setCatalog(SQLServerConnection.java:2063)
    at org.apache.commons.dbcp.DelegatingConnection.setCatalog(DelegatingConnection.java:374)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setCatalog(PoolingDataSource.java:333)
    at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:21)
    ... 61 more
Steps To Reproduce:
Additional Information: SQL Server Express 2012

Use create script:


USE [master]
GO

/* For security reasons the login is created disabled and with a random password. */
/****** Object: Login [symmetric] Script Date: 7/17/2018 3:40:53 PM ******/
CREATE LOGIN [symmetric] WITH PASSWORD='', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO

ALTER LOGIN [symmetric] DISABLE
GO


USE [db-prod]
GO

/****** Object: User [symmetric] Script Date: 7/17/2018 3:41:51 PM ******/
CREATE USER [symmetric] FOR LOGIN [symmetric] WITH DEFAULT_SCHEMA=[dbo]
GO


Attached Files: screen-error.png (142,409 bytes) 2018-07-17 15:47
http://www.symmetricds.org/issues/file_download.php?file_id=159&type=bug
png
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3626 [SymmetricDS] Bug minor have not tried 2018-07-11 12:00 2018-07-11 13:00
Reporter: maxwellpettit Platform:  
Assigned To: maxwellpettit OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.9  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.10  
Summary: Incorrect default value for stream.to.file.enabled
Description: boolean useExtractJob = parameterService.is(ParameterConstants.INITIAL_LOAD_USE_EXTRACT_JOB, true);
        boolean streamToFile = parameterService.is(ParameterConstants.STREAM_TO_FILE_ENABLED, false);
        if (useExtractJob && !streamToFile) {
            throw new SymmetricException(String.format("Node '%s' is configured with confilcting parameters which may result in replication stopping and/or empty load batches. "
                    + "One of these two parameters needs to be changed: %s=%s and %s=%s",
                    node.getNodeId(), ParameterConstants.INITIAL_LOAD_USE_EXTRACT_JOB, useExtractJob, ParameterConstants.STREAM_TO_FILE_ENABLED,
                    streamToFile));
        }
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3554 [SymmetricDS] Improvement minor have not tried 2018-05-08 11:57 2018-06-21 14:53
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Postgres bulk loader throws error if more columns in source than target
Description: The default database loader utilizes the target table to determine the columns to load but the bulk loader does not. Adjust the bulk loader to have similar behavior.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3339 [SymmetricDS] Bug major always 2017-12-14 09:48 2018-06-21 14:53
Reporter: woehrl01 Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Retrying batch gets ignored/OKed if stream.to.file.enabled = false
Description: If a batch fails at it gets retried, but on the client stream.to.file.enabled = false is set, the batch gets ignored as the protocoldatawriter doesn't have the original content. So the batch gets silently OKed even so an error occurred the first time.
Steps To Reproduce: Have client with stream.to.file.enabled = false

send an SQL which fails.

The first time it fails, the second time the batch gets OKed.
Additional Information:
Attached Files:
Notes
(0001085)
chenson   
2017-12-14 10:35   
Can you test this in the 3.9 branch? I think it might be fixed there. We are hoping to release 3.9 tomorrow ...
(0001086)
woehrl01   
2017-12-14 11:33   
I haven't tried on the 3.9 but looked at the code there to possible port something, and haven't found any noticeable difference.

I can have a look for this in 3.9 tomorrow.

The following (pretty hackish) fixes the problem for me:

--- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java Fri Nov 24 11:37:19 2017 +0100
+++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java Thu Dec 14 16:32:32 2017 +0100
@@ -1070,8 +1070,16 @@
                     dataService.deleteCapturedConfigChannelData();
                     outgoingBatchService.markAllConfigAsSentForNode(batch.getSourceNodeId());
                 }
+ boolean isRetry = (boolean)context.get("batchIsRetryFromPureTransport");
+ context.remove("batchIsRetryFromPureTransport");
                 IncomingBatch incomingBatch = new IncomingBatch(batch);
                 this.batchesProcessed.add(incomingBatch);
+ if(isRetry) {
+ incomingBatch.setStatus(Status.RS);
+ incomingBatchService.updateIncomingBatch(incomingBatch);
+ return false;
+ }
+
                 if (incomingBatchService.acquireIncomingBatch(incomingBatch)) {
                     this.currentBatch = incomingBatch;
                     context.put("currentBatch", this.currentBatch);
--- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java Fri Nov 24 11:37:19 2017 +0100
+++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java Thu Dec 14 16:32:32 2017 +0100
@@ -208,6 +208,7 @@
                     Batch batch = new Batch(batchType, Long.parseLong(tokens[1]), channelId,
                             binaryEncoding, sourceNodeId, targetNodeId, false, dataCreateTime);
                     statistics.put(batch, new DataReaderStatistics());
+ context.put("batchIsRetryFromPureTransport", tokens[0].equals(CsvConstants.RETRY));
                     tokens = null;
                     return batch;
(0001087)
woehrl01   
2017-12-14 11:37   
this bug sounds similar to 3333 but that is only on the extract side.
(0001096)
woehrl01   
2018-01-05 05:52   
I just verified that this problem still exists in 3.9.2.

It still can be fixed via this workaround, the code just moved from DataLoaderService.java to ManageIncomingBatchListener.java

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3602 [SymmetricDS] Improvement minor always 2018-06-14 09:48 2018-06-14 09:48
Reporter: pohmelie Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Unique key constraint in postgresql
Description: I have two postge db with two symmetric instances. Both db have some rows, which conflicts by unique key constraint when symmetric trying to insert data from one to another. I don't aware enough about savepoints and why conflict resolution is turned off in such cases, but can such situation be resolved by symmetric correctly? Maybe I need extra options or something?
https://github.com/JumpMind/symmetric-ds/blob/3.9/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriter.java#L219
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3600 [SymmetricDS] Bug block always 2018-06-13 02:19 2018-06-13 02:19
Reporter: cuztomise Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: symmetric ds unable to sync between servers
Description: i am trying to connect a database from ssl based master server to a non-ssl based slave server but i am unable to sync between them . data is routed from master server and there are logs in sym_outgoing_batch table but there are no logs in sym_incoming_table at slave end also i receive following error at slave end.

2018-06-13T05:58:59.197511Z 388 [Note] Aborted connection 388 to db: 'testdb' user: 'cuz' host: '10.10.12.2' (Got an error reading communication packets)
2018-06-13T05:58:59.201265Z 393 [Note] Aborted connection 393 to db: 'testdb' user: 'cuz' host: '10.10.12.2' (Got an error reading communication packets)
2018-06-13T05:58:59.201356Z 390 [Note] Aborted connection 390 to db: 'testdb' user: 'cuz' host: '10.10.12.2' (Got an error reading communication packets)
2018-06-13T05:58:59.201484Z 392 [Note] Aborted connection 392 to db: 'testdb' user: 'cuz' host: '10.10.12.2' (Got an error reading communication packets)
2018-06-13T05:58:59.201631Z 391 [Note] Aborted connection 391 to db: 'testdb' user: 'cuz' host: '10.10.12.2' (Got an error reading communication packets)

there are no errors in symmetric ds logs and i can see connection being established between master and slave server as initial table formation take place at both ends but there doesn't seems to be any data synchronization
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3506 [SymmetricDS Pro] Bug minor sometimes 2018-03-28 08:47 2018-06-05 16:21
Reporter: elong Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.10.0  
Summary: Transform screen incorrectly warns there isn't a trigger router combination
Description: The transform screen will sometimes incorrectly warn:

"Are you sure you want to save the transform. There isn't a trigger router
combination configured yet that will capture the data to be transformed."

Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3579 [SymmetricDS Pro] Improvement minor have not tried 2018-05-24 10:22 2018-05-24 10:22
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Allow all list screens in SymmetricDS Pro to Save Configured Columns, Sort Order, etc.
Description: Allow all list screens in SymmetricDS Pro to Save Configured Columns, Sort Order, etc.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3575 [SymmetricDS] Bug minor have not tried 2018-05-23 08:17 2018-05-23 12:44
Reporter: zulus Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Starting a new process even though the previous 'File Sync Push' process had not finished
Description: My log is full of such messages
Starting a new process even though the previous 'File Sync Push' process had not finished
Details from the previous process: processType=File Sync Push,sourceNodeId=000,targetNodeId=001,queue=null,status=New,startTime=Wed May 23 14:04:43 CEST 2019

I'm using sym_service on one server, multiple channels and queues. Synchronization between postgresql and oracle on highly load database.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001191)
abrougher   
2018-05-23 12:44   
There was a similar data sync issue handled recently by sending keep alive messages. We should use this same method when working with file sync.

The work around for now would be to update the timeouts.

Update SDS Parameter http.timeout.ms from 90000 to a larger value.

In bin/setenv or sym_service.conf increase the value of the defaultReadTimeout property.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3571 [SymmetricDS Pro] Improvement minor have not tried 2018-05-21 16:53 2018-05-21 16:59
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: On Nodes Panel, support network diagnostics for remote nodes
Description: Add the ability to perform a network diagnostic with a remote node from the Manage > Nodes pabel. Maybe this would be a new menu item called "Test Connection" or something like that. Some ideas:

1) Base it off the remote node's /ping url
2) Check HTTP headers coming back (ie, is there a proxy intercepting? is the hostname even a SymDS server?)
3) Test different HTTP methods (GET/POST/PUT) to check for firewalls blocking.
4) Provide diagnostic info around the specific error (e.g. No route to host, unknown host, connection refused, connection timeout, etc.)

This info should be displayed to the user and also logged so it's available in support snapshots.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3570 [SymmetricDS Pro] New Feature minor have not tried 2018-05-21 11:30 2018-05-21 11:30
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Allow create of SymmetricDS console users through either symadmin or rest service
Description: Allow create of SymmetricDS console users through either symadmin or rest service
Steps To Reproduce:
Additional Information: For both, would have to ensure this option was only available for Pro installations.
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3567 [SymmetricDS Pro] Bug minor have not tried 2018-05-17 13:39 2018-05-17 13:39
Reporter: nrichardson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: uninstaller does not appear to clean up sym_node_host
Description: running ./symadmin uninstall --engine my_engine_name appears to leave an instance in sym_node_host. Should remove this on uninstall as well.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3558 [SymmetricDS] Improvement minor have not tried 2018-05-10 11:17 2018-05-10 11:17
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Allow initial.load.before.sql and initial.load.after.sql to run for a given node group
Description: Allow initial.load.before.sql and initial.load.after.sql to run for a given node group
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3505 [SymmetricDS] Bug minor sometimes 2018-03-26 09:25 2018-05-08 13:00
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SYM_TABLE_RELOAD_REQUEST is updated via DateTime which sometimes fails due to precision mismatch
Description: The updateProcessedTableReloadRequest sql in DataServiceSqlMap uses a datetime to update the row entry.

On MSSQL this always fails if the precision is less than 0.00x milliseconds.

An entry with '2018-03-26 13:45:34.680' is updated, an entry with '2018-03-26 13:45:34.673' failes, which leads to reprocessing this entry over and over again.
Steps To Reproduce: Use Microsoft SQL Server

Insert a table_reload_request with a create_time value of '2018-03-26 13:45:34.673'
Additional Information:
Attached Files:
Notes
(0001182)
woehrl01   
2018-05-08 07:25   
see https://github.com/JumpMind/symmetric-ds/pull/89

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3548 [SymmetricDS] Bug minor sometimes 2018-05-07 02:47 2018-05-07 02:49
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: NPE on processing schema only batches
Description: If you process schema only batches you sometimes get NPE at random places.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001179)
woehrl01   
2018-05-07 02:49   
see https://github.com/JumpMind/symmetric-ds/pull/85

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3546 [SymmetricDS] New Feature minor have not tried 2018-05-04 09:06 2018-05-04 09:06
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Add a IClientReloadListener to add a hook for reloads on the client
Description: Similar to having a hook on the server, a hook on the client can be usefull to run tasks after the reload is completed.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001176)
woehrl01   
2018-05-04 09:06   
see https://github.com/JumpMind/symmetric-ds/pull/81

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3543 [SymmetricDS] Bug minor have not tried 2018-05-04 08:33 2018-05-04 08:33
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: System tables should be ignored on MssqlDdlReader
Description: If you have tables with the same name like system tables you will sometimes read the schema of the system table.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3535 [SymmetricDS] Improvement feature have not tried 2018-04-30 10:50 2018-04-30 10:50
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Sync Oracle Geometry Type on Oracle Express
Description: SymmetricDS currently allows synchronizing Oracle Geometry types on Oracle standard edition; however, the express edition doesn't sync the geometry type properly due to the SDO_UTIL.TO_WKTGEMOETRY function not being supported in the Oracle express edition .
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3534 [SymmetricDS Pro] Bug minor always 2018-04-30 09:33 2018-04-30 09:33
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.36  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Replication Interbase / Postgresql
Description: Hello
Here My Nodes definitions

- Master (Interbase)
|- Store1_DATABASE_IB ((Interbase)
|- Store1_DATABSE_PG (Postgresql)
  |- PointOfSale1_DATABASE_PG(Postgresql)
  |- PointOfSale2_DATABASE_PG(Postgresql)
|- Store2_dataBASE_IB (INTERBASE)
|- Store2_DATABSE_PG (Postgresql)
  |- PointOfSale3_DATABASE_PG(Postgresql)
  |- PointOfSale3_DATABASE_PG(Postgresql)

The replication works fine between all nodes except with the Euro Symbol between IB en PG

It's because the Interbase databe are in charset NONE en PG in UTF8 WIN1252 (french.france)

>IB Nodes
wrapper.java.additional.18=-Dfile.encoding=ISO8859_15
And I can't modified this value ! because it's the only way to do replication between my IB databases

I tyr PG Nodes
wrapper.java.additional.9=-Dfile.encoding=utf-8
wrapper.java.additional.18=-Dfile.encoding=ISO8859_15
...Etc.... and other it's never the good solution...







Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2903 [SymmetricDS] Bug minor always 2016-11-15 16:19 2018-04-26 14:05
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: DataExtractorService is not incrementing DataBytesSent and DataSent
Description: After upgrading to 3.8, I found that the stats are missing values for DataBytesSent and DataSent, even so data is transmitted.

I think the issue as been introduces via this changeset:
https://github.com/JumpMind/symmetric-ds/commit/9644ef8e87ab7a35eefc650158e327dae12534f6#diff-4019c11ce359b9cc1b3599ed55c162cb

which doesn't call the statisticManager if mode == ExtractMode.FOR_SYM_CLIENT && writer != null which mostly is true on "normal" transfer.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001171)
woehrl01   
2018-04-26 14:05   
This issue is resolved in 3.9.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2669 [SymmetricDS] Improvement minor always 2016-07-04 03:46 2018-04-26 14:04
Reporter: woehrl01 Platform: SqlServer 2012  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.2  
Summary: Bad performance for getActiveTriggerHistories() and getTriggers(boolean replaceTokens)
Description: After profiling our databases I found that the two most expensive queries are coming from SymmetricDS.

They are both in the TriggerRouter.java:

getActiveTriggerHistories()

getTriggers(boolean replaceTokens)

I think both should use a cache.
Steps To Reproduce:
Additional Information:
Attached Files: worst_queries.png (8,365 bytes) 2016-07-04 03:46
http://www.symmetricds.org/issues/file_download.php?file_id=109&type=bug
png
Notes
(0000807)
elong   
2016-07-07 08:09   
How long of a time period was used to collect those statistics?

I don't think those methods are called directly, but are called from something like getTriggerRoutersCacheForCurrentNode(), which uses caching to avoid calling those methods. There is a parameter to control how long it lives in the cache, which is cache.trigger.router.time.ms=600000. It defaults to 10 minutes, so you could increase it to reduce the queries. It flushes the cache whenever it syncs the triggers. I increased the parameter and ran sync for a while without seeing those queries being run.

We might be able to change it so that a non-clustered system will cache until the sync triggers is called. I think the cache timeout would still be necessary on a cluster, where sync triggers might run on just one node and the other nodes would still have their cache.

So, see if increasing the parameter helps your system. I will bring up this issue with the team and see if we can cache until sync triggers on non-clustered systems.
(0000808)
woehrl01   
2016-07-07 08:57   
The time period is about 5-7 days. I'm using a push/pull, non-clustered setup.

If I looked at the source correctly I think it occures from "DataService.insertHeartbeatEvent"

I'll have a look for increasing the value. Besides increasing the cache timeout, do you have a tip what would be the best idea to analyse this better?
(0000809)
woehrl01   
2016-07-07 09:54   
(Last edited: 2016-07-07 10:04)
I just looked deeper into the time period and it occures about every 10 seconds, which lead me to the router job.

The root cause I think is the "insertInitialLoadEvents" if you have some nodes which are initial_load_enabled = 1 but aren't registered yet (sync_enabled = 0).

I think it should return only nodes from findNodesThatAreReadyForInitialLoad which are sync_enabled = 1.

which means adjusting the NodeServiceSqlMap "findNodeSecurityWithLoadEnabledSql" to include a join on sym_node. What do you think?

I'd provide a PR if you want

(0000810)
woehrl01   
2016-07-07 10:08   
The other one is coming from ExtractRequestMapper which calls findTriggerRouterById without "false" which causes cache invalidation. If you have pending extract requests.
(0000811)
elong   
2016-07-07 16:33   
Thanks for digging into it. The analysis can be tough -- I was running from Eclipse and adding a Thread.dumpStack() line wherever it runs those SQL statements so I could see where the calls where coming from.

The calls from findNodesThatAreReadyForInitialLoad should be fixed in 3.8 because it's using a cache of NodeSecurity to find nodes with the initial load flag now (issue 2668 did that I believe).

I see what you mean about ExtractRequestMapper. I can't think of any reason it needs to refresh like that, so I changed it to pass refreshCache=false for 3.8.
(0000812)
woehrl01   
2016-07-07 17:17   
(Last edited: 2016-07-07 17:49)
I'm not that convinced that just caching findNodesThatAreReadyForInitialLoad is enough. As returning of nodes which are sync_enabled = 0 is still wrong, in my opinion. And returning any, lead to the call of the expensive query which could even be optimized in returning just bool as it just checks the result for count > 0. What do you think?

(0000819)
woehrl01   
2016-07-18 17:05   
I made a PR (https://github.com/JumpMind/symmetric-ds/pull/36) which fixes the second huge sql query from this ticket. This lead to a lot less database resource usages.

Btw don't mind the sync_enabled = 0 thing, as it leads to different queries as long as those are not cached and additionally it leads to a different behaviour.
(0000872)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.
(0001170)
woehrl01   
2018-04-26 14:04   
I think this issue can be closed as the code has changed.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3319 [SymmetricDS] Bug major always 2017-11-16 05:05 2018-04-26 14:03
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Stoping the engine on the main node via rest stops the whole system
Description: Stoping the engine on the main node via rest stops the whole system. As it writes into sym_parameter with

ALL ALL auto.start.engine false 2016-02-16 13:49:52.383 system 2017-11-16 10:58:55.800

if this is synced down to the nodes, you'll have to manually adjust all nodes.
Steps To Reproduce: Call stop engine on the rest endpoint
Additional Information:
Attached Files:
Notes
(0001169)
woehrl01   
2018-04-26 14:03   
I think this issue can be closed as the PR has been merged already.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3361 [SymmetricDS] Improvement minor have not tried 2018-01-10 03:49 2018-04-26 14:02
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Beanshell Version has CVE
Description: The current beanshell version has a CVE-2016-2510. See https://github.com/beanshell/beanshell
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001167)
woehrl01   
2018-04-26 14:02   
I think this issue can be closed as the PR has been merged already.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3523 [SymmetricDS] Bug major always 2018-04-20 09:39 2018-04-20 09:53
Reporter: dfaglioni Platform:  
Assigned To: josh-a-hicks OS:  
Priority: high OS Version:  
Status: resolved Product Version: 3.9.6  
Product Build: Resolution: duplicate  
Projection: none      
ETA: none Fixed in Version: 3.9.7  
    Target Version:  
Summary: NPE AddForeignKeyChange
Description: NullPointerException occurs on applying foreing key to the slaves
Steps To Reproduce: Just followed the Demo sample
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3519 [SymmetricDS] Improvement major always 2018-04-15 16:40 2018-04-16 11:02
Reporter: rohin.mstillheere Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.8.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Enabling one way replication from master to secondary. Rejection of push requests from secondary to master
Description: I have tried multiple configurations so that my master node would only push data and should not accept data when any push requests comes from any of the synchronized client nodes.

None of my configurations are taking any affect and whenever i send HTTPS push request from secondary -> master, it modifies the database at master node.

I believe that modifying the properties does stop the synchronization from secondary -> master database but does not reject the push requests that are received at master node. Master always accepts such requests. Is it supported to dishonor such requests at Master saying it is not configured to accept push APIs form any client and it only sends data?

This is more of one way replication from master to secondary and stopping the reverse at master, even if secondary attempts to do so.
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001162)
elong   
2018-04-16 09:07   
Remove the sym_node_group_link for secondary -> master
(0001163)
rohin.mstillheere   
2018-04-16 11:02   
Thanks for the quick response! Please specify which configuration file or database entry is to be modified (as explained in the comment)

I wanted to be able to perform the below
Configuration change at Symmetric DS installed on master which can reject any kind of REST call with push from symmteric DS installed on the client node.

Regards,
Rohin

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
1445 [SymmetricDS] Improvement minor have not tried 2013-10-17 09:58 2018-04-09 15:23
Reporter: chenson Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.6.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: improve performance of purge queries
Description: https://sourceforge.net/p/symmetricds/discussion/739236/thread/3747ece1/

erilong - Yes, that makes sense. I would even go one step further and explicitly join sym_data_event and sym_outgoing_batch.

delete from sym_data where data_id between :min_id and :max_id and create_time < : cutoff_time and data_id in ( select e. data_id from sym_data_event e where e.data_id between :min_id and :max_id ) and not exists ( select e.data_id from sym_data_event e inner join sym_outgoing_batch b on b.batch_id = e.batch_id where e.data_id between :min_id and :max_id and b.status != 'OK' and e.data_id = sym_data.data_id)
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000724)
apuma   
2015-10-22 20:56   
It's important for user of firebird with big tables to purge
(0001046)
gilles.riand   
2017-05-04 10:24   
(Last edited: 2017-06-28 02:41)
I confirm with Interbase it's the same problem. > Not Exists or NOT IN is very slow


View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3513 [SymmetricDS] Bug minor have not tried 2018-04-06 17:04 2018-04-06 17:04
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Long sym_trigger definitions don't capture and sync properly on Sybase
Description: Because of the 16k limit on Sybase, if the sum total of characters in a sym_trigger row are > 16k (for example, have a 10k custom_before_insert_text and a 10k custom_before_update_text) - then the row is captured incompletely and cannot be routed. Normally this can be worked around by settings stream_lobs on the trigger, but since sym_trigger does not have a configurable trigger, it's not clear how to accomplish this.

We recently added logic to detect if a single field > 16k. Maybe we could modify that logic to handle this case where the whole row is 16k.

Caused by: org.jumpmind.symmetric.SymmetricException: The number of recorded column names (37) did not match the number of captured data values (21). The data_id 1317 failed for an INSERT on sym_trigger.
column_names:
{trigger_id,source_catalog_name,source_schema_name,source_table_name,channel_id,reload_channel_id,sync_on_update,sync_on_insert,sync_on_delete,sync_on_incoming_batch,name_for_update_trigger,name_for_insert_trigger,name_for_delete_trigger,sync_on_update_condition,sync_on_insert_condition,sync_on_delete_condition,custom_before_update_text,custom_before_insert_text,custom_before_delete_text,custom_on_update_text,custom_on_insert_text,custom_on_delete_text,external_select,tx_id_expression,channel_expression,excluded_column_names,included_column_names,sync_key_names,use_stream_lobs,use_capture_lobs,use_capture_old_data,use_handle_key_updates,stream_row,create_time,last_update_by,last_update_time,description}
values:
{long data here...}
    at org.jumpmind.symmetric.route.AbstractDataRouter.testColumnNamesMatchValues(AbstractDataRouter.java:228)
    at org.jumpmind.symmetric.route.AbstractDataRouter.getDataAsString(AbstractDataRouter.java:102)
    at org.jumpmind.symmetric.route.AbstractDataRouter.getNewDataAsString(AbstractDataRouter.java:89)
    at org.jumpmind.symmetric.route.AbstractDataRouter.getDataMap(AbstractDataRouter.java:64)
    at org.jumpmind.symmetric.route.ConfigurationChangedDataRouter.routeToNodes(ConfigurationChangedDataRouter.java:132)
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:1010)
    ... 15 more
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3512 [SymmetricDS] Improvement minor have not tried 2018-04-06 11:40 2018-04-06 11:40
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Make snapshot name configurable
Description: Allow the name of the snapshot to be configurable and allow any of the following variables:

- hostname
 - engine name
 - timestamp
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3511 [SymmetricDS Pro] Bug minor have not tried 2018-04-05 14:35 2018-04-05 14:38
Reporter: gwilmer Platform:  
Assigned To: gwilmer OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.6  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.7  
Summary: NullPointerException in console UI when attempting to resolve offline nodes
Description: NullPointerException in console UI when attempting to resolve offline nodes
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3490 [SymmetricDS Pro] Improvement minor have not tried 2018-03-15 07:33 2018-03-15 07:33
Reporter: josh-a-hicks Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Changing a change capture channel to reload when tables are currently associated with it.
Description: If you have triggers defined with a given channel and then edit the channel to mark it a reload channel the edit table trigger shows blank for the channel id and the channel it is associated with no longer shows in the drop down.

Potential fix would be to add validation to the edit channel form so that there is a check when marking a channel as reload to determine if there are any tables currently using that channel for change capture.

This causes some confusion in UI but not sure if it has a bigger affect when changes are actually captured and synced on a reload channel.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3486 [SymmetricDS] Improvement minor have not tried 2018-03-12 16:05 2018-03-12 16:05
Reporter: kpatierno Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Provide additional info on the affected nodes and the specific error when a monitor fires and sends
Description: Provide additional info on the affected nodes and the specific error when a monitor fires and sends. For example, if the monitor is for Batches in error then Symmetric should display the error message and more details on the monitor that fired.

***
2018-03-12 15:51:46 [SEVERE] [ad:00725:5775] [server] Monitor event for batchError reached threshold of 1 with a value of 1

Ideally, this message should contain the nodes affected as well as the specific info on the batch in error.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3436 [SymmetricDS Pro] Bug minor always 2018-02-20 12:13 2018-03-12 08:22
Reporter: kpatierno Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: The 'Auto Create Triggers' screen clears all selected tables if the user enters a search into 'filter results'
Description: The 'Auto Create Triggers' screen clears all selected tables if the user enters a search into 'filter results'
Steps To Reproduce: - Open 'Auto Create Table Triggers
- Select any table(s) from the list.
- Now in the search box, type the name of another table and then select it.
- The first selected table(s) is no longer marked in the check box.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3479 [SymmetricDS] Improvement minor have not tried 2018-03-07 10:12 2018-03-07 10:12
Reporter: nrichardson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Locate the catalog/schema regardless of the case
Description: Depending on the database settings, sometimes catalog/schema names are case specific. This would enable Symmetric to locate the catalog/schema regardless of the case use in the configuration.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3476 [SymmetricDS] Improvement minor have not tried 2018-03-06 14:00 2018-03-06 14:00
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: When a node is unregistered cancel all jobs / threads that are actively doing work for that node
Description: When a node is unregistered cancel all jobs / threads that are actively doing work for that node. The users scenario was a large initial load going to a node, that was subsequently unregistered. The initial load was large (> 35 M rows) and the extract job kept extracting after the node was unregistered and the load cancelled.
Steps To Reproduce: 1. Register a node
2. Kick off large initial load
3. Unregister the node
4. Watch extract job continue.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3461 [SymmetricDS] Bug major always 2018-02-28 09:21 2018-02-28 14:52
Reporter: rayp Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.4  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: mysql bulk loader doesn't work with binary() columns, tries to insert in wrong column.
Description: During an initial load of a table that has one or more binary() column, my logs were spammed with errors about wrong data types when I know my input data was clean. I realized that it was trying to insert data in the column next to the proper one.
 After a lengthy discussion on the forum, someone (Lukas) suggested that it may be the bulk loader. Disabling the bulk loader fixed the problem.

I had 2 tables with binary columns and both gave tons of errors when trying to do initial loads.

Here's a link to the forum discussion, specifically the problem code: https://sourceforge.net/p/symmetricds/discussion/739236/thread/52ebedea/#65e0
Steps To Reproduce: Set up a sync using mysql bulk loader and load some tables with binary() data types.
Additional Information: I've had this problem with every version of SDS I've used, 3.9.2 - 3.9.4.
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
963 [SymmetricDS] Bug minor always 2012-12-19 06:51 2018-02-28 14:52
Reporter: gemisigo Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.2.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Update and delete does not sync on tables with varbinary primary key
Description: When a table contains one single varbinary column and it is the primary key, inserts do propagate from source to target but updates and deletions don't.
Steps To Reproduce: Create a table with a single varbinary(13) column and let that be the primary key. Insert a few records.

Inserts will sync, sym_data table has the varbinary data in row_data and NULL in both pk_data and old_data columns.

Now when you try to delete a record, the logs show there's been a pull that routed 1 data event but nothing changes, the record is not deleted. A peek at sym_data table at the source revealed that the row_data column is NULL (I'm not sure if that's relevant or not) but both pk_data and old_data columns contain empty strings.
Altough it's a bit strange to change the primary key column, I tried to update it just out of curiosity. The change wasn't captured at all.
Additional Information: Source is MSSQL 2k8 R2.
Target is MySQL 5.1.66.
I haven't tried this when there are more than one columns in the tables but I guess that wouldn't change anything as long as the varbinary column is the primary key.
Attached Files:
Notes
(0000173)
chenson   
2012-12-19 21:46   
Have you tried to set use_stream_lobs on sym_trigger?
(0000174)
gemisigo   
2012-12-20 04:40   
I've tried your suggestion of setting use_stream_lobs to 1 but now I get an error message when I try to insert into that table:

Msg 16924, Level 16, State 1, Procedure SYM_ON_I_FOR_VB_PRB_BSDT, Line 3
Cursorfetch: The number of variables declared in the INTO list must match that of selected columns.
(0000175)
chenson   
2012-12-20 08:37   
That sounds like 2 bugs. We'll resolve them in the next point release.
(0000177)
gemisigo   
2012-12-21 03:52   
Thank you very much. Any info on the release? The roadmap shows schedule for 2012-12-18.
(0001135)
rayp   
2018-02-28 14:34   
It looks like we are still running into this problem. Has this really not been fixed since 2012?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3157 [SymmetricDS] Improvement minor have not tried 2017-06-13 14:48 2018-02-22 16:58
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.26  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.26  
    Target Version: 3.8.26  
Summary: Allow bulk loaders to fall back to default loader when an error occurs
Description: If a bulk loader fails currently the issues need to be resolved or bulk loading needs to be turned off. Need the ability for an error in the bulk loading to retry the batch on a subsequent load using the default loader.
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3329 [SymmetricDS] Bug minor have not tried 2017-12-04 11:03 2018-02-14 15:08
Reporter: kpatierno Platform:  
Assigned To: kpatierno OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.32  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Unsuccessful upgrade from 3.7 to 3.8
Description: * https://sourceforge.net/p/symmetricds/discussion/739236/thread/7c860859/

Dear Sirs

We Currently Successfully Run SymmetricDS 3.7.2 between a PostgreSql Master to Sybase Target and it works very Well.

Recently my developers attempted to Upgrade to SymmetricDS 3.8.29 and it failed.

They Followed The Brief Instructions found in the Manual Under F.1 Full Upgrade.

However, I would like to understand if there are Any Steps in the Initial Startup of a Upgraded SymmetricDS.

They Did exactly the Steps 1 thru 7,

However when SymmetricDS Restarted (or was Started as we have normally Start it) We Ran into an issue because the version of Postgresql jdbc driver we used referred to a system level column that was removed in the Database System Table in Postgres v9, So we got all these Errors

[PostgreSqlDdlReader] [symmetric-engine-startup-0] Failed to read table: sym_node_identity. Error: ERROR: column t1.tgisconstraint does not exist

We figured out the issue, and upgraded the JDBC Driver and Re-Started again.

I can See in the Logs that SymmetricDS attempts to alter the Sym_ Tables and Drop Some ..etc.

However I saw These Messages

    2017-09-21 16:07:48,835 WARN [gras-001] [AseDdlBuilder] [symmetric-engine-startup-1] Data cannot be retained in table sym_node_communication because of the addition of the required column queue . The data is backed up in Table [name=sym_node_communication_; 12 columns], consider manually migrating the data back or dropping this temp table.
    2017-09-21 16:07:48,849 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] There are SymmetricDS tables that needed altered
    2017-09-21 16:07:48,850 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: SET quoted_identifier on
    2017-09-21 16:07:48,850 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: SET quoted_identifier on
    2017-09-21 16:07:48,874 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE type = 'U' AND name = 'sym_node_')
    BEGIN
    DROP TABLE DAOA001.dbo.sym_node_ END
    2017-09-21 16:07:48,874 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: SET quoted_identifier on
    2017-09-21 16:07:49,137 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: CREATE TABLE DAOA001.dbo.sym_node_(
    node_id VARCHAR(50) NOT NULL,
    node_group_id VARCHAR(50) NOT NULL,
    external_id VARCHAR(50) NOT NULL,
    sync_enabled SMALLINT DEFAULT 0 NULL,
    sync_url VARCHAR(255) NULL,
    schema_version VARCHAR(50) NULL,
    symmetric_version VARCHAR(50) NULL,
    database_type VARCHAR(50) NULL,
    database_version VARCHAR(50) NULL,
    heartbeat_time DATETIME NULL,
    timezone_offset VARCHAR(6) NULL,
    batch_to_send_count NUMERIC(12,0) DEFAULT 0 NULL,
    batch_in_error_count NUMERIC(12,0) DEFAULT 0 NULL,
    created_at_node_id VARCHAR(50) NULL,
    deployment_type VARCHAR(50) NULL,
    PRIMARY KEY (node_id)
    )
    2017-09-21 16:07:49,140 INFO [gras-001] [AseSymmetricDialect] [symmetric-engine-startup-1] DDL applied: INSERT INTO DAOA001.dbo.sym_node_ (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id,deployment_type) SELECT node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id,deployment_type FROM DAOA001.dbo.sym_node

And Symmds would not start and work

So We Restored the 3.7.2 Software, and I dropped all sym_ Tables in Source/Target and BAsically Restarted from Scratch the installation

We Want to Try this Again (with the Proper JDBC Driver)

However, I would like to know what the Appropriate steps for Restart should be in order to Upgrade the Software/Sym schema without having to lose my existing configuration.

Please let me know

Thank you
Anthony V
Steps To Reproduce: SymmetricDS 3.7.2, PostgreSql ver3.9 server
SymmetricDS 3.7.2, Sybase client

Upgrade both to 3.8

Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3424 [SymmetricDS] Bug major always 2018-02-14 13:22 2018-02-14 13:23
Reporter: jflambert Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Unable to uninstall SymmetricDS PostgreSQL node when using dedicated schema
Description: symadmin uninstall fails when PostgreSQL node is on a dedicated schema (instead of public).
Steps To Reproduce: Install SymmetricDS "staging" node to a dedicated sym_schema schema (as per official documentation). Here is staging.properties:

external.id=staging
engine.name=staging
group.id=staging
sync.url=http\://localhost\:31415/sync/staging
db.url=jdbc\:postgresql\://localhost/nserver?protocolVersion\=2&stringtype\=unspecified&socketTimeout\=300&tcpKeepAlive\=true
db.driver=org.postgresql.Driver
db.user=sym_user
auto.registration=true
registration.url=
db.init.sql=
db.validation.query=select 1
db.password=XXXXXXXXXxxx
db.connection.properties=


Confirm that table sym_parameter table does exist under sym_schema.

Attempt to uninstall SymmetricDS node, an exception will be raised.

root@newtrax78:/opt/symmetric-server-3.9.3/bin# ./symadmin --engine staging uninstall
SLF4J: The following set of substitute loggers may have been accessed
SLF4J: during the initialization phase. Logging calls during this
SLF4J: phase were not honored. However, subsequent logging calls to these
SLF4J: loggers will work as normally expected.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
SLF4J: org.jumpmind.symmetric.AbstractSymmetricEngine
Log output will be written to /var/log/newtrax/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={staging}
[staging] - AbstractSymmetricEngine - Initializing connection to database
[staging] - JdbcDatabasePlatformFactory - Detected database 'PostgreSQL', version '9', protocol 'postgresql'
[staging] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform
[staging] - ParameterService - Could not read database parameters and they have not yet been initialized
[staging] - AbstractSymmetricEngine - Stopping SymmetricDS externalId=staging version=3.9.3 database=?
-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
org.postgresql.util.PSQLException: ERROR: relation "sym_parameter" does not exist
  Position: 36
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356)
    at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:168)
    at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:116)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:97)
 [wrapped] org.jumpmind.db.sql.SqlException: Failed to execute sql: select param_key, param_value from sym_parameter where external_id=? and node_group_id=?
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:120)
    at org.jumpmind.db.sql.JdbcSqlTemplate.queryForCursor(JdbcSqlTemplate.java:140)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:199)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:195)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:185)
    at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:121)
    at org.jumpmind.symmetric.service.impl.ParameterService.readParametersFromDatabase(ParameterService.java:156)
    at org.jumpmind.symmetric.service.impl.ParameterService.getDatabaseParameters(ParameterService.java:198)
    at org.jumpmind.symmetric.service.impl.AbstractParameterService.rereadDatabaseParameters(AbstractParameterService.java:282)
    at org.jumpmind.symmetric.service.impl.ParameterService.rereadApplicationParameters(ParameterService.java:181)
    at org.jumpmind.symmetric.service.impl.AbstractParameterService.getParameters(AbstractParameterService.java:167)
    at org.jumpmind.symmetric.service.impl.AbstractParameterService.rereadParameters(AbstractParameterService.java:156)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.init(AbstractSymmetricEngine.java:320)
    at org.jumpmind.symmetric.ClientSymmetricEngine.init(ClientSymmetricEngine.java:202)
    at org.jumpmind.symmetric.ClientSymmetricEngine.<init>(ClientSymmetricEngine.java:148)
    at org.jumpmind.symmetric.ClientSymmetricEngine.<init>(ClientSymmetricEngine.java:152)
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:389)
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:381)
    at org.jumpmind.symmetric.SymmetricAdmin.uninstall(SymmetricAdmin.java:569)
    at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:335)
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:194)
    at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:144)
-------------------------------------------------------------------------------
Additional Information: May be related to issue 0003418

Adding "&currentSchema\=sym_schema" to db.url allows uninstall to proceed.
Attached Files:
Notes
(0001128)
jflambert   
2018-02-14 13:23   
Using 3.9.3

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3419 [SymmetricDS] Bug minor always 2018-02-13 13:13 2018-02-13 13:15
Reporter: sven Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: MS SQL -> SQLite, don't translate "NEXT VALUE FOR" default value
Description: I have a table in MS SQL Server that has a default value of NEXT VALUE FOR [column]. During the initial load process Symmetric tries to translate this into SQLite, which does not support this default value and therefore throws an error for the outgoing batch, halting progress.
Steps To Reproduce: Table in SQL with a default value of NEXT VALUE FOR
Try to replicate to a SQLite database
Additional Information: 2018-02-13 12:54:48,626 ERROR [v3-mc-0000000] [AcknowledgeService] [qtp1006485584-14] The outgoing batch xxx-250 failed: [,1] [SQLITE_ERROR] SQL error or missing database (near "VALUE": syntax error)

relevant portion of batch file:
        <column name=\"col\" type=\"INTEGER\" size=\"10\" default=\"NEXT VALUE FOR [col]\">
            <platform-column name=\"mssql2008\" type=\"int\" size=\"10\" default=\"NEXT VALUE FOR [col]\"/>
        </column>
Attached Files:
Notes
(0001125)
sven   
2018-02-13 13:15   
I forgot to note that according to the database architecture listed in sym_node, Symmetric is correctly identifying the client DB as SQLite.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3414 [SymmetricDS] Task minor N/A 2018-02-09 17:27 2018-02-09 17:27
Reporter: piali Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.3  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Integration of Apache Ignite with Symmetricds
Description: Hi,

[I had asked the same question in the forum but since I didn't get the response, so raising a ticket.]

Can you please let me know if I am correct to understand the below points?

Case-1) Source: Apache Ignite cache and Target - any DB :
 Initial loads, reverse initial loads, and table reloads can utilize the TABLE_RELOAD_REQUEST to request a load with a variety of options. TABLE_RELOAD_REQUEST requires trigger ID. And since apache ignite isn't trigger based, this scenario is not possible
 https://www.symmetricds.org/doc/3.9/html/user-guide.html#_load_data
 
 Case 2) Source: Any DB and Target - Apache Ignite Cache :
 Since SymmetricDS is trigger based and there are no triggers in Apache Ignite, data can only be loaded to an Apache Ignite instance from another DB.
It also implies that if there is any change in the source DB, it will not be captured in the apache ignite (target).
 https://www.symmetricds.org/doc/3.9/html/user-guide.html#_apache_ignite
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3412 [SymmetricDS] Improvement major always 2018-02-08 18:13 2018-02-08 18:13
Reporter: vibhorejairath Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymmetricDS needs sql script to insert REGISTRATION_REDIRECT entry whereas registration service must handle it.
Description: Hello Support Team,

We are using multi-tiered deployment at our various customers and to overcome the problem of manually inserting records in sym_registration_redirect table, we have customized RegistrationService.java to do it for us programmatically. Is it possible we can get this feature in the base product so that we can get rid of our customization and can do smooth upgradation without worrying about our customization.Also if you can provide the extension-point for RegistrationService then that will suffice our requirement as well.

Our multi-tiered deployment looks like this Central --> Store--> POS. Therefore in the below code we are checking if the groupId is Store then we call saveRegistraionRedirect to save it in the aforementioned table.

 // Start Registration Redirect Update
    public static final String REGISTER_SUFFIX = "00000";
    public static final String TIER_2_GROUP = "store";
    public static final String TIER_3_GROUP = "pos";

    protected String getRedirectionUrlFor(String externalId, String groupId) {
        String redirectUrl = null;
        String nodeStoreId = StringUtils.substring(externalId, 0, 5);

        if (StringUtils.equalsIgnoreCase(TIER_2_GROUP, groupId)) { // is store node
            String redirectId = nodeStoreId + REGISTER_SUFFIX;
            saveRegistrationRedirect(redirectId, externalId);
        } else if (StringUtils.equalsIgnoreCase(TIER_3_GROUP, groupId)) { // is pos node
            String redirectId = nodeStoreId + REGISTER_SUFFIX;
            redirectUrl = getRedirectionUrlFor(redirectId);

            if (StringUtils.isBlank(redirectUrl)) {
                log.warn("Store node for " + nodeStoreId + " must be registered and loaded before POS node "
                        + externalId);
            }
        }
        return redirectUrl;
    }
    // End Registration Redirect Update


I am attaching source file for your reference. Please look for getRedirectionUrlFor method in the attached file.

We also need a extension point to support substring on external_id . The reason for that is One Store can have multiple POS systems and in order to make the node ids unique for all POS terminal, we suffix StoreID with TerminalID. For eg Store ID = 09124 and Terminal ID =001. the externalId for POS node will become 09124001. However, in our database we store data based on storeId and hence we need to use substring method.
Steps To Reproduce: Create a multi-tiered deployment as described above and start the Central, Store and POS nodes.
Additional Information:
Attached Files: RegistrationService.java (38,403 bytes) 2018-02-08 18:13
http://www.symmetricds.org/issues/file_download.php?file_id=143&type=bug
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3397 [SymmetricDS] Bug crash always 2018-01-31 16:19 2018-01-31 16:19
Reporter: anthony.vitale@sonymusic.com Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Using Postgresql 9.6.6 as a Source DB Fails SymmetricDS Upgrade to version 3.9.2 due to old postgresql jdbc driver
Description: This Version of the JDBC Driver has a Issue with PostgreSql verion 9.1 and above in that when it accesses the Postgresql Catalog table pg_trigger in order to look up Catalog Metadata AND it selects a non existant column pg_trigger.tgisconstraint which was dropped from PostgreSQL in Version 9.2 and Above.

I know of this issue specifically when I tried to do a SymmetricDS Upgrade as during the upgrade I assume the SymmetricDS Code is using JDBC Methods which fail with the error

t1.tgisconstraint does not exist.

This is Due to Postgresql Removing this column from the catalog with the release of Postgresql 9.2.4

As Such We replaced the postgresql-9.4-1212.jre7.jar found within the SymmetricDS released lib directory with the Current PostgreSQL JDBC Driver postgresql-42.1.4.jar which works with PGSQL 9.2 and above and no longer references t1.tgisconstraint within the JDBC Driver's methods.

So Please replace the PostgreSQL JDBC driver released with the SymmetricDS to be the Current Version postgresql-42.1.4.jar or whatever the most Current Postgresql JDBC Driver at the Time of Repair of this Issue.

I know that each installation can Supply there own JDBC Drivers, however it would be better to not supply Any JDBC Driver with the Symmetric Release instead of a JDBC Driver which causes Issues in Performing Upgrades.

Thanks
Anthony Vitale
Steps To Reproduce: Use Symmds 9.4.2 to upgrade from any Prior Symmds Release using either the Source or Target node being Postgresql version 9.4 and above.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3388 [SymmetricDS] Bug block always 2018-01-21 16:18 2018-01-24 05:59
Reporter: snpe Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SQL Anywhere triggers issue
Description: SymmetricDS creates T-SQL triggers on SQLAnywhere - http://dcx.sybase.com/1200/en/dbreference/create-trigger-tsql-statement.html
These triggers have default ORDER 1 and always run BEFORE other database "after" triggers (other triggers have to have ORDER > 1 when using Symmetricds).
So, the changes created by other database triggers aren't replicated.

Solution: convert SQLAnywhere triggers to WATCOM SQL - http://dcx.sybase.com/1200/en/dbreference/create-trigger-statement.html
Steps To Reproduce: - create a trigger in SQLAnywhere that change something. The changes within triggers will not be replicated.
Additional Information: I'm willing to update a patch since I have fixed it for us, but we have to use patched SymmetricDS on SQL Anywhere 11.
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3384 [SymmetricDS] Bug minor always 2018-01-19 13:26 2018-01-19 13:30
Reporter: jflambert Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Various warnings appear when executing symadmin send-schema
Description: Following the steps to replicate DDL as per: https://www.symmetricds.org/docs/how-to/sync-schema-ddl-changes

Many warnings appear on screen but otherwise the DDL replication seems successful.
Steps To Reproduce: # sync triggers on staging
symadmin --engine staging sync-triggers

# send schema changes to production
./symadmin --engine staging send-schema --node production
[staging] - AbstractSymmetricEngine - Initializing connection to database
[staging] - JdbcDatabasePlatformFactory - Detected database 'PostgreSQL', version '9', protocol 'postgresql'
[staging] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform
[staging] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[staging] - ExtensionService - Found 0 extension points from the database that will be registered
[staging] - StagingManager - The staging directory was initialized at the following location: /opt/symmetric-server-3.9.2/tmp/staging
[staging] - ClusterService - This node picked a server id of ntx-jeff78
[staging] - ExtensionService - Found 0 extension points from the database that will be registered
[staging] - ClientExtensionService - Found 6 extension points from spring that will be registered
[staging] - Database - Unable to resolve foreign keys for table sym_conflict because the following dependent tables were not included [sym_node_group_link].
[staging] - Database - Unable to resolve foreign keys for table sym_file_trigger_router because the following dependent tables were not included [sym_file_triggersym_router].
[staging] - Database - Unable to resolve foreign keys for table sym_file_trigger_router because the following dependent tables were not included [sym_file_triggersym_router].
[staging] - Database - Unable to resolve foreign keys for table sym_grouplet_link because the following dependent tables were not included [sym_grouplet].
[staging] - Database - Unable to resolve foreign keys for table sym_node_group_link because the following dependent tables were not included [sym_node_groupsym_node_group].
[staging] - Database - Unable to resolve foreign keys for table sym_node_group_link because the following dependent tables were not included [sym_node_groupsym_node_group].
[staging] - Database - Unable to resolve foreign keys for table sym_node_identity because the following dependent tables were not included [sym_node].
[staging] - Database - Unable to resolve foreign keys for table sym_node_security because the following dependent tables were not included [sym_node].
[staging] - Database - Unable to resolve foreign keys for table sym_router because the following dependent tables were not included [sym_node_group_link].
[staging] - Database - Unable to resolve foreign keys for table sym_transform_table because the following dependent tables were not included [sym_node_group_link].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger because the following dependent tables were not included [sym_channelsym_channel].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger because the following dependent tables were not included [sym_channelsym_channel].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger_router because the following dependent tables were not included [sym_routersym_trigger].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger_router because the following dependent tables were not included [sym_routersym_trigger].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger_router_grouplet because the following dependent tables were not included [sym_groupletsym_trigger_router].
[staging] - Database - Unable to resolve foreign keys for table sym_trigger_router_grouplet because the following dependent tables were not included [sym_groupletsym_trigger_router].
Additional Information: symmetric.log shows the same warnings as well as the tables being recreated with the new DDL (success)
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3382 [SymmetricDS] Bug major always 2018-01-19 11:29 2018-01-19 11:29
Reporter: andythuering Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: MV-Store DB corrupt after stopping SymmetricDS replication software
Description: Using the db replication software SymmetricDS with a MV-Store DB leads to DB corruption and crash of h2 after SymmetricDS is stopped. H2 Versions 1.4.195 and 1.4.196 are affected, older versions were not tested. Migration to PageStore is a workaround.
After starting h2 again reconnection e.g. via Shell works sometimes. On disconnect the following stack trace is shown:
sql> quit
SQL Exception: General error: "java.lang.IllegalStateException: This map is closed [1.4.196/4]" [50000-196]
org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: This map is closed [1.4.196/4]" [50000-196]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:295)
at org.h2.server.TcpServerThread.sendError(TcpServerThread.java:220)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:160)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: This map is closed [1.4.196/4]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:765)
at org.h2.mvstore.MVMap.beforeWrite(MVMap.java:1044)
at org.h2.mvstore.MVMap.remove(MVMap.java:542)
at org.h2.store.LobStorageMap.removeLob(LobStorageMap.java:342)
at org.h2.store.LobStorageMap.removeLob(LobStorageMap.java:335)
at org.h2.value.ValueLobDb.remove(ValueLobDb.java:233)
at org.h2.engine.Session.removeTemporaryLobs(Session.java:702)
at org.h2.engine.Session.close(Session.java:848)
at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1412)
at org.h2.engine.Database.close(Database.java:1297)
at org.h2.engine.Database.removeSession(Database.java:1179)
at org.h2.engine.Session.close(Session.java:851)
at org.h2.server.TcpServerThread.closeSession(TcpServerThread.java:184)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:290)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:158)
... 1 more

at org.h2.engine.SessionRemote.done(SessionRemote.java:629)
at org.h2.engine.SessionRemote.close(SessionRemote.java:575)
at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:395)
at org.h2.tools.Shell.promptLoop(Shell.java:313)
at org.h2.tools.Shell.runTool(Shell.java:152)
at org.h2.tools.Shell.main(Shell.java:81)

After this a restart of h2 is needed to get a connection again to the database, connections are no more possible otherwise.
I suppose that SymmetricDS does not close the connections correctly, but this should not lead to a database corruption. The replicated table has some lob fields.
Steps To Reproduce: Use h2 database version 1.4.195 or 1.4.196, create a database with the MV-storage engine. Establish a table replication with a table which contains lob fields (not sure if the cause has to to with lobs). Quit SymDS, try reconnecting with a db client to the database. H2 has crashed and a reconnection only works after a restart of h2. On quitting a connection always a "This map is closed" stacktrace occurs and a restart of h2 is needed. Is it possible that SymDS does not close the connections to the db properly on exit?
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3376 [SymmetricDS Pro] New Feature minor always 2018-01-17 04:54 2018-01-18 11:05
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.36  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Resuming replication in a Disaster/Recovery scenario
Description: Hello

Here my config :With Interbase XE

Very Node can create/update Datas so replication MultiMasters

Master
|--Store1
|--Store2
|--Store3

I'm woking on a Disaster/recovery scennario On the "Master" Database
* I Backup of every Node (Master, Store1, Store2, Store3) every night
* Master Disaster Database ==> So recovery backup from the night
==> I repush the data on the Master from other Nodes by "R" reload With Primary key
==> But because the SYM_DATA_EVENT and SYM_OUTGOING_BATCH are in late every New BATCH from the Master are not PULL to Nodes...

I found a solution : make a lot of heartbeat before staring real datas to do the Gap of Batchs

Do you have a other solution ?

Thank you







Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001106)
gilles.riand   
2018-01-18 11:05   
Hello I think that I found a solution, the problem is in "SYM_INCOMING_BATCH"

incoming.batches.skip.duplicates=false
or
incoming.batches.record.ok.enabled=false

Hope that help someone.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3280 [SymmetricDS] Bug minor sometimes 2017-10-16 12:29 2018-01-02 18:14
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.0  
Summary: SymmetricDS servers fail to start in cluster due to sym schema upgrade race condition
Description: When starting several clustered SymmetricDS servers simultaneously with an upgraded version of the software, several or all of the servers could fail to start due to DDL errors. A viable workaround is when upgrading, allow one server to start up cleanly (and therefore complete the schema upgrade) and then start the other servers in the cluster.

Startup examples include:

2017-10-03 22:05:45,389 WARN [SymmetricDS] [PostgreSqlSymmetricDialect] [symmetric-engine-startup-0] DDL failed: ALTER TABLE sym_node_group_link
    DROP CONSTRAINT sym_fk_lnk_2_grp_src
2017-10-03 22:05:45,390 WARN [SymmetricDS] [JdbcSqlTemplate] [symmetric-engine-startup-0] ERROR: constraint "sym_fk_lnk_2_grp_src" of relation "sym_node_group_link" does not exist. Failed to execute: ALTER TABLE sym_node_group_link
    DROP CONSTRAINT sym_fk_lnk_2_grp_src
2017-10-03 22:05:45,390 ERROR [SymmetricDS] [AbstractSymmetricEngine] [symmetric-engine-startup-0] An error occurred while starting SymmetricDS StackTraceKey.init [SqlException:2493147748]
org.jumpmind.db.sql.SqlException: ERROR: constraint "sym_fk_lnk_2_grp_src" of relation "sym_node_group_link" does not exist
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:526)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:157)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:449)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:423)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:580)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:571)
    at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:244)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:530)
Caused by: org.postgresql.util.PSQLException: ERROR: constraint "sym_fk_lnk_2_grp_src" of relation "sym_node_group_link" does not exist
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2476)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2189)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:301)
    at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:287)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:264)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:260)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:416)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
    ... 10 more


2017-05-03 22:06:20,945 WARN [SymmetricDS] [JdbcSqlTemplate] [symmetric-engine-startup-0] ERROR: constraint "sym_fk_cf_2_grp_lnk" for relation "sym_conflict" already exists. Failed to execute: ALTER TABLE sym_conflict
    ADD CONSTRAINT sym_fk_cf_2_grp_lnk FOREIGN KEY (source_node_group_id, target_node_group_id) REFERENCES sym_node_group_link (source_node_group_id, target_node_group_id)
2017-10-03 22:06:20,946 ERROR [SymmetricDS] [AbstractSymmetricEngine] [symmetric-engine-startup-0] An error occurred while starting SymmetricDS StackTraceKey.init [SqlException:2197569610]
org.jumpmind.db.sql.SqlException: ERROR: constraint "sym_fk_cf_2_grp_lnk" for relation "sym_conflict" already exists
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:526)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:157)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:449)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:423)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:580)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:571)
    at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:244)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:530)
Caused by: org.postgresql.util.PSQLException: ERROR: constraint "sym_fk_cf_2_grp_lnk" for relation "sym_conflict" already exists
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2476)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2189)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:301)
    at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:287)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:264)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:260)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:416)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
    ... 10 more


OR

2017-10-03 22:05:45,665 WARN [SymmetricDS] [JdbcSqlTemplate] [symmetric-engine-startup-0] ERROR: column "data_event_action" of relation "sym_channel" already exists. Failed to execute: ALTER TABLE public.sym_channel
         ADD COLUMN data_event_action CHAR(1)
2017-10-03 22:05:45,666 ERROR [SymmetricDS] [AbstractSymmetricEngine] [symmetric-engine-startup-0] An error occurred while starting SymmetricDS StackTraceKey.init [SqlException:4252188107]
org.jumpmind.db.sql.SqlException: ERROR: column "data_event_action" of relation "sym_channel" already exists
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:493)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:526)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:157)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:449)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:423)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:580)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:571)
    at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:244)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:530)
Caused by: org.postgresql.util.PSQLException: ERROR: column "data_event_action" of relation "sym_channel" already exists
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2476)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2189)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:301)
    at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:287)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:264)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:260)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:416)
    at org.jumpmind.db.sql.JdbcSqlTemplate$6.execute(JdbcSqlTemplate.java:401)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:491)
    ... 10 more
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3347 [SymmetricDS] Improvement major always 2018-01-02 05:37 2018-01-02 05:37
Reporter: Prerna Kumari Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.8.31  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: postgres jar not copied to symmetric ds war
Description: create-war mismatch on symmetric ds version 3.8.28 and 3.8.31/3.8.33
 When create war is done on 0000691:0000028 version then postgresql-9.4-1212.jre7.jar is getting copied to symmetric ds war. But , not getting done on 0000707:0000031/33.

Later as a work around copied postgres jar manually in symmetric-ds WEB-INF/lib after installation. But, SSL handshake exception coming.

[SGW-fc719bff-4ad1-4f15-ad2b-c5b5961d8d87] - DataLoaderService - Using registration URL of https://symmetrictest-iot.harman2.com:31415/symmetric-ds/sync/registration?nodeGroupId=SGW&externalId=fc719bff-4ad1-4f15-ad2b-c5b5961d8d87&syncURL=http%3A%2F%2F129.edcharman.com%3A31415%2Fsync%2FSGW-fc719bff-4ad1-4f15-ad2b-c5b5961d8d87&schemaVersion=%3F&databaseType=PostgreSQL&databaseVersion=9.6&symmetricVersion=3.8.33&hostName=129.edcharman.com&ipAddress=10.97.57.129
[SGW-fc719bff-4ad1-4f15-ad2b-c5b5961d8d87] - RegistrationService - Unexpected error during registration: Read timed out
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
        at java.net.SocketInputStream.read(SocketInputStream.java:171)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
        at sun.security.ssl.InputRecord.read(InputRecord.java:503)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
159)
        at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openStream(HttpIncomingTransport.java:99)
        at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openReader(HttpIncomingTransport.java:125)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:562)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:293)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:250)
        at org.jumpmind.symmetric.service.impl.RegistrationService.attemptToRegisterWithServer(RegistrationService.java:467)
        at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:442)
        at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:85)
        at org.jumpmind.symmetric.job.PullJob.doJob(PullJob.java:54)
        at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:177)
        at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:221)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
[SGW-fc719bff-4ad1-4f15-ad2b-c5b5961d8d87] - RegistrationService - Could not register. Sleeping for 12000ms before attempting again.

Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2861 [SymmetricDS] New Feature minor N/A 2016-10-14 04:28 2017-12-22 15:51
Reporter: maiku Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.2  
Summary: Client certificate authentication
Description: The client certificate and private key reside in keystore, but are not presented when remote endpoint requests TLS client authentication (ie connecting through an haproxy reverse proxy).
Steps To Reproduce:
Additional Information:
Attached Files: symmetric-core-3.8.7.rar (973,203 bytes) 2016-11-03 03:26
http://www.symmetricds.org/issues/file_download.php?file_id=121&type=bug
TransportManagerFactoryPatch.diff (107 bytes) 2016-12-16 02:32
http://www.symmetricds.org/issues/file_download.php?file_id=122&type=bug
Notes
(0000897)
saleem   
2016-11-01 04:33   
We have a similar issue. Does SymmetricDS support using client certificates for authentication and authorisation?
(0000899)
saleem   
2016-11-03 03:26   
(Last edited: 2016-11-03 10:11)
Client certificate authentication worked successfully after removing the modifications from the commit related to the following URL:

https://github.com/JumpMind/symmetric-ds/commit/830189c1bdf60804764651fbd2e1bd496d26228d

A statement was added to the abstract constructor of the class AbstractCommandLauncher in this commit. This statement initialises a default SSL factory for allowing self-signed certificates. The statement does not check if the property for self-signed certificates is enabled before initialising the default SSL factory. This is changing the default behavior of SSL. The added statement is the following:

TransportManagerFactory.initHttps("all", true);

I have tried creating a new 'symmetric-core' JAR file that disables the following statements in the TransportManagerFactory class:

if (allowSelfSignedCerts)
{
   HttpsURLConnection.setDefaultSSLSocketFactory(createSelfSignedSocketFactory());
}

The statements were disabled by using a conjunction with the value 'false' in the condition of the 'if' clause. Client certificate verification worked successfully after passing the following parameters for configuring SSL trust and key stores in the 'sym_service.conf':

-Djavax.net.ssl.trustStore=security/cacerts
-Djavax.net.ssl.trustStorePassword=XXXX
-Djavax.net.ssl.trustStoreType=jks
-Djavax.net.ssl.keyStore=security/keystore
-Djavax.net.ssl.keyStorePassword=XXXX

I have uploaded a JAR file for the 'symmetric-core' archive with these modifications applied. This JAR file worked successfully for client certificate authentication using SymmetricDS version '3.8.7'. The file can be placed in the folder 'web\WEB-INF\lib' for testing.

(0000929)
maiku   
2016-12-14 06:17   
@saleem Wonder if you could provide a diff for your patch?
(0000930)
saleem   
2016-12-16 02:33   
I have uploaded a patch file named 'TransportManagerFactoryPatch.diff'. This patch is based on the source code for version '3.8.7'.
(0001076)
chenson   
2017-11-06 08:13   
See 2886. Should be possible by tweaking system parameters.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3343 [SymmetricDS Pro] Improvement minor N/A 2017-12-22 07:27 2017-12-22 07:27
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.36  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Level priority process SymmetricDS
Description: Hello

I would like to know if it's possible to increase the level priority of instance of Java who run the SymmetricDS.
I'm running in Service on windows, and the Instance is "Normal" Priority

Thank you
Steps To Reproduce:
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3332 [SymmetricDS Pro] Bug minor N/A 2017-12-07 06:57 2017-12-18 06:24
Reporter: pgdba Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.7.38  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: The Dashbord of Master Node node not show properly
Description: We set up master to master profile replication for MS-SQL to Postgresql replication

The replicataion is done properly

Now we added new table to replicate but at master node Dashbord the "Manage","Configure" and "Explorer" tab
not show.(We try with logout from node and login again but it not show)

Please help us

refer snap shot for details
Steps To Reproduce:
Additional Information:
Attached Files: SymmDS Dashboard Issue.png (87,133 bytes) 2017-12-07 06:57
http://www.symmetricds.org/issues/file_download.php?file_id=134&type=bug
png
Notes
(0001082)
pgdba   
2017-12-13 01:15   
Dear Team,

till now we facing the issue.

We can't figure out the issue because there is no error log generated regarding issue.
(0001083)
elong   
2017-12-13 08:31   
Is there an exception in the log file (logs/symmetric.log) when you login?
(0001084)
chenson   
2017-12-13 08:33   
Moved this to the SymmetricDS Pro project
(0001088)
pgdba   
2017-12-18 06:24   
Dear Sir,

There is no log generated in symmetric.log and wrapper.log.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3324 [SymmetricDS] Task minor have not tried 2017-11-28 13:10 2017-12-15 16:19
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.1