View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3547 [SymmetricDS] Improvement minor have not tried 2018-05-05 07:27 2018-05-23 12:52
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.6  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Improve Sqlite DdlBuilder support
Description: Due to the fact that ddl support on Sqlite is very limited, most of the changes in schema lead to recreating the whole table which can take quite some time.

I implemented the following changes:

*A rename of the table is now executed with the alter table ... rename syntax
*Adding of columns is now supported via the alter table ... add column syntax
*Default values are surounded with parenthesis to prevent some syntax errors
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001178)
woehrl01   
2018-05-05 07:27   
see https://github.com/JumpMind/symmetric-ds/pull/83

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.
Tags:
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:
3576 [SymmetricDS] New Feature minor have not tried 2018-05-23 12:12 2018-05-23 12:12
Reporter: kstojanovska 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.8  
Summary: Resync trigger if it is failing due to deadlock
Description: Resync trigger if it is failing due to deadlock
Tags:
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:
3574 [SymmetricDS] Improvement minor have not tried 2018-05-23 07:18 2018-05-23 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.8  
Summary: Improved logging for data truncation issues in Postgres
Description: Provide the column and the data involved in the logging for data truncation exceptions.
Tags:
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:
3573 [SymmetricDS] New Feature minor have not tried 2018-05-23 07:15 2018-05-23 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: TopSpeed (TPS) Router
Description: Allows SymmetricDS to sync Top Speed files (.TPS) using a file sync trigger and a TPS Router into a relational target database.
Tags:
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:
3572 [SymmetricDS] Improvement minor have not tried 2018-05-22 10:33 2018-05-22 11:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.8  
Summary: Improve SymmetricDS acknowledgement logging
Description: Encountered a situation where a node was missing its sym_node_security. This resulted in an ack failure logged like this (which is later followed by the stack trace):

2018-05-21 16:46:55,653 WARN [CLIENT] [DataLoaderService] [client-pull-default-3] Ack was not sent successfully on try number 2. null

Improve this logging to be more thorough and not log "null" at the end.

Tags:
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:
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.
Tags:
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
Tags:
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:
3569 [SymmetricDS] Bug major always 2018-05-18 08:18 2018-05-18 09:21
Reporter: zulus 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: 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?
Tags:
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:
3568 [SymmetricDS Pro] New Feature minor N/A 2018-05-18 08:10 2018-05-18 08:28
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Instance ID for perpetual license key
Description: Add support for matching the current server's instance ID with the contents of the license key when it is a perpetual key. The instance ID is a universally unique identifier for a specific installation.
Tags:
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:
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.
Tags:
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:
3537 [SymmetricDS] Bug major always 2018-05-01 22:01 2018-05-16 13:59
Reporter: vibhorejairath Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.34  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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.
Tags:
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:
3312 [SymmetricDS] Bug minor have not tried 2017-11-13 15:52 2018-05-16 13:57
Reporter: woehrl01 Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Compare tablename case insensitiv on SQLite on trigger creation
Description: This PR changes the comparison if trigger exists on table to case insensitiv, otherwise this could lead to the following error (which gets ignored) if the tablename is quoted (somehow)

[mobil-2] - TriggerRouterService - Cleaning up trigger hist row of 640 after fai
ling to create the associated trigger
[mobil-2] - TriggerRouterService - Failed to create triggers for GR_APPOINTMENT2
CUSTOMER
org.jumpmind.db.sql.SqlException: [SQLITE_ERROR] SQL error or missing database (
trigger SYM_ON_I_FOR_XXX_M2C_MBL already exists)
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate
.java:288)
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate
Tags:
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:
3565 [SymmetricDS] Improvement minor have not tried 2018-05-16 11:57 2018-05-16 13:00
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Add a new staging.dir parameter that controls the location of the staging area.
Description: Add a new staging.dir parameter that controls the location of the staging area.
Tags:
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:
3566 [SymmetricDS] Improvement minor have not tried 2018-05-16 12:00 2018-05-16 12:11
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.36  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.36  
    Target Version: 3.8.36  
Summary: Add a new staging.dir parameter that controls the location of the staging area.
Description: Add a new staging.dir parameter that controls the location of the staging area.
Tags:
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:
3541 [SymmetricDS] Improvement minor have not tried 2018-05-04 08:22 2018-05-16 11:58
Reporter: woehrl01 Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Caches should be cleared on a server restart
Description: Caches should be cleared on a server restart
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001173)
woehrl01   
2018-05-04 08:23   
see https://github.com/JumpMind/symmetric-ds/pull/74

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3564 [SymmetricDS Pro] Bug minor always 2018-05-16 09:33 2018-05-16 09:34
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.8  
    Target Version: 3.9.8  
Summary: Installer memory check blocks automated installation instead of warning about low memory
Description: The installer checks the memory setting configured by user with the available memory on the system and gives the user a warning if there is not enough memory. The user can click through it and continue on the GUI and console installation, but the automated installer will exit in error.
Tags:
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-05-15 10:30
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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)
Tags:
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:
3562 [SymmetricDS Pro] Bug minor have not tried 2018-05-14 16:58 2018-05-14 16:58
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: ConcurrentModificationException on UI background refresher thread
Description: Observed this on a 3.9.6 system with 12 multi-home nodes.

2018-05-14 13:53:29,834 ERROR [Source] [a] [background-refresher-1] Exception while refreshing class com.jumpmind.symmetric.console.ui.screen.d
java.util.ConcurrentModificationException
    at java.util.LinkedHashMap$LinkedHashIterator.nextNode(Unknown Source)
    at java.util.LinkedHashMap$LinkedKeyIterator.next(Unknown Source)
    at com.jumpmind.symmetric.console.ui.screen.a.k.a(NodeStatusPanel.java:208)
    at com.jumpmind.symmetric.console.ui.screen.d.onBackgroundDataRefresh(DashboardScreen.java:97)
    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)
Tags:
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:
3561 [SymmetricDS Pro] Bug minor have not tried 2018-05-11 12:47 2018-05-11 12:49
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: NPE when selecting Outgoing Batch Show Changes with a null value
Description: When an outgoing batch has a null value in its data, a NPE is thrown when selecting "Show Changes" from the Manage > Outgoing Batches > Select Batch screen. This was reproduced using an extract transform which had a bsh column that did not return a value. This fixes the following stack trace:

com.vaadin.event.ListenerMethod$MethodException: Invocation of method valueChange in com.jumpmind.symmetric.console.impl.cd failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:531)
    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.AbstractField.fireValueChange(AbstractField.java:1138)
    at com.vaadin.v7.ui.AbstractField.setValue(AbstractField.java:548)
    at com.vaadin.v7.ui.AbstractSelect.setValue(AbstractSelect.java:745)
    at com.vaadin.v7.ui.AbstractField.setValue(AbstractField.java:445)
    at com.vaadin.v7.ui.AbstractSelect.changeVariables(AbstractSelect.java:555)
    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: java.lang.NullPointerException
    at com.jumpmind.symmetric.console.impl.cd.a(BatchWindowDataLayout.java:153)
    at com.jumpmind.symmetric.console.impl.cd.a(BatchWindowDataLayout.java:110)
    at com.jumpmind.symmetric.console.impl.cd.valueChange(BatchWindowDataLayout.java:184)
    at sun.reflect.GeneratedMethodAccessor296.invoke(Unknown Source)
    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)
    ... 51 more
Tags:
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:
3559 [SymmetricDS] Improvement minor have not tried 2018-05-10 13:57 2018-05-10 14:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Log expiration of data gaps at info level
Description: Entries in sym_data_gap will expire after 20 minutes (by default) if no data shows up in those gaps. It is valid to expire a gap if data will *never* show up in the gap (due to something like a db transaction rollback). But data could get bypassed if a gap prematurely gets expired and later data_id's show up in that range. We will log at info when this happens so users can manage this setting properly.

Tags:
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:
3560 [SymmetricDS] Bug major always 2018-05-10 13:59 2018-05-10 13:59
Reporter: jflambert Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.9.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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

Tags:
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:
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
Tags:
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:
3557 [SymmetricDS] New Feature minor have not tried 2018-05-10 10:45 2018-05-10 11: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.8  
    Target Version: 3.9.8  
Summary: MSSQL support for datetimeoffset data types.
Description: Support to capture and replicate datetimeoffset data types in MSSQL.
Tags:
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:
3544 [SymmetricDS] Improvement minor have not tried 2018-05-04 08:43 2018-05-09 12:03
Reporter: woehrl01 Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: Not all unique sqlite error message are respected on unique error detection
Description: There are more different error messages like [SQLITE_CONSTRAINT_PRIMARYKEY] and [SQLITE_CONSTRAINT_UNIQUE]
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001175)
woehrl01   
2018-05-04 08:43   
see https://github.com/JumpMind/symmetric-ds/pull/78

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3504 [SymmetricDS] Improvement minor always 2018-03-26 03:54 2018-05-09 11:53
Reporter: woehrl01 Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.8  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.8  
    Target Version: 3.9.8  
Summary: SyncTrigger slow due to synchronized this.getClass() on AbstractDatabasePlatform.getTableFromCache
Description: I profiled the SyncTrigger step and found out that the most time on a new startup is due to a long wait time in the method AbstractDatabasePlatform.getTableFromCache.

Also most of the time is spent in fetching the data from the database and all the fetching should be executed on working threads. (see inactivateTriggers() -> futures -> awaitTermination.

But because of synchronized this.getClass() in AbstractDatabasePlatform.getTableFromCache all these calls are serialized. As I don't see a benefit in domain logic of having this synchronized, I'd suggest removing the synchronized in resetCachedTableModel() + getTableFromCache() and replacing the HashMap with a ConcurrentHashMap<>()

I can provide a PR if desired, but I'm not sure if I overlocked something.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001160)
mkurz   
2018-04-03 00:25   
ConcurrentHashMap caused Nullpointer.
tableCache = Collections.synchronizedMap(new HashMap<String, Table>());
worked.
(0001181)
woehrl01   
2018-05-08 07:22   
see https://github.com/JumpMind/symmetric-ds/pull/88

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3556 [SymmetricDS Pro] Improvement minor have not tried 2018-05-08 13:41 2018-05-08 13:45
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.7  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.7  
    Target Version: 3.9.7  
Summary: Improve RemoteStatus error handling
Description: Most remote status exceptions now debug level, dynamically enable remote.status.follow.group.link.direction if errors are occurring
Tags:
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.
Tags:
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:
3554 [SymmetricDS] Improvement minor have not tried 2018-05-08 11:57 2018-05-08 11:57
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.8  
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.
Tags:
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:
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.
Tags:
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.
Tags:
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:
3545 [SymmetricDS] Bug minor always 2018-05-04 08:54 2018-05-04 08:54
Reporter: woehrl01 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: 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.
Tags:
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:
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.
Tags:
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:
3540 [SymmetricDS] Bug minor sometimes 2018-05-03 15:01 2018-05-03 15:05
Reporter: woehrl01 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: Registration gets lost during the registration
Description: I experience the following race condition, if I register a node, it sometimes gets unregistered during the registration process.

It looks like that the FileSyncService is removing the identity, because it is running during the time where the sym_node_identity is created on the client and it has been acknowledged on the server.

see https://sourceforge.net/p/symmetricds/discussion/739236/thread/4923acfa/
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001172)
woehrl01   
2018-05-03 15:05   
see PR https://github.com/JumpMind/symmetric-ds/pull/73

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3539 [SymmetricDS] Improvement major always 2018-05-03 14:01 2018-05-03 14:01
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new 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
);
Tags: extract
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:
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-05-03 10:52
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.9.8  
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.
Tags:
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:
3506 [SymmetricDS Pro] Bug minor sometimes 2018-03-28 08:47 2018-05-03 10:51
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.9.8  
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."

Tags:
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 .
Tags:
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...







Tags:
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:
3533 [SymmetricDS Pro] Bug major always 2018-04-30 08:51 2018-04-30 08:54
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: high OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.7  
    Target Version: 3.9.7  
Summary: Install fails on Java 9 with ClassCastException
Description: This is fixed in IZPack 5.1.3, which is not released yet:

https://izpack.atlassian.net/browse/IZPACK-1588

java -jar symmetric-pro-3.9.6-setup.jar
Command line arguments:
====================
Installation started
Exception in thread "IzPack - Unpacker thread"
java.lang.ClassCastException:
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to
java.base/java.net.URLClassLoader
        at
com.izforge.izpack.installer.unpacker.UnpackerBase.logIntro(UnpackerBase.java:253)
        at
com.izforge.izpack.installer.unpacker.UnpackerBase.unpack(UnpackerBase.java:285)
        at
com.izforge.izpack.installer.unpacker.UnpackerBase.run(UnpackerBase.java:242)
        at java.base/java.lang.Thread.run(Thread.java:844)
Tags:
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:
3532 [SymmetricDS Pro] Improvement minor N/A 2018-04-27 12:45 2018-04-27 14:39
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.7  
    Target Version: 3.9.7  
Summary: Remove unused JAR files
Description: Remove unused JAR files and tidy up the symmetric-pro JAR file.
Tags:
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.
Tags:
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.
Tags:
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.
Tags:
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:
3360 [SymmetricDS] Bug minor sometimes 2018-01-10 03:44 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: If no sym table exists an initial start leads to an exception in StatisticManager
Description: If no sym table exists an initial start leads to an exception in StatisticManager as it tries to access those tables in incrementRestart()
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001168)
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
Tags:
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:
3530 [SymmetricDS] Bug crash sometimes 2018-04-24 23:20 2018-04-24 23:20
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new 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
Tags:
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:
3529 [SymmetricDS] Improvement block always 2018-04-24 23:10 2018-04-24 23:10
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Symmetric needs to insert successfully null value into target_node_database_tables when initial load firstly
Description: Hi

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:39,020 INFO [server-010] [DefaultDatabaseWriter] [server-010-dataloader-1] 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_CKDW">
        <column name="CKDW_ID" primaryKey="true" type="DECIMAL" size="10">
            <platform-column name="oracle" type="NUMBER" size="10"/>
        </column>
        <column name="CKDW_DZH" primaryKey="true" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="CKDW_DZM" primaryKey="true" type="VARCHAR" size="150">
            <platform-column name="oracle" type="VARCHAR2" size="150"/>
        </column>
        <column name="CKDW_RYH" primaryKey="true" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="CKDW_RYM" primaryKey="true" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="CKDW_TIME" primaryKey="true" type="TIMESTAMP" size="7">
            <platform-column name="oracle" type="DATE" size="7"/>
        </column>
        <column name="CKDW_DWMC" primaryKey="true" type="VARCHAR" size="50">
            <platform-column name="oracle" type="VARCHAR2" size="50"/>
        </column>
        <column name="CKDW_TEMP1" primaryKey="true" type="VARCHAR" size="10">
            <platform-column name="oracle" type="VARCHAR2" size="10"/>
        </column>
        <column name="CKDW_TEMP2" primaryKey="true" type="VARCHAR" size="10">
            <platform-column name="oracle" type="VARCHAR2" size="10"/>
        </column>
        <column name="CKDW_TEMP3" primaryKey="true" type="VARCHAR" size="10">
            <platform-column name="oracle" type="VARCHAR2" size="10"/>
        </column>
        <column name="CKDW_BS" primaryKey="true" type="VARCHAR" size="10">
            <platform-column name="oracle" type="VARCHAR2" size="10"/>
        </column>
    </table>
</database>

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
Tags:
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: I wanted to sync a null value to the "id" column or other column,which is defined as nullable, can it be achieved?

thanks!
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-04-24 22:40
Reporter: ddlg_2 Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.9.6  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Symmetric can not insert automatically values into target_node_database_tables when initial load firstly
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
Tags: table_reload_request
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

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3362 [SymmetricDS Pro] Installation major always 2018-01-11 07:35 2018-04-24 08: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
Description: Impossible to Install SymmetricDS
Tags:
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:
3528 [SymmetricDS] Task minor N/A 2018-04-23 16:02 2018-04-23 16:02
Reporter: Frank.Conover 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: The log4j library has a vulnerability.
Description: The log4j library has a vulnerability.

log4j-1.2.17.jar , CVE-2017-5645 , Severity: High

This library has reached end of life.
Upgrade to log4j 2.
Tags:
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:
3527 [SymmetricDS] Task minor N/A 2018-04-23 16:00 2018-04-23 16:00
Reporter: Frank.Conover 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: The jackson databind library has a vulnerability.
Description: The jackson databind library has a vulnerability.

jackson-databind-2.9.3.jar , CVE-2018-5968 , Severity: Medium

Update available:
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.9.5
Tags:
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:
3526 [SymmetricDS] Task minor N/A 2018-04-23 15:58 2018-04-23 15:58
Reporter: Frank.Conover 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: The spring core library has a vulnerability.
Description: The spring core library has a vulnerability.
spring-core-4.3.13, CVE-2018-1199, Severity: Medium

Update is available:
https://mvnrepository.com/artifact/org.springframework/spring-core/4.3.16.RELEASE
Tags:
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:
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
Tags:
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:
3522 [SymmetricDS] Bug major always 2018-04-19 11:25 2018-04-19 11:25
Reporter: jubi74 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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"?>

Tags:
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3520 [SymmetricDS] Improvement minor always 2018-04-18 04:17 2018-04-18 04:17
Reporter: cborivant 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: 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"
Tags:
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:
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.
Tags:
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:
3517 [SymmetricDS Pro] Improvement feature have not tried 2018-04-12 14:16 2018-04-12 14:16
Reporter: molan 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: 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
Tags: Upgrade
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:
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)
Tags:
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
Tags:
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
Tags:
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
Tags:
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:
3508 [SymmetricDS Pro] Improvement minor N/A 2018-03-28 18:58 2018-03-30 11: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.7  
    Target Version: 3.9.7  
Summary: Purge should use nolock dirty reads for min max range
Description: The PurgeService gets a range (min, max) of IDs for runtime tables (data, outgoing_batch) in order to determine the number of deletes to run. On a very busy system, the query can timeout, which loses an entire run of the purge until the next day. Another day of data that needs purged makes the query more likely to timeout again. We should use the sqlTemplateDirty that uses an isolation level that won't lock the table, cause contention, and it is more likely to return results.
Tags:
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.
Tags:
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:
3489 [SymmetricDS Pro] Improvement minor have not tried 2018-03-13 14:13 2018-03-13 14:13
Reporter: nrichardson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.5  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Upgrade Swagger to latest version
Description: Upgrade Swagger to latest version
Tags:
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.
Tags:
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:
3378 [SymmetricDS] Bug minor have not tried 2018-01-17 11:54 2018-03-12 08:23
Reporter: kstojanovska Platform:  
Assigned To: chenson OS:  
Priority: low OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SLF4J warnings using symadmin
Description: root@ntx-jeff78:/opt/symmetric-server-3.9.2/bin# ./symadmin
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
symadmin version 3.9.2
Perform administration tasks with SymmetricDS.
Tags:
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:
3434 [SymmetricDS Pro] Bug minor have not tried 2018-02-19 16:34 2018-03-12 08:22
Reporter: kpatierno Platform:  
Assigned To: kpatierno 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: When clicking auto create Table Triggers a java.lang.IllegalArgumentException: Comparison method violates its general contract
Description: Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.jumpmind.symmetric.console.ui.screen.configure.TableTriggerEditPanel$2 failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:531)
    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.ui.Button.fireClick(Button.java:370)
    at com.vaadin.ui.Button$1.click(Button.java:57)
    ... 48 more
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(TimSort.java:777)
    at java.util.TimSort.mergeAt(TimSort.java:514)
    at java.util.TimSort.mergeCollapse(TimSort.java:441)
    at java.util.TimSort.sort(TimSort.java:245)
    at java.util.Arrays.sort(Arrays.java:1512)
    at java.util.ArrayList.sort(ArrayList.java:1454)
    at java.util.Collections.sort(Collections.java:175)
    at com.jumpmind.symmetric.console.ui.a.b.f.<init>(TriggerRouterScreen.java:95)
    at com.jumpmind.symmetric.console.ui.a.b.g.p(WelcomeScreen.java:47)
    at com.jumpmind.symmetric.console.ui.a.b.d.<init>(QuickStartSetupWizard.java:176)
    at com.jumpmind.symmetric.console.ui.screen.configure.TableTriggerEditPanel$2$1.<init>(TableTriggerEditPanel.java:120)
    at com.jumpmind.symmetric.console.ui.screen.configure.TableTriggerEditPanel$2.buttonClick(TableTriggerEditPanel.java:120)
    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)
Tags:
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'
Tags:
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.
Tags:
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.
Tags:
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:
3475 [SymmetricDS Pro] Improvement minor have not tried 2018-03-06 08:16 2018-03-06 08:16
Reporter: gwilmer 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: stream_row option on sym_trigger is not available via the Pro UI
Description: stream_row option on sym_trigger is not available via the Pro UI
Tags:
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:
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
Tags:
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.
Tags:
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.
Tags:
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-02-21 13:11
Reporter: anthony.vitale@sonymusic.com Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new 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

Tags: table_reload_request
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:
3415 [SymmetricDS] Bug major always 2018-02-13 06:20 2018-02-21 12:28
Reporter: Sunil Nair 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: 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
Tags:
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.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3438 [SymmetricDS] Bug major always 2018-02-21 06:42 2018-02-21 06:42
Reporter: zulus 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: Oracle date is transformed to Postgresql date
Description: Oracle date field can (and often) contain time part, unfortunately SymmetricDS transform it to postgresql date field and "time" part is lost, also after sync-schema.
Tags: oracle, postgres
Steps To Reproduce: Create Oracle Table with "date" field.
Run symadmin sync-schema.
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
Tags:
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).
Tags: postgresql
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:
3418 [SymmetricDS] Bug major always 2018-02-13 12:39 2018-02-14 11:50
Reporter: bahoover 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: 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.
Tags:
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:
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.
Tags: mssql, sqlite
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
Tags: Integration with 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.
Tags: Upgrade
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:
3401 [SymmetricDS] Bug major always 2018-02-01 22:22 2018-02-08 12:59
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 server is having difficulty with retrieving files from the engines directory defined by -Dsymmetric.engines.dir
Description: We have been using customized code to define external folder for symmetric.properties file. The customized code was directly written in one of the symmetric file TypedPropertiesFactory.java. When Chris from jumpmind visited our office, he recommended us to use -Dsymmetric.engines.dir instead of customizing the Symmetric code.

I tired that by defining the JAVA_OPTS in tomcat however now server is not getting started. Could you please see the attached log and advice.

Please see below the environment variable is setup in java command

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java -Djava.util.logging.config.file=/Users/vjairath/devtools/apache-tomcat-7.0.75/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dsymmetric.engines.dir=/opt/engage/ -Djdk.tls.ephemeralDHKeySize=2048 -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -Djava.endorsed.dirs=/Users/vjairath/devtools/apache-tomcat-7.0.75/endorsed -classpath /Users/vjairath/devtools/apache-tomcat-7.0.75/bin/bootstrap.jar:/Users/vjairath/devtools/apache-tomcat-7.0.75/bin/tomcat-juli.jar -Dcatalina.base=/Users/vjairath/devtools/apache-tomcat-7.0.75 -Dcatalina.home=/Users/vjairath/devtools/apache-tomcat-7.0.75 -Djava.io.tmpdir=/Users/vjairath/devtools/apache-tomcat-7.0.75/temp org.apache.catalina.startup.Bootstrap start
Tags:
Steps To Reproduce: Start the Symmetric engine by starting the tomcat server
Additional Information:
Attached Files: symmetric.log (76,324 bytes) 2018-02-01 22:22
http://www.symmetricds.org/issues/file_download.php?file_id=140&type=bug
symmetric-2.log (511,661 bytes) 2018-02-01 22:49
http://www.symmetricds.org/issues/file_download.php?file_id=141&type=bug
symmetric-3.log (76,744 bytes) 2018-02-06 13:57
http://www.symmetricds.org/issues/file_download.php?file_id=142&type=bug
Notes
(0001111)
vibhorejairath   
2018-02-05 10:26   
Dear Support Team,

Any updates on the ticket
(0001112)
maxwellpettit   
2018-02-05 11:43   
Hello,

There seems to be some sort of miscommunication here. The engines directory should contain a properties file for each node in your configuration. The symmetric.properties file is a separate file that controls global configuration parameters. It looks like you are trying to configure a custom engines directory, but what you have done is point this to the location of your symmetric.properties file. This is not a valid configuration because Symmetric will try to configure the symmetric.properties file as a node.

What I'm guessing that Chris meant was to instead put your configuration settings in each properties file for each node in the engines directory rather than the symmetric.properties file. Then, you could specify your engines directory using the -Dsymmetric.engines.dir property.

Does this make sense?

Thanks,
Max
(0001113)
vibhorejairath   
2018-02-05 15:30   
Thanks Max for replying on this issue and I think I got it what you are saying. The symmetric.properties is global configuration file and we should not be externalizing it. The node specific properties can be defined in the externalized folder via -Dysmmetric.engines.dir. This property file can have same properties name like the one in symmetric properties file.

For eg.. external.id, group.id, registration.url and so on... If this is not right.. can you send me an example file for my understanding.
(0001114)
maxwellpettit   
2018-02-05 15:45   
Correct, you can configure any desired parameters in each node's engines directory. Please take a look at the following documentation on node engines files for more details: https://www.symmetricds.org/doc/3.9/html/user-guide.html#_node_properties_file

The parameters you may use in these engines files are defined in the documentation as well:
https://www.symmetricds.org/doc/3.9/html/user-guide.html#_startup_parameters

https://www.symmetricds.org/doc/3.9/html/user-guide.html#_runtime_parameters

Thanks,
Max
(0001115)
vibhorejairath   
2018-02-05 17:47   
Thanks Max, this is really helpful. I am going to try this option tomorrow and will let you know the results
(0001116)
vibhorejairath   
2018-02-06 09:02   
Max,

This didn't work either. Let me explain what I am trying to achieve. We have two tier and three tier Synchronization where each nodes are running in its own container (tomcat). We have been using symmetric.properties to load basic configuration of each nodes by doing the customization described above. Since this customization is becoming costly to us as we cannot upgrade to new SymmetricDS version without looking at the customized class again therefore we decided to get rid of it. However, we are not successful so far.

Based on your suggestion, I let the symmetric.properties packaged in the server classpath and created node properties file in the external engine directory.

The symmetric.properties contained only basic properties such as
engine.name=central-server
group.id= server
external.id= central
sync.url= http://$(hostName):8080/SymmetricDS/sync/$(engineName)

the engine directory property file contains the same above properties along with Database configuration but this file is never read by SymmetricDS server and hence I am unable to bring webconsole with full configuration.

Kindly assist where I am going wrong. Perhaps a quick call would help us troubleshoot the issue quickly. Please suggest
(0001117)
maxwellpettit   
2018-02-06 10:31   
Hello,

I think there may still be a bit of a miscommunication. Each node should be represented by a single .properties file in the engines directory. The naming convention for this file is GROUP_ID-EXTERNAL_ID.properties where GROUP_ID is the node's group id and EXTERNAL_ID is the node's external id. From your provided example you should have a file in your engines directory named "server-central.properties" with the following properties set:

engine.name=server-central
group.id= server
external.id= central
sync.url= http://$(hostName):8080/SymmetricDS/sync/$(engineName)

Any additional properties you wish to set for this node should also be in this file. Then, you would set the location of the directory containing this file (and only this file or other node .properties files not including symmetric.properties) using the -Dsymmetric.engines.dir setting.

The symmetric.properties file should only be used to set parameters globally across all nodes on the server. So if you had more than one node on a server and wanted to set the same property, you could set the in the symmetric.properties file. Since you want to externalize your settings with the java property -Dsymmetric.engines.dir you should not be using the symmetric.properties file at all. You should most likely reset this file to the default and ignore it in your configuration setup.

This does not appear to be a bug in the software.

Thanks,
Max
(0001118)
vibhorejairath   
2018-02-06 13:46   
I am going to try but don't think so it will work. I had put the break point in AbstractCommadLauncher#getEngineDir method and the server never came to this breakpoint. So I am guessing i have something wrongly setup which I am unable to figure it out.
(0001119)
vibhorejairath   
2018-02-06 13:57   
So I created server-central.properties file in the engine directory as you mentioned in the last thread however now I back to square one with the original problem where my SymmetricDS is not even getting started. It's just reading the symmetric-default.properties and failing.

Please see the attached file
(0001120)
vibhorejairath   
2018-02-06 13:59   
Max,
Can we please have a call as I am stalling with this problem with almost 3 days
(0001122)
maxwellpettit   
2018-02-08 10:36   
Hello,

This issue has become more of a support issue rather than a software issue. To obtain support services (such as a call), this will have to be done through our support center. Please submit a ticket at support.jumpmind.com

Thanks,
Max
(0001123)
vibhorejairath   
2018-02-08 12:59   
Thanks Max, I will open a ticket with your support services

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3409 [SymmetricDS Pro] Bug minor always 2018-02-07 12:32 2018-02-07 12:32
Reporter: abrougher 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: 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.
Tags:
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:
3389 [SymmetricDS] Improvement minor always 2018-01-21 16:27 2018-02-06 16:32
Reporter: snpe Platform:  
Assigned To: kstojanovska OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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
Tags:
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:
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
Tags: postgresql, tgisconstraint, Upgrade
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
Tags:
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.
Tags:
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.
Tags:
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







Tags:
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:
3377 [SymmetricDS] Bug block always 2018-01-17 10:07 2018-01-17 10:07
Reporter: lmgaborit Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.9.2  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    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,
Tags:
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3354 [SymmetricDS] Bug major always 2018-01-05 07:57 2018-01-05 07:57
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new 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.
Tags:
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3353 [SymmetricDS] Bug major always 2018-01-05 07:53 2018-01-05 07:53
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Data 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 attached the steps which I have performed. Also attaching logs of master node. Kindly provide me solution on this asap.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: Documentation of SymmetricDS Community Edition.docx (17,789 bytes) 2018-01-05 07:53
http://www.symmetricds.org/issues/file_download.php?file_id=139&type=bug
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3352 [SymmetricDS] Bug major always 2018-01-05 07:48 2018-01-05 07:48
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Replication not happening in Community Edition 3.9.1
Description: I am doing MS-SQL to Postgresql replication. I have configured the symmetricds on oth nodes. But still data is not replicating. I have performed below given steps and attaching logs of master node. Kindly give me solution on this asap.


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
Tags:
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:
3351 [SymmetricDS] Bug major always 2018-01-05 07:46 2018-01-05 07:46
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymmetricDS Community Edition replication not happening
Description: I am doing MS-SQL to Postgresql replication. I have configured the symmetricds on oth nodes. But still data is not replicating. I have performed below given steps and attaching logs and screenshot of both nodes after running symmetricds. Kindly give me solution on this asap.

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
Tags:
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:
3350 [SymmetricDS] Bug minor N/A 2018-01-05 07:40 2018-01-05 07:40
Reporter: pgsql Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Regarding SymmetricDS Community Edition
Description: I am doing MS-SQL to Postgresql replication by symmetricds community edition. I have configured the symmetricds on both nodes and performed the replication. The steps I have followed for replication are given below, after performing below steps still data is not replicating. I am also attaching logs and screenshot of both the nodes after running symmetricds. Kindly check anyone and please give me solution what is wrong in it. :

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
Tags:
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:
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
Tags:
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.

Tags:
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 2017-12-23 04:58
Reporter: ivan.konev Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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...
Tags:
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:
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).
Tags:
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
Tags:
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
Tags:
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  
Summary: Drop deprecated columns from schema
Description: Remove sym_node.heartbeat_time and sym_node.timezone_offset.
Tags:
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:
3158 [SymmetricDS] Task minor have not tried 2017-06-14 13:10 2017-12-12 12:39
Reporter: chenson Platform:  
Assigned To: 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  
Summary: Document the ACK as part of the batch protocol in the SymmetricDS Users Guide
Description: Document the ACK as part of the batch protocol in the SymmetricDS Users Guide
Tags:
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:
3326 [SymmetricDS] Bug block random 2017-12-01 04:18 2017-12-01 04:18
Reporter: besasml3 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Batch is OK but data is missing in Mysql target database
Description: We are using SymDS in a bi-directional replication context with one corp node and many store nodes having exactly the same configuration.
Corp DB is Oracle 11 and stores DB are Mysql 5.6.
If the stores to corp replication works like a charm the corp to store does not all the time.
Most of time there is no problem.
Sometimes an INSERT batch (common) sent to all store nodes is flagged OK for all, but we notice that the data is missing in one (or several) node(s). No SQL or Network errors are reported.

Because we have foreign keys on the table, the channel replication stops for the node(s).
To resolve this we have to release foreign key checks in Mysql and update the missing data in corp DB and then the data is well replicated.
Please note that the data is well captured and the common batch is correctly defined for all store nodes. It is also correctly executed on the other nodes.

We notice this on a table with a Blob (use_stream_lobs and use_capture_old_data flags activated) but we don't know if it is the only one affected. The batch can contain one or several data event.
We haven't found any logic in this behaviour, the affected node and the missing data are totally random.
We don't know where is the issue (routing ? SQL transaction? acknowledgement management?) but the batch should not be flagged OK for the node.

Because this situation occurs several times a month, we think it should be investigated.
Is there a way to define the batches as not common? Could this resolve the issue?
Tags:
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:
3322 [SymmetricDS] New Feature minor have not tried 2017-11-27 03:24 2017-11-27 03:24
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: Improve reload performance by caching rarely changing tables
Description: Some tables can be huge, with lots of binary columns and they change rarely. The fetching of the data on a reload could lead to a big stress on the db server if it has to convert all the binary fields.

The following PR adds a feature to allow to define on the trigger_router level. If thus tables should be cached in the staging area. The first time it fetches the table, it loads it from the database and writes all the data at the same time to a new staging area. The second time it fetches the data purley from that cache.

If new data flows through the data router it clears those caches.
Tags:
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:
2980 [SymmetricDS] Improvement minor have not tried 2017-02-03 09:10 2017-11-17 08:17
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.9.1  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.1  
Summary: Support transactional sync triggers on platforms where ddl can be transactional
Description: Postgres supports DDL transactions.

This will allow triggers to be synchronized on a busy system without the chance for missing an update between the drop and create of a trigger.
Tags:
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:
3313 [SymmetricDS] New Feature minor have not tried 2017-11-13 15:59 2017-11-13 15:59
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: Propagate default GUID from MSSQL to SQLITE
Description: Currently it is not possible to sync a default Guid Column to Sqlite. This PR adds that mapping.
Tags:
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:
3311 [SymmetricDS] Improvement minor have not tried 2017-11-13 08:16 2017-11-13 08:16
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: MSSQL select varbinary from insert/deleted instead of origin table
Description: This PR changes the trigger so that on MSSQL the value of blob fields are selected from the inserted/deleted virtual table instead of selecting it from the origin table.

This only works if it is a `varbinary(max)` field, so we filter based on that.

This reduces the access to the origin table and thus improves the trigger performance.
Tags:
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:
3310 [SymmetricDS] Improvement minor have not tried 2017-11-13 07:23 2017-11-13 07:23
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: Refactored auto.sync.config.at.startup and auto.sync.config.after.upgrade to be independent
Description: Currently `auto.sync.config.at.startup` only works in conjunction with `auto.sync.config.after.upgrade`.

And there is no way to force an update of the configuration without requiring a version upgrade.

This PR changes that behaviour so that `auto.sync.config.at.startup` always syncs the config at startup, While `auto.sync.config.after.upgrade` only syncs the config after an upgrade. So both parameter do now what they are named as.
Tags:
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:
3305 [SymmetricDS] Bug minor have not tried 2017-11-06 12:57 2017-11-10 08:37
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:  
Summary: Removing a channel can cause errors during push/pull
Description: Given preconditions:
1) cluster.lock.enabled=true
2) Channels set up using queue names other than default.
3) Sync some data on a non-default queue so that rows get created in sym_node_communication.

Now, assign trigger back to the default channel, and remove the non-default channel. The rows pointing at the new queue will hang around in the sym_node_communication and cause errors like this during PUSH/PULL:

2017-11-06 12:47:39,579 ERROR [store-002] [NodeCommunicationService] [store-002-pull-product-5] Failed to execute PULL for node 000 and channel product
java.lang.NullPointerException
    at org.jumpmind.symmetric.service.impl.PullService.execute(PullService.java:117)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:519)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
2017-11-06 12:47:39,582 ERROR [store-002] [NodeCommunicationService] [store-002-push-product-5] Failed to execute PUSH for node 000 and channel product
java.lang.NullPointerException
    at org.jumpmind.symmetric.service.impl.PushService.execute(PushService.java:145)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:519)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001078)
ivan.konev   
2017-11-10 07:14   
Strongly agreed. Got same issue.
(0001079)
ivan.konev   
2017-11-10 07:22   
Sure that can be cleaned out manually by purging tables/correcting table with triggers or just disable cluster.lock.enable if not using clustering, anyway clustering gives only failover functionality.
(0001080)
ivan.konev   
2017-11-10 08:37   
Additional - does not required removing a channel. Just change queue name back or to something else.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3309 [SymmetricDS] Bug block unable to reproduce 2017-11-10 04:11 2017-11-10 04:12
Reporter: sunil.mali Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new 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
Tags:
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

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3308 [SymmetricDS] Task major have not tried 2017-11-09 14:44 2017-11-09 14:44
Reporter: anthony.vitale@sonymusic.com Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.20  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Performing Full Upgrade of SymmetricDS Steps
Description: 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,data
base_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_versio
n,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 8.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
Tags:
Steps To Reproduce: Install any Inferior version of SymmetricDS and have it working operationally between 1 or more tables in a Source/Target Replication configuration

And then Perform the Steps listed within the Manual

When SymmetricDS is started after a major or minor software update, it will alter its database tables with any changes needed for that release.
F.1. Full Upgrade
For major releases and clean upgrades, copy old settings into a new installation using the following steps:

1.Stop the old SymmetricDS.
2.Backup the old SymmetricDS folder by renaming it.
3.Unzip the SymmetricDS distribution.
4.Copy old files from "engines" folder. (These files contain database connection information and engine settings.)
5.Copy old files from "conf" folder. (These files contain settings for ports, wrapper, and logging.) Check to see if any new changes need merged.
6.Copy old files from "security" folder. (These files contain keys for encryption.)
7.Restart SymmetricDS.

And Explain what needs to occur within the Database From a Restart Standpoint in order to maintain the Existing Configuration within the DAtabase (routers, channels, transform_tables, transform_columns, node_group_link, node_group, node, conflict) and have it Startup correctly in the Upgraded Version.

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

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3307 [SymmetricDS Pro] Bug minor have not tried 2017-11-09 13:32 2017-11-09 13:32
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks 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: 3.8.32  
Summary: MSSQL Server quick config wizard will not show schemas from a different database properly
Description: The change event listener on the catalog drop down was only repopulating tables but not the schema drop down as well.
Tags:
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:
2970 [SymmetricDS] Bug major sometimes 2017-01-25 05:57 2017-11-05 20:57
Reporter: nuralimca Platform:  
Assigned To: maxwellpettit OS:  
Priority: high OS Version:  
Status: assigned Product Version: 3.7.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: db connection leaks after engine stop
Description: Dear All,

I have embedded Symmetric DS 3.7.33 into my webapp. I have Web UI which allows user to start and stop Symmetric DS Engine.

When user click on Stop button, I internally call below method on server side:
ISymmetricEngine.destroy()

Which first stop() and then destroy() the engine.

I found that after destroy() called if I check then there are few database connections are not closed (connection for database associated with given engine).

Overall, even after calling destroy() on engine, there are database connection leak.

I was expecting that once I call destroy() method all the database connection should be closed.

Please suggest if there is any other cleaner way to stop/destroy engine so that database connection leak is not happened or fix database connection leak issue with stop/destroy of engine.

Thanks,
Nurali
Tags:
Steps To Reproduce: 1. start source engine for source database with stream.to.file.enabled=true
2. start target engine for target database.
3. make sure there is active data copy going on, like keep huge initial load and on start of both engine data is continuously getting copied from source to target.
4. stop source engine and stop target engine.
5. try to delete target database.

For step 5, delete of target database is failing with error that there are active connections.
Additional Information:
Attached Files:
Notes
(0000960)
nuralimca   
2017-01-25 06:10   
Dear All,

*Issue Details:*
I have also analyzed the issue. The issue happens when there is continuous data copy happening between source and target engine. This issue generally easily reproduce for initial load with some good amount of data to be copied.

When I call ClientSymmetricEngine.destroy(), it internally call AbstractSymmetricEngine.stop() in which thread.interrupt() is called for processInfo.getThread().

It happens that ..

1. ClientSymmetricEngine.destroy() is called at first
2. AbstractSymmetricEngine.stop() will be call
3. thread.interrupt() will be called
4. destroy() will call ((BasicDataSource)dataSource).close()
5. thread will throw org.jumpmind.exception.IoException: This thread was interrupted

Here, thread which got interrupted at step 3 is push thread with thread name "tnt3_rt-0000-push-1".

So, it happens that the push thread got interrupted at step-3 and dataSource.close() called before the push thread actually complete and got interrupt. This somehow leads to connection leaks for source database.

*One way to Fix:*
In AbstractSymmetricEngine.stop() after interrupting the thread, we should wait to join the thread.

thread.interrupt()
thread.join()

Thanks,
Nurali

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3295 [SymmetricDS] Bug trivial always 2017-10-29 19:21 2017-10-29 19:21
Reporter: rlanewala Platform:  
Assigned To: OS:  
Priority: urgent OS Version:  
Status: new Product Version: 3.8.30  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Sync from MySql to MSSql initial load - table create fails on Decimal Precision
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?
Tags: mssql
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3290 [SymmetricDS Pro] Bug minor always 2017-10-27 10:47 2017-10-27 10:47
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: A lot of jetty directory in /tmp
Description: It's just a question : I have a lot of directory in SymmetricdDS\tmp

jetty-0.0.0.0-xxxx-web-_-any-xxxxxxxxx.dir

Ca I delete these olds directories without any problems ?

Thank you



Tags:
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:
3289 [SymmetricDS Pro] Bug minor have not tried 2017-10-27 09:05 2017-10-27 09:05
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:  
Summary: Groups are incorrectly filtered out on Add Node wizard
Description: When adding a new node using the wizard (Manage > Nodes > Add...) the list of available groups may be overfiltered if there isn't a group link both ways with the current node that you are adding the node from.
Tags:
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:
3276 [SymmetricDS Pro] Task feature N/A 2017-10-10 09:15 2017-10-18 12:45
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: After a Database crash on a Node : What's te best way to reconnect this node ?
Description: Hello everybody

I Would like to know if you have experience when a database crash and what have do to restart this Node with a copy of an other database node.

       -----------------SERVER --------------------------------------------------------------------
       | | |
STORE1 STORE2 STORE3


The Store1 CRASH with no repair/rebuild possible.
So a make a copy of the Master (SERVER) database and I push in STORE1
after I set my own generators ...

But with a symmetricds tables/generators ??? what we need to do ?
* DELETE some records ? DROP TABLES ?
* register Node ?

thank you for your replies










  



Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001074)
elong   
2017-10-18 12:45   
It might be easiest to give it a engines/node.properties file, then run "bin/symadmin uninstall" to drop all the SYM objects. Then when you start SymmetricDS, it will come up like it's new, create its objects, and try to register with server. On the server side, you'll want to open registration again (flip the sym_node_security.registration_enabled or run "bin/sym_admin open-registration"). Also in server database, it's a good idea to run "delete from sym_incoming_batch where node_id = ?" so that you don't skip any batches.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3221 [SymmetricDS Pro] New Feature minor have not tried 2017-08-09 09:49 2017-09-25 08:55
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska OS:  
Priority: normal OS Version:  
Status: assigned Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Support for SYM_NODE_GROUP_CHANNEL_WND and control
Description: Add gui support for SYM_NODE_GROUP_CHANNEL_WND
Tags:
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:
3225 [SymmetricDS] Task major always 2017-08-16 10:34 2017-09-20 12:50
Reporter: neelam.thavare Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.8.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SQL QuerySupport for Data Load Filter
Description: Hello,

I have two nodes; one store and one corp. Whenever a record is inserted in a Table1 of store node, I want to check that if record with some value "xyz" exists in Table5 of corp node. If it exists, then only the data in Table1 of store node should be synced to Table1 of corp node. After reading the documentation of Symmetric DS, I came across the Data Load Filters. It says that it only supports BSH scripts now and may support SQL later. So, I want to know if SQL support is available and if yes then what it (SQL Query) should return? and if not then how can I achieve this using BSH script?

Should I write a code to query Table5 and based on query output return true or false value? I am using SQL Server database.

Your help is valued.

Thank you in advance.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001073)
elong   
2017-09-20 12:50   
You can query from a load filter or from transforms:

count = engine.getSqlTemplate().queryForInt("select count(*) from mytable where id = ?", new Object[] { "123" })

A load filter or load transform will query the target database. An extract transform will query the source database.

If this isn't a defect or feature request, let's close it. Questions and discussion take place on the forums here:

https://sourceforge.net/p/symmetricds/discussion/

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3251 [SymmetricDS] Bug minor always 2017-09-15 13:06 2017-09-15 13:06
Reporter: ivan.konev Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Mysql BIGINT UNSIGNED transform always processed as signed and giver error on larger thant 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
Tags: extract
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3242 [SymmetricDS Pro] Bug major always 2017-08-30 13:46 2017-08-30 13:46
Reporter: kpatierno Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Installing DS in a file path that contains whitespace stops symcc from running
Description: Installing any version of SNAPSHOT.jar into a directory with a file name that contains whitespace (i.e. 'sym ds', 'install here'...) makes it impossible to launch the SymmetricDS Pro Control Center.

*The install does work correctly. Symcc can be launched by manually renaming the directory without the whitespace.*
Tags:
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:
3236 [SymmetricDS] Improvement minor have not tried 2017-08-25 14:31 2017-08-26 09:00
Reporter: gwilmer Platform:  
Assigned To: gwilmer OS:  
Priority: normal OS Version:  
Status: assigned Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Allow for an "all nodes" value in lookup table router
Description: The lookup table router currently routes rows based on an external id column in a lookup table. Currently the column must be the value of a specific node's external id. We should allow the user to specify a value that would mean "send to all nodes". I.E. if the external id on the lookup table was a specific external id, then route to that external id, if the external id on the lookup table is the configured "all nodes" value, then route to all nodes.
Tags:
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:
3231 [SymmetricDS] Bug minor have not tried 2017-08-21 15:17 2017-08-21 15:17
Reporter: josh-a-hicks 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: DB2 zOS triggers are using to_clob function which is not available
Description: Trigger template for string columns on DB2 zOS was referencing a to_clob function which is not available on this system.
Tags:
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:
3230 [SymmetricDS Pro] Improvement minor have not tried 2017-08-21 10:12 2017-08-21 10:12
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: iSeries Metadata Retrieval Slow and Can Lockup UI if Browsed from Explorer
Description: iSeries Metadata Retrieval Slow and Can Lockup UI if Browsed from Explorer. Determine if we can speed up metadata retrieval by other means other than methods on the jdbc driver.
Tags:
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:
3185 [SymmetricDS] Bug block sometimes 2017-07-04 02:40 2017-07-19 12:19
Reporter: sunil.mali Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Some of the tables are not getting sync
Description: We have some transactional tables which we sync from store to corp, out of which few tables are not getting sync. Those tables were syncing 6 days back and suddenly it stopped syncing. So i have a situation where few transactional tables are synced but other tables are not synced since last 6 days. What can be done to resync those tables and to avoid such situation.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001059)
sunil.mali   
2017-07-11 07:37   
Corp to Store in working fine, but store to corp data sync not working. Only few tables are getting updated. Do we have some flags in properties which is creating the problem ?
(0001067)
elong   
2017-07-19 12:19   
You'll need to troubleshoot to find where the problem is. Look in the log to see if the push job is running periodically. If you see it running and pushing data, like the heartbeat every 15 minutes, then push is working. Next, look in the sym_outgoing_batch table for batches with a status not OK. If there is a batch with status ER, then there should be a message in the log of what is in error. If all batches are OK, then you need to see if data is being captured in sym_data. Query sym_data where the table_name is equal to your table. If data is captured, then it could be a problem with routing. The log will show errors with routing. If there is no new data being captured, then the trigger is not installed on the table. Make sure you have configured a sym_trigger and sym_trigger_router. You can restart SymmetricDS and it will check that triggers are installed.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3202 [SymmetricDS Pro] Bug minor have not tried 2017-07-18 14:01 2017-07-18 14:01
Reporter: jwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Incoming Batch UI Bug
Description: On the Incoming Batch screen a batch with multiple tables shows incorrect columns in the more info popup tab.
Tags:
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:
3175 [SymmetricDS Pro] Bug minor sometimes 2017-06-30 10:18 2017-07-12 13:52
Reporter: gilles.riand Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymmetricPRo version / With Interbase XE
Description: 2017-06-30 16:12:47,933 ERROR [server] [DatabaseInfoPanel] [qtp198761306-233] StackTraceKey.init [DriverNotCapableException:3593356605]
interbase.interclient.DriverNotCapableException: [interclient] Unsupported feature: Using a JDBC method which is not yet supported.
See API reference for exception interbase.interclient.DriverNotCapableException
    at interbase.interclient.DatabaseMetaData.getClientInfoProperties(Unknown Source)
    at org.apache.commons.dbcp.DelegatingDatabaseMetaData.getClientInfoProperties(DelegatingDatabaseMetaData.java:1171)
    at org.jumpmind.vaadin.ui.sqlexplorer.DatabaseInfoPanel.<init>(DatabaseInfoPanel.java:69)
    at org.jumpmind.vaadin.ui.sqlexplorer.SqlExplorer$8.valueChange(SqlExplorer.java:457)
    at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1008)
    at com.vaadin.ui.AbstractField.fireValueChange(AbstractField.java:1159)
    at com.vaadin.ui.AbstractField.setValue(AbstractField.java:570)
    at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:727)
    at com.vaadin.ui.AbstractField.setValue(AbstractField.java:468)
    at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:694)
    at org.jumpmind.vaadin.ui.sqlexplorer.DbTree.refresh(DbTree.java:125)
    at org.jumpmind.vaadin.ui.sqlexplorer.SqlExplorer.refresh(SqlExplorer.java:663)
    at com.jumpmind.symmetric.console.ui.screen.e.onRefresh(ExploreScreen.java:60)
    at com.jumpmind.symmetric.console.ui.b$3.run(MainWindow.java:398)
    at com.jumpmind.symmetric.console.ui.b.goToView(MainWindow.java:410)
    at com.jumpmind.symmetric.console.ui.b$a.menuSelected(MainWindow.java:530)
    at com.vaadin.ui.MenuBar.changeVariables(MenuBar.java:199)
    at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:603)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:422)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:149)
    at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:243)
    at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:503)
    at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:88)
    at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:78)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107)
    at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571)
    at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333)
    at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425)
    at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:92)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
    at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
    at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)
Tags:
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:
3171 [SymmetricDS] Bug major always 2017-06-29 12:28 2017-06-29 12:28
Reporter: rossenzahariev Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Trigger Rebuild: custom_before_insert_text is ignored when rebuilding triggers
Description: I am working on building a migration from MSSQL to MYSQL.
As mention here:
http://www.symmetricds.org/issues/view.php?id=2457
and here http://www.symmetricds.org/issues/view.php?id=2458

there is an issue with the identity being lost on inserts. To work around the issue it should be possible to create custom before and after insert-trigger SQL in order to restore the value, so that it is properly returned.

The fields in the sym_trigger are available.

But though I have set all triggers to have:


UPDATE gp_dev.dbo.sym_trigger SET custom_before_insert_text = 'DECLARE @BackupIdentitySeederFunc VARCHAR(1000); SET @BackupIdentitySeederFunc =''DECLARE @BackupIdentity TABLE(IdentityID INT IDENTITY(''+CAST(@@IDENTITY AS VARCHAR)+'', 1)) INSERT @BackupIdentity DEFAULT VALUES'';'

UPDATE gp_dev.dbo.sym_trigger SET custom_on_insert_text = 'EXEC(@BackupIdentitySeederFunc)'

And have rebuild the triggers, the triggers will not get created.

The server reports an issue:

2017-06-29 18:22:01,334 INFO [server] [MsSqlSymmetricDialect] [server-sync-triggers-2] Failed to create trigger: create trigger SYM_ON_I_FOR_T_DSTRBTRS_SRVR on "gp_dev"."dbo"."t_distributors" with execute as caller after insert as begin
declare @NCT int
set @NCT = @@OPTIONS & 512
set nocount on
declare @TransactionId varchar(1000)
if (@@TRANCOUNT > 0) begin
select @TransactionId = convert(VARCHAR(1000),transaction_id) from sys.dm_exec_requests where session_id=@@SPID and open_transaction_count > 0
end

if ("gp_dev".dbo.sym_triggers_disabled() = 0) begin
insert into "gp_dev"."dbo".sym_data
               (table_name, event_type, trigger_hist_id, row_data, channel_id, transaction_id, source_node_id, external_data, create_time)
select 't_distributors','I', 2015,
case when inserted."ID" is null then '' else ('"' + convert(varchar(40), inserted."ID",2) + '"') end+','+
case when inserted."address_1" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."address_1") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."address_2" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."address_2") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."city" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."city") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."country" is null then '' else ('"' + convert(varchar(40), inserted."country",2) + '"') end+','+
case when inserted."company" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."company") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."email" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."email") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."firstname" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."firstname") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."homepage" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."homepage") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."lastname" is null then '' else '"' + replace(replace(convert(varchar(100),inserted."lastname") ,'\','\\'),'"','\"') + '"' end+','+
case when orig."notes" is null then '' else '"' + replace(replace(cast(orig."notes" as varchar(max)),'\','\\'),'"','\"') + '"' end+','+
case when orig."phone" is null then '' else '"' + replace(replace(cast(orig."phone" as varchar(max)),'\','\\'),'"','\"') + '"' end+','+
case when inserted."title" is null then '' else ('"' + convert(varchar(40), inserted."title",2) + '"') end+','+
case when inserted."zip" is null then '' else '"' + replace(replace(convert(varchar(50),inserted."zip") ,'\','\\'),'"','\"') + '"' end+','+
case when inserted."address_id" is null then '' else ('"' + convert(varchar(40), inserted."address_id",2) + '"') end+','+
case when inserted."currency_id" is null then '' else ('"' + convert(varchar(40), inserted."currency_id",2) + '"') end+','+
case when inserted."import_costs_share" is null then '' else ('"' + convert(varchar(40), inserted."import_costs_share",2) + '"') end+','+
case when inserted."responsible_person_id" is null then '' else ('"' + convert(varchar(40), inserted."responsible_person_id",2) + '"') end,
'default', @TransactionId, "gp_dev".dbo.sym_node_disabled(), null, current_timestamp

from inserted inner join "gp_dev"."dbo"."t_distributors" orig on orig."ID"=inserted."ID"

where 1=1
end
EXEC (@BackupIdentitySeederFunc)
if (@NCT = 0) set nocount off
end
---- go


It seems rebuilding is inserting the second part (EXEC...) but not the "before" part and so the creation of the trigger fails.

This is reproducible on all tables.

If unset the custom fields, the triggers are created properly, but obviously there is an issue with the ID returned.

Furthermore, it is not possible to set the "before" value from the WEB UI, which I am using.
Tags:
Steps To Reproduce: 1. Set the custom trigger fields:


UPDATE gp_dev.dbo.sym_trigger SET custom_before_insert_text = 'DECLARE @BackupIdentitySeederFunc VARCHAR(1000); SET @BackupIdentitySeederFunc =''DECLARE @BackupIdentity TABLE(IdentityID INT IDENTITY(''+CAST(@@IDENTITY AS VARCHAR)+'', 1)) INSERT @BackupIdentity DEFAULT VALUES'';'

UPDATE gp_dev.dbo.sym_trigger SET custom_on_insert_text = 'EXEC(@BackupIdentitySeederFunc)'


2. Rebuild the triggers via the WEB UI
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3119 [SymmetricDS] Bug minor always 2017-05-23 06:46 2017-06-27 02:58
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: [Interbase] Stopping Service SymmetricDS / break connections
Description: Connections to the database do not close properly

In the Interbase.log
"REPLIC3 (Server) Tue May 23 12:35:06 2017
    INET/inet_error: read errno = 10054 client host = REPLIC3 connection name = replic3 user name = REPLIC3$ server port number = 0"


Tags:
Steps To Reproduce: Install SymmetricDS, Install The Service. (With Interbase)

I think that it's possible to stop cleanly the connections. (With no Log in interbase.log)
Additional Information:
Attached Files:
Notes
(0001057)
gilles.riand   
2017-06-27 02:58   
I think it's the same Issue : https://www.symmetricds.org/issues/view.php?id=2970

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3154 [SymmetricDS] Bug minor have not tried 2017-06-12 13:58 2017-06-19 14:50
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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: Reopen registration sets created_at_node_id to be the selected node rather than registration server/managing node
Description: Reopen registration sets created_at_node_id to be the selected node rather than registration server/managing node
Tags:
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:
2997 [SymmetricDS] Bug minor have not tried 2017-02-22 12:36 2017-06-09 09:36
Reporter: mmichalek Platform:  
Assigned To: 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:  
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.
Tags:
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:
2450 [SymmetricDS] Improvement minor N/A 2015-11-19 16:03 2017-06-06 09:44
Reporter: elong Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Preserve datetime precision, support for nanoseconds
Description: The datetime data types are currently synced with precision of milliseconds, but many platforms support microsecond and nanosecond precision. Add support for nanosecond precision, possibly using java.sql.Timestamp which supports nanos.

SQL-Server supports nanoseconds with DATETIME2, which can be one test case. Another test case is isPostgreSQL's timestamp(6) (microsecond precision). Also, syncing from one platform to another with different precision.
Tags:
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:
2044 [SymmetricDS] Bug minor always 2014-10-31 12:27 2017-06-06 09:42
Reporter: elong Platform: MySQL 5.0  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version: 3.6.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Startup failure with MySQL UTF8 database
Description: With MySQL database created with UTF-8 character set, the initialization of the database fails:

2014-10-31 12:04:34,444 WARN [receipt] [JdbcSqlTemplate] [qtp1039630400-145252] Specified key was too long; max key length is 1000 bytes. Failed to execute: 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` BIGINT,
    PRIMARY KEY (`relative_dir`, `file_name`)
)

Tags:
Steps To Reproduce: create database symdb character set utf8;
Additional Information:
Attached Files:
Notes
(0000691)
g_d_u_m   
2015-06-04 07:48   
(Last edited: 2015-06-04 10:15)
Same issue with Firebird2.5 database created with utf-8 character set:

[central-000] - Firebird21SymmetricDialect - DDL failed: 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" BIGINT,
    PRIMARY KEY ("RELATIVE_DIR", "FILE_NAME")
)
[central-000] - JdbcSqlTemplate - GDS Exception. 335544351. unsuccessful metadata update
key size exceeds implementation restriction for index "RDB$PRIMARY253"
Reason: unsuccessful metadata update
key size exceeds implementation restriction for index "RDB$PRIMARY253". Failed to execute: 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" BIGINT,
    PRIMARY KEY ("RELATIVE_DIR", "FILE_NAME")
)
[central-000] - AbstractSymmetricEngine - An error occurred while starting SymmetricDS
org.jumpmind.db.sql.SqlException: GDS Exception. 335544351. unsuccessful metadata update
key size exceeds implementation restriction for index "RDB$PRIMARY253"
Reason: unsuccessful metadata update
key size exceeds implementation restriction for index "RDB$PRIMARY253"
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288)
        at org.jumpmind.db.platform.firebird.FirebirdJdbcSqlTemplate.translate(FirebirdJdbcSqlTemplate.java:59)

Environment: Windows 7 64bits, firebird 2.5.4 x64, symmetricds-server-3.7.19, jre-7u80-windows-x64

(0000694)
g_d_u_m   
2015-06-30 07:13   
This looks like an issue with the SYM_FILE_INCOMING primary key which is made of a VARCHAR(255) plus a VARCHAR(128).

Because each UTF8 character can use up to 4 bytes, this leads to a 1532-byte long key ((128+255)*4), which is beyond the limit (one quarter of the page size for Firebird).

Increasing the default pagesize from 4096 to 8192 or 16384 solves this issue, but then it fails later for another primary key which is even longer.
(0000910)
chenson   
2016-11-17 13:06   
Using prefix indexes work around this issue. As of 3.8 you can pre-run this script to get SymmetricDS working

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` BIGINT,
    PRIMARY KEY (`relative_dir`(50), `file_name`(50))
);

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` BIGINT,
    `file_size` BIGINT,
    `file_modified_time` BIGINT,
    `last_update_time` DATETIME NOT NULL,
    `last_update_by` VARCHAR(50) NULL,
    `create_time` DATETIME NOT NULL,
    PRIMARY KEY (`trigger_id`, `router_id`, `relative_dir`(50), `file_name`(50)));


CREATE TABLE `sym_grouplet_link`(
    `grouplet_id` VARCHAR(50) NOT NULL,
    `external_id` VARCHAR(255) NOT NULL,
    `create_time` DATETIME NOT NULL,
    `last_update_by` VARCHAR(50) NULL,
    `last_update_time` DATETIME NOT NULL,
    PRIMARY KEY (`grouplet_id`, `external_id`(50))
);


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` MEDIUMTEXT NULL,
    `create_time` DATETIME,
    `last_update_by` VARCHAR(50) NULL,
    `last_update_time` DATETIME,
    PRIMARY KEY (`external_id`(50), `node_group_id`, `param_key`(50))
);

CREATE TABLE `sym_registration_redirect`(
    `registrant_external_id` VARCHAR(255) NOT NULL,
    `registration_node_id` VARCHAR(50) NOT NULL,
    PRIMARY KEY (`registrant_external_id`(128))
);

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) NULL,
    `error_message` MEDIUMTEXT NULL,
    `create_time` DATETIME NOT NULL,
    `last_update_by` VARCHAR(50) NULL,
    `last_update_time` DATETIME NOT NULL,
    PRIMARY KEY (`node_group_id`, `external_id`(50), `create_time`)
);

CREATE INDEX `sym_idx_reg_req_1` ON `sym_registration_request` (`node_group_id`, `external_id`(50), `status`, `host_name`(50), `ip_address`(50));

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3135 [SymmetricDS] Bug major always 2017-06-02 06:07 2017-06-06 02:37
Reporter: jacobking Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: oracle type of MDSYS.SDO_GEOMETRY is not work
Description: I created a table WFS ,has a field type is MDSYS.SDO_GEOMETRY,but when i add data to table An unexpected error ocurred!here it is:

[Err] ORA-04063: package body "MDSYS.SDO_UTIL" has errors
ORA-06508: PL/SQL: could not find program unit being called: "MDSYS.SDO_UTIL"
ORA-06512: at "MDSYS.SDO_GEOMETRY", line 61
ORA-06512: at "SYM_BRANCH01.SYM_WKT2GEOM", line 1
Tags:
Steps To Reproduce: --CREATE TABLE
CREATE TABLE "SYM_MASTER"."WFS" (
"OID" NUMBER NULL ,
"GEOMETRY" "MDSYS"."SDO_GEOMETRY" NULL ,
"ADDR" VARCHAR2(255 BYTE) NULL
)
--Sample Symmetric Configuration

delete from sym_trigger_router;
delete from sym_trigger;
delete from sym_router;
delete from sym_channel where channel_id in ('dlgq_kfq');
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;


insert into sym_channel
(channel_id, processing_order, max_batch_size, enabled, description)
values('WFS', 1, 100000, 1, 'kfq data from register and back office');



insert into sym_node_group (node_group_id) values ('master');
insert into sym_node_group (node_group_id) values ('branch');

insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) values ('master', 'branch', 'W');
insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) values ('branch', 'master', 'P');




insert into sym_trigger
(trigger_id,source_table_name,channel_id,last_update_time,create_time)
values('WFS','WFS','WFS',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_branch', 'master', 'branch', '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('branch_2_master', 'branch', 'master', 'default',current_timestamp, current_timestamp);


insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,last_update_time,create_time)
values('WFS','branch_2_master', 100, current_timestamp, current_timestamp);

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','master','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','branch','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','5d1c92bbacbe2edb9e1ca5dbb0e481',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','5d1c92bbacbe2edb9e1ca5dbb0e481',1,null,1,null,'000');


insert into sym_node_identity values ('000');


--INIT DATA
INSERT INTO "SYM_MASTER"."WFS" VALUES ('1', MDSYS.SDO_GEOMETRY(2001, null, MDSYS.SDO_POINT_TYPE(113.735570, 22.985180, null), null, null), '5');
Additional Information: THE ERROR INFO

[SQL]INSERT INTO "WFS" VALUES ('1', MDSYS.SDO_GEOMETRY(2001, null, MDSYS.SDO_POINT_TYPE(113.735570, 22.985180, null), null, null), '5')
[Err] ORA-04063: package body "MDSYS.SDO_UTIL" has errors
ORA-06512: at "SYM_BRANCH01.SYM_ON_I_FOR__BRNCH", line 4
ORA-04088: error during execution of trigger 'SYM_BRANCH01.SYM_ON_I_FOR__BRNCH'
Attached Files:
Notes
(0001052)
jacobking   
2017-06-05 06:14   
my oracle version is 11g,while SDO_UTIL.TO_WKTGEOMETRY looks like is 12C's summary,is that the problem?can you support 11g?many thanks!

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3132 [SymmetricDS] Bug minor always 2017-05-31 11:19 2017-05-31 11:19
Reporter: lijaih Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new 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.
Tags:
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:
3130 [SymmetricDS] Improvement minor have not tried 2017-05-30 18:31 2017-05-30 19:00
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.25  
    Target Version: 3.8.0  
Summary: Guard against case mismatches in trigger id's and router id's when doing table reloads
Description: If a trigger id is configured with a different case in sym_trigger and sym_trigger_router, a null pointer exception occurs when attempting to reload that table. This change puts switches to a case insensitive map and also adds better error reporting if we can't locate the trigger router combo.

2017-05-30 14:07:31,214 ERROR [nodeId-NodeGroup] [RouterService] [sql31_dev-DEV_SQL31-job-19]
java.lang.NullPointerException
    at org.jumpmind.symmetric.service.impl.DataService.insertSqlEventsPriorToReload(DataService.java:635)
    at org.jumpmind.symmetric.service.impl.DataService.insertReloadEvents(DataService.java:435)
    at org.jumpmind.symmetric.service.impl.RouterService.processTableRequestLoads(RouterService.java:346)
    at org.jumpmind.symmetric.service.impl.RouterService.insertInitialLoadEvents(RouterService.java:300)
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:198)
    at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:50)
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:175)
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:219)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Tags:
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:
3128 [SymmetricDS Pro] Bug minor sometimes 2017-05-29 10:25 2017-05-29 17:20
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: ERROR in symmetric.log and wrapper.log but not in the Jummind webconsole (http://url:port/app)
Description: File : symmetric.log

2017-05-29 15:50:58,837 ERROR [gui] [AppUI] [qtp17319689-18] Unable to invoke method click in com.vaadin.shared.ui.button.ButtonServerRpc
com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method click in com.vaadin.shared.ui.button.ButtonServerRpc
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:170)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:287)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:180)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:93)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
    at com.jumpmind.symmetric.console.ui.AppServlet.service(AppServlet.java:37)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.jumpmind.symmetric.web.HttpMethodFilter.doFilter(HttpMethodFilter.java:62)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
    ... 30 more
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.jumpmind.symmetric.console.ui.screen.c.b$9$1 failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:979)
    at com.vaadin.ui.Button.fireClick(Button.java:393)
    at com.vaadin.ui.Button$1.click(Button.java:57)
    ... 34 more
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method valueChange in com.jumpmind.symmetric.console.ui.screen.c.b failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:979)
    at com.vaadin.ui.AbstractField.fireValueChange(AbstractField.java:1131)
    at com.vaadin.ui.AbstractField.setValue(AbstractField.java:542)
    at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:698)
    at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:671)
    at com.vaadin.ui.AbstractSelect.select(AbstractSelect.java:1510)
    at com.jumpmind.symmetric.console.ui.screen.c.b$9$1.buttonClick(IncomingBatchPanel.java:283)
    at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
    ... 39 more
Caused by: java.lang.NullPointerException
    at com.jumpmind.symmetric.console.ui.screen.c.b.a(IncomingBatchPanel.java:519)
    at com.jumpmind.symmetric.console.ui.screen.c.b.valueChange(IncomingBatchPanel.java:663)
    at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
    ... 52 more

File : wrapper.log
2017-05-29 12:44:43 [INFO ] [java ] mai 29, 2017 12:44:43 PM com.vaadin.server.communication.ServerRpcHandler parseInvocation
2017-05-29 12:44:43 [INFO ] [java ] AVERTISSEMENT: RPC call to com.vaadin.shared.ui.button.ButtonServerRpc.click received for connector 1050 but no such connector could be found. Resynchronizing client.
2017-05-29 12:55:34 [INFO ] [java ] mai 29, 2017 12:55:34 PM com.vaadin.server.communication.ServerRpcHandler parseInvocation
2017-05-29 12:55:34 [INFO ] [java ] AVERTISSEMENT: RPC call to com.vaadin.shared.ui.button.ButtonServerRpc.click received for connector 2242 but no such connector could be found. Resynchronizing client.
2017-05-29 15:50:55 [INFO ] [java ] mai 29, 2017 3:50:55 PM com.vaadin.server.communication.ServerRpcHandler parseInvocation
2017-05-29 15:50:55 [INFO ] [java ] AVERTISSEMENT: RPC call to com.vaadin.shared.ui.button.ButtonServerRpc.click received for connector 7931 but no such connector could be found. Resynchronizing client.
Tags:
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:
2983 [SymmetricDS] Improvement minor have not tried 2017-02-03 09:15 2017-05-24 14:55
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Request: Improvements for file synchronization - support splitting large files across multiple syncs
Description: Request: Improvements for file synchronization - support splitting large files across multiple syncs
Tags:
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:
2982 [SymmetricDS] Improvement minor have not tried 2017-02-03 09:15 2017-05-24 14:55
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Request: Improvements for file synchronization - support limiting bandwidth
Description: Request: Improvements for file synchronization - support limiting bandwidth
Tags:
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:
2981 [SymmetricDS] Improvement minor have not tried 2017-02-03 09:14 2017-05-24 14:55
Reporter: chenson Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Request: Improvements for file synchronization - support channel queues
Description: Request: Improvements for file synchronization - support channel queues
Tags:
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:
1268 [SymmetricDS] New Feature minor have not tried 2013-06-08 12:36 2017-05-24 14:55
Reporter: chenson Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Add extract and load replication to SymmetricDS -snapshot replication
Description: Add extract and load replication to SymmetricDS
Tags:
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:
3009 [SymmetricDS] Improvement minor always 2017-03-10 12:03 2017-05-24 14:51
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Bring all caches under a common caching framework
Description: Analysis should be done to bring all caches in SymmetricDS under one single caching framework. It should be possible to centrally control individual caches on nodes both in terms of expiration schedule and a force clear of any cache or all caches on a node (through sending down beanshell for example).

If nothing else, AbstractDatabasePlatform.tableCache should be brought under this umbrella.
Tags:
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:
2972 [SymmetricDS] Improvement minor always 2017-01-26 08:47 2017-05-24 14:50
Reporter: josh-a-hicks Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Registration Improvements
Description: Registration has issues if specific topologies are created.

- Opening registration on a node after the link has been changed to a push will leave the node without a registration time and prevent any loads from working.
- Multiple source topologies are dependent on the order the nodes are registered in order for all sym_node and sym_node_security entries to be relayed to the appropriate nodes.

Overall registration needs to be more robust to support the wide variety of configurations.
Tags:
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:
3051 [SymmetricDS] Improvement minor have not tried 2017-04-13 14:49 2017-05-24 14:47
Reporter: chenson 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: If there isn't another node to sync data to and sync_on_incoming=1 and data is incoming, don't capture the data
Description: If there isn't another node to sync data to and sync_on_incoming=1 and data is incoming, don't capture the data
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001004)
chenson   
2017-04-13 14:50   
Need to think about how a trigger will be recreated if a trigger router is added after the fact. Also might want to default sync_on_incoming=1

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3123 [SymmetricDS Pro] Bug major always 2017-05-23 14:37 2017-05-23 14:37
Reporter: gwilmer Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.32  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: License Key fails to synchronize to target node of DB2 on zSeries
Description: Log file will show the following error:

DB2 SQL Error: SQLCODE=-723, SQLSTATE=09000, SQLERRMC=AMD0007.SYM_ON_I_FOR_SYM_PRMTR_PRDDB2;-433;22001;"ALL","ALL","console., DRIVER=3.57.82

It looks to me like the license key row is loaded into sym_parameter on the db2 side, the symmetric trigger fires to capture that row into sym_data, and the corresponding write to sym_data fails because of the -433,22001 failure, which is that data being inserted is too large and will be truncated.
Tags:
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:
3116 [SymmetricDS] Improvement minor always 2017-05-19 06:24 2017-05-19 06:24
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:  
Summary: dbcompare should support wild-carded triggers
Description: Currently dbcompare doesn't have logic to compare tables matched by the wildcard triggers. This issue is to add support generating the correct table list to compare based on the wild cards.

Report on the open source forums:
https://sourceforge.net/p/symmetricds/discussion/739236/thread/bd4406a1/?limit=25#5bf0
Tags:
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:
3110 [SymmetricDS] Bug minor have not tried 2017-05-15 08:54 2017-05-15 08:55
Reporter: chenson Platform:  
Assigned To: maxwellpettit OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: If you set the time in the past on a machine hosting SymmetricDS, the heartbeat job doesn't run until you pass that time again
Description: If you set the time in the past on a machine hosting SymmetricDS, the heartbeat job doesn't run until you pass that time again
Tags:
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 2017-05-15 00:59
Reporter: marc Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: File replication routing job fails with 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.

Tags:
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3108 [SymmetricDS] Bug minor always 2017-05-15 00:51 2017-05-15 00:51
Reporter: marc Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: DbCompare - No source table found for table name demo_db1.*
Description: Hello,

I would like to make use of the comparedb utility to setup some monitoring of the replication but somehow the comparaison utility complete successfully without detecting the tables to compare as if it didn't understand the wildcard setting I used when configuring the trigger.

Could you confirm if wildcard should work with comparedb utility or if it is not implemented ?


marco@marco-newlap:~/docker/symmetric/symmetric-server-3.8.22/security$ docker exec demohouse_symdb_1 /symmetric/bin/dbcompare -s /symmetric/remote-master-000.properties -t /symmetric/engines/store-001.properties

Log output will be written to /symmetric/logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=source, value={/symmetric/remote-master-000.properties}
[] - AbstractCommandLauncher - Option: name=target, value={/symmetric/engines/store-001.properties}
[master-000] - AbstractSymmetricEngine - Initializing connection to database
[master-000] - JdbcDatabasePlatformFactory - Detected database 'MySQL', version '5', protocol 'mysql'
[master-000] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.mysql.MySqlDatabasePlatform
[master-000] - MySqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.mysql.MySqlSymmetricDialect
[master-000] - ExtensionService - Found 0 extension points from the database that will be registered
[master-000] - StagingManager - The staging directory was initialized at the following location: /symmetric/tmp/master-000
[master-000] - ClusterService - This node picked a server id of cc0a58d55ccc
[master-000] - ExtensionService - Found 0 extension points from the database that will be registered
[master-000] - ClientExtensionService - Found 6 extension points from spring that will be registered
[store-001] - AbstractSymmetricEngine - Initializing connection to database
[store-001] - JdbcDatabasePlatformFactory - Detected database 'MySQL', version '5', protocol 'mysql'
[store-001] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.mysql.MySqlDatabasePlatform
[store-001] - MySqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.mysql.MySqlSymmetricDialect
[store-001] - ExtensionService - Found 0 extension points from the database that will be registered
[store-001] - StagingManager - The staging directory was initialized at the following location: /symmetric/tmp/store-001
[store-001] - ClusterService - This node picked a server id of cc0a58d55ccc
[store-001] - ExtensionService - Found 0 extension points from the database that will be registered
[store-001] - ClientExtensionService - Found 6 extension points from spring that will be registered
[store-001] - DbCompare - No source table found for table name demo_db1.*
[store-001] - DbCompare - No source table found for table name demo_db2.*
+-----------------------------+-----------------------------+------------+------------+------------+------------+------------+------------+
+Source Target Source Rows Target Rows Matched Different Missing Extra
+-----------------------------+-----------------------------+------------+------------+------------+------------+------------+------------+
+-----------------------------+-----------------------------+------------+------------+------------+------------+------------+------------+
[store-001] - DbCompare - dbcompare complete. Total Time: 1 second

Tags:
Steps To Reproduce: define triggers with wildcard such as the following in target and source dest

insert into sym_trigger
(trigger_id,source_catalog_name,source_table_name,channel_id,last_update_time,create_time)
values('tpv', 'demo_tpv', '*','tpv',current_timestamp,current_timestamp);


Launch a command such as /symmetric/bin/dbcompare -s /symmetric/remote-master-000.properties -t /symmetric/engines/store-001.properties

Additional Information: As a workaround I tried to switch off the sym-conf by adding --use-sym-config false to the command line but that resulted in the following error, but didn't find any doc when googling for includedTableNames so no idea what to do of this message :

-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
java.lang.RuntimeException: includedTableNames not provided, includedTableNames must be provided when not comparing using SymmetricDS config.
    at org.jumpmind.symmetric.io.DbCompare.loadTablesFromArguments(DbCompare.java:472)
    at org.jumpmind.symmetric.io.DbCompare.getTablesToCompare(DbCompare.java:290)
    at org.jumpmind.symmetric.io.DbCompare.compare(DbCompare.java:86)
    at org.jumpmind.symmetric.DbCompareCommand.executeWithOptions(DbCompareCommand.java:117)
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:190)
    at org.jumpmind.symmetric.DbCompareCommand.main(DbCompareCommand.java:123)
-------------------------------------------------------------------------------
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3107 [SymmetricDS] Bug minor always 2017-05-15 00:32 2017-05-15 00:32
Reporter: marc Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.24  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
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

Tags:
Steps To Reproduce: Attempt to do an initial load of a table containing tinyblob field, with mysql driver
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3098 [SymmetricDS] Bug minor sometimes 2017-05-09 04:56 2017-05-09 04:56
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: Windows W10 service won't stop
Description: After installation and a few days of production.

The Service won't stop.
The message is "Error 19 : Error 1061: The Service cannot accept control messages at this time"
Tags:
Steps To Reproduce: I don't know if this because a Java Update is avalable. I do not do the update... But sometime (it's the second time) the Service SymmetricDS cannot stop.
> I reboot .... and after I can start, stop without this problem.

I think that it's a Java problem.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3090 [SymmetricDS] Bug crash always 2017-05-04 06:16 2017-05-04 06:32
Reporter: cominform 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: Quotation escape character causing data corruption
Description: After escape character has been invented to support quotations in the data (e.g. JSON), synced data has become corrupted by the C-Agent. This has happened, whenever the escape character was separated from the quotation at the end of a data chunk.

Beside of this we have encountered memory leaks and crashes, related to the usage of the Curl.

Please have a look at our latest commit.
Tags:
Steps To Reproduce:
Additional Information: https://github.com/cominform/symmetric-ds/tree/bugfix/cif-ios-stability-improvements-1
https://github.com/cominform/symmetric-ds/commit/bc14f85b8e62d119669ebd653c9712d93c6f49c1
Attached Files:
Notes
(0001045)
cominform   
2017-05-04 06:32   
Our data is big. It exceeds the chunk size. Even if the size would have been increased, there may be bigger data again than the increased chunk size.

Therefor we believe, that a whole data line must be reassembled from the incoming chunks, before e.g. escape character processing can start.

Now the most obvious solution was, to write it into a file. But someone may consider to think about a different and improved approach.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3029 [SymmetricDS] Improvement minor have not tried 2017-03-29 12:10 2017-05-03 12:04
Reporter: chenson 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 parameter that will force SymmetricDS to create nclobs in sym_data on Oracle.
Description: We already have a parameter that is specific to sql server called mssql.use.ntypes.for.sync. Maybe we should deprecate that and create a generic parameter instead?
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0001042)
chenson   
2017-05-03 12:04   
Refer to this forum discussion.

https://sourceforge.net/p/symmetricds/discussion/739236/thread/75d666fe/?limit=25#0e5b

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3082 [SymmetricDS] Bug minor always 2017-04-28 15:58 2017-04-28 15:58
Reporter: Lanem Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.21  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SQLite to Entity framework when using SQLite DB from symmetricDS
Description: When Replicating the SQLite DB from a SQL DB using SymmetricDS the Guid columns get inserted as Varchar. This does not create an Error when looking at the SQLite database or when reading information out of the database.

However because they are Varchars in the SQLite database Entity framework cannot save the Guid back, unless the Guid instead of being of type VARCHAR is set to type UNIQUEIDENTIFIER all this does in the SQLite database is set it to be a blob. but the name of it as UNIQUEIDENTIFIER makes it so that Entity Framework works with it in both directions
Tags:
Steps To Reproduce: Create a SQL DB with some sort of GUID column
Replicate that DB to a SQLite database
Build your DB objects off of your SQL database (I am building with a T4 template that has the appropriate property type fixes for a SQL to SQLite transform EX. ntext to nvarchar, BigInt to Integer ect.)
Connect to that SQLite database with Entity Framework

and try to save any variable
Additional Information: The way I have gotten around this for the time being is by setting up a backend property of type String to handle the save part of the objects. This means that the front end property is the normal Guid type but instead converts the String value back and forth. This causes a problem however with using those Guid front end values in LINQ statements.

The simplest fix would be to set the Guid variables on the SQLite side as a UNIQUEIDENTIFIER but there is no way to change the column data type in symmetricDS
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 2017-04-27 13:33
Reporter: sid Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new 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

Tags:
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2292 [SymmetricDS] Bug major always 2015-05-07 08:18 2017-04-20 13:19
Reporter: azarubkin Platform: Intel x64  
Assigned To: OS: Windows 7  
Priority: normal OS Version: SP1 x64  
Status: new Product Version: 3.7.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Cannot replicate the table with foreign key to non-replicated table
Description: I have a replicated table which has a column to a non-replicated table. This column is excluded from replication.
During the initial schema creation, the version 3.6.16 works, the version 3.7.14 doesn't, because it still tries to create foreign key on target node, which version 3.6.16 doesn't do.

I'm attaching a part of log file which shows the error.

Tags:
Steps To Reproduce: Create a table with a foreign key to another table, which is excluded from replication. My table is called 'cards', the column is called 'location' (it is foreign key to 'locations' table, which is not replicated):

INSERT [symmetricds].[sym_trigger] ([trigger_id], [source_catalog_name], [source_schema_name], [source_table_name], [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_on_update_text], [custom_on_insert_text], [custom_on_delete_text], [external_select], [tx_id_expression], [excluded_column_names], [sync_key_names], [use_stream_lobs], [use_capture_lobs], [use_capture_old_data], [use_handle_key_updates], [create_time], [last_update_by], [last_update_time], [reload_channel_id], [channel_expression])
VALUES (N'cards', NULL, N'dbo', N'cards', N'access_control', 1, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'location', NULL, 0, 0, 1, 0, CAST(0x0000A2AF010D2DF1 AS DateTime), NULL, CAST(0x0000A2B200BD83A0 AS DateTime), N'reload', NULL)

Now try to send schema to a new child node.
Additional Information: Main node runs on MS SQL 2005, child nodes run on SQLite.
Attached Files: excerpt.log (10,082 bytes) 2015-05-07 08:18
http://www.symmetricds.org/issues/file_download.php?file_id=81&type=bug
Notes
(0000761)
azarubkin   
2016-02-09 06:33   
It's possible now to set create.table.without.foreign.keys=true, but if foreign keys are still wanted, SymmetricDS should omit only those foreign keys, which are impossible to create due to missing columns.
(0000762)
azarubkin   
2016-02-11 06:59   
I've checked that SymmetricDS 3.6 sends table definition with foreign key on the missing column, but it is correctly ignored on the receiving side.

SymmetricDS 3.7 doesn't ignore foreign key definition if the column is missing, and throws the error. It's likely a bug and should be fixed.
(0001022)
maxwellpettit   
2017-04-20 13:19   
In version 3.6.16, SQLite foreign keys were not supported at all. In 3.7 support for foreign keys was added in addition to the create.table.without.foreign.keys parameter. Using this parameter will result in the same functionality as 3.6.16. As of now, this would be a new feature and is not currently a high priority.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3062 [SymmetricDS] Task minor have not tried 2017-04-19 13:36 2017-04-19 13:36
Reporter: chenson 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: Document the type of binary encoding used for each database in the database specific notes
Description: Document the type of binary encoding used for each database in the database specific notes

Maybe add it to this table:
http://www.jumpmind.com/downloads/symmetricds/doc/3.8/html/user-guide.html#_database_notes
Tags:
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:
3057 [SymmetricDS] Bug major always 2017-04-15 05:10 2017-04-15 05:14
Reporter: maneeshk Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.16  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Immediately after node registration, synchronization is not happening for some specific files
Description: We are running the SymmetricDS instances and all nodes in linux VMs at both source and destination. All the nodes are connected to MySQL databases instances running locally in respective linux VMs.

It is being observed that immediately after node registration, synchronization is not happening for some specific files.
Tags:
Steps To Reproduce: 1. Node group link: data_event_action='W'.
2. Channel: filesync.
3. Router: default.
4. File trigger: recurse is set, and include_files=*
5. File trigger router: initial_load_enabled is SET.
Additional Information: The file with name "all-wcprops" is giving issue whereas the other file with name "entries" present in the same directory is getting synchronized. The stat information about both the above mentioned file is as mentioned below.

[root@symds1 engines]# ls -l /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops
-r-xr-xr-x 1 root root 1021 Apr 15 2015 /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops
[root@symds1 engines]# stat /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops
  File: â
  Size: 1021 Blocks: 8 IO Block: 16384 regular file
Device: 24h/36d Inode: 1125899906842864 Links: 1
Access: (0555/-r-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-07-01 16:06:15.749692200 +0530
Modify: 2015-04-15 14:56:25.440039900 +0530
Change: 2016-12-13 18:08:35.598127000 +0530
 Birth: -
[root@symds1 engines]# ls -l /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/entries
-r-xr-xr-x 1 root root 1124 Apr 15 2015 /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/entries
[root@symds1 engines]# stat /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/entries
  File: â
  Size: 1124 Blocks: 8 IO Block: 16384 regular file
Device: 24h/36d Inode: 1125899906842865 Links: 1
Access: (0555/-r-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-07-01 16:06:15.765292200 +0530
Modify: 2015-04-15 14:56:25.424414900 +0530
Change: 2016-12-13 18:08:35.629327000 +0530
 Birth: -
[root@symds1 engines]#
Attached Files:
Notes
(0001007)
maneeshk   
2017-04-15 05:11   
Synchronization is not happening for these below mentioned five(5) files.

1. /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops
2. /mnt/feDir/fonts/.svn/all-wcprops
3. /mnt/feDir/html/App_LocalResources/.svn/all-wcprops
4. /mnt/feDir/resources/.svn/all-wcprops
5. /mnt/feDir/resources/.svn/text-base/PIE.htc.svn-base
(0001008)
maneeshk   
2017-04-15 05:14   
Sym log at source and destination are as given below.


symds1

2017-04-13 21:18:36,453 ERROR [puneFS1-001] [AcknowledgeService] [qtp25548982-20] The outgoing batch 002-8 failed: /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops (Permission denied)


symds2

2017-04-13 21:19:37,465 ERROR [noidaFS1-002] [FileSyncService] [noidafs1-002-file_pull-default-1] Failed to process file sync batch 8 StackTraceKey.init [FileNotFoundException:3030134314]
java.io.FileNotFoundException: /mnt/feDir/App_WebReferences/NoidaCorporateWebService/.svn/all-wcprops (Permission denied)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
        at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:1139)
        at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1091)
        at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at bsh.Reflect.invokeMethod(Reflect.java:134)
        at bsh.Reflect.invokeStaticMethod(Reflect.java:98)
        at bsh.Name.invokeMethod(Name.java:874)
        at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
        at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
        at bsh.BSHBlock.eval(BSHBlock.java:80)
        at bsh.BSHBlock.eval(BSHBlock.java:46)
        at bsh.BSHIfStatement.eval(BSHIfStatement.java:51)
        at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
        at bsh.BSHBlock.eval(BSHBlock.java:80)
        at bsh.BSHBlock.eval(BSHBlock.java:46)
        at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
        at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
        at bsh.BSHBlock.eval(BSHBlock.java:80)
        at bsh.BSHBlock.eval(BSHBlock.java:46)
        at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
        at bsh.Interpreter.eval(Interpreter.java:645)
        at bsh.Interpreter.eval(Interpreter.java:739)
        at bsh.Interpreter.eval(Interpreter.java:728)
        at org.jumpmind.symmetric.service.impl.FileSyncService.processZip(FileSyncService.java:914)
        at org.jumpmind.symmetric.service.impl.FileSyncService.pullFilesFromNode(FileSyncService.java:1023)
        at org.jumpmind.symmetric.service.impl.FileSyncService.execute(FileSyncService.java:769)
        at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:499)
        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)
2017-04-13 21:19:38,131 INFO [noidaFS1-002] [FileSyncService] [noidafs1-002-file_pull-default-1] There was a failure while pulling files from 001. 100 files and 2 batches were processed

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3048 [SymmetricDS] Improvement feature have not tried 2017-04-13 11:43 2017-04-13 11:43
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 configuration of a retry interval for failed outgoing batches
Description: Allow configuration of a retry interval for failed outgoing batches. In addition, possibly allow a decreasing interval. i.e. if a batch fails retry every x min until period y, then decrement the retry to every z min, etc. I.E. if a batch fails more than n times, should you continue to retry it at the same rate constantly.
Tags:
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:
2966 [SymmetricDS] Improvement minor always 2017-01-20 04:28 2017-03-27 09:04
Reporter: baylej Platform:  
Assigned To: maxwellpettit OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.14  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Compatibility with Log4j2
Description: It is currently not possible to use Log4j2 with SymmetricDS because the class org.apache.log4j.AppenderSkeleton is missing from the Log4j1 to Log4j2 bridge.

If log4j1 is excluded from the SymmetricDS in the pom file of my project, the following StackTrace is printed at install of the SymmetricDS webapp:

Exception in thread "symmetric-engine-startup-0" java.lang.NoClassDefFoundError: org/apache/log4j/AppenderSkeleton (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.defineClass1(Native Method) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.security.AccessController.doPrivileged(Native Method) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.util.LogSummaryAppenderUtils.registerLogSummaryAppender(LogSummaryAppenderUtils.java:40) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.ClientSymmetricEngine.init(ClientSymmetricEngine.java:170) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.web.ServerSymmetricEngine.init(ServerSymmetricEngine.java:62) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.ClientSymmetricEngine.<init>(ClientSymmetricEngine.java:139) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.web.ServerSymmetricEngine.<init>(ServerSymmetricEngine.java:47) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder.create(SymmetricEngineHolder.java:241) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder$EngineStarter.run(SymmetricEngineHolder.java:461) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.AppenderSkeleton (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) (SystemLogHandler.java:267 - symmetric-engine-startup-0)
    ... 19 more (SystemLogHandler.java:267 - symmetric-engine-startup-0)
Tags:
Steps To Reproduce:
Additional Information: See https://issues.apache.org/jira/browse/LOG4J2-587
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2979 [SymmetricDS] New Feature feature have not tried 2017-02-02 09:57 2017-03-27 09:00
Reporter: sknoepfler Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: acknowledged Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Support SAP HANA as target for replication
Description: SAP offers a free of charge HANA DB: http://www.sap.com/developer/topics/sap-hana-express.html
In conjunction with SymmetricDS this could be a very powerful toolset for a free of charge in-memory platform for operational analytics. Any hope that SymmetricDS will support SAP HANA as a target anytime soon?
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000967)
sknoepfler   
2017-02-02 10:02   
http://help.sap.com/hana/SAP_HANA_SQL_and_System_Views_Reference_en.pdf
(0000989)
chenson   
2017-03-27 08:59   
We have played around with HANA in the past. We really are just waiting for someone to sponsor the effort to create a dialect.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
13 [SymmetricDS] New Feature feature always 2009-01-24 16:24 2017-03-24 16:04
Reporter: abrougher Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: assigned Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Replicate schema changes to remote nodes automatically
Description: SymmetricDS already supports setting up a schema automatically. It should also support automatically updating a schema as well.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000510)
chenson   
2014-04-18 12:51   
Support multiple levels

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3015 [SymmetricDS] Improvement major N/A 2017-03-14 11:41 2017-03-15 14:49
Reporter: pavan kumar Platform:  
Assigned To: chenson OS:  
Priority: low OS Version:  
Status: acknowledged Product Version: 3.8.17  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: SymmetricDS with KafkaConsumer.
Description: We are trying database replication using SymmetricDS with Kafka.
We followed below sample to read data from Oracle and push to Kafka.
Now we are trying for the code to read from Kafka and insert the records into Postgres.
Though we have written custom KafkaConsumer to do the same, we want to try the code using SymmetricDS API in below format.
It would be helpful if you can provide us the code for KafkaConsumer with SymmetricDS


insert into SYM_EXTENSION (EXTENSION_ID, EXTENSION_TYPE, INTERFACE_NAME, NODE_GROUP_ID, ENABLED, EXTENSION_ORDER, EXTENSION_TEXT, CREATE_TIME, LAST_UPDATE_BY, LAST_UPDATE_TIME) values ('KafkaDataWriter','java','org.jumpmind.symmetric.io.data.writer.IDatabaseWriterFilter','client',1,1,'
import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.io.FileUtils;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.jumpmind.db.model.Table;
import org.jumpmind.symmetric.io.data.CsvData;
import org.jumpmind.symmetric.io.data.DataContext;
import org.jumpmind.symmetric.io.data.DataEventType;
import org.jumpmind.symmetric.io.data.writer.IDatabaseWriterFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class KafkaWriterFilter implements IDatabaseWriterFilter {
    protected final String KAKFA_TEXT_CACHE = "KAKFA_TEXT_CACHE" + this.hashCode();

    private final Logger log = LoggerFactory.getLogger(getClass());

    public boolean beforeWrite(DataContext context, Table table, CsvData data) {
        if (table.getName().toUpperCase().startsWith("SYM_")) {
        return true;
        }
        else {
            log.info("Processing table " + table + " for Kafka");

            String[] rowData = data.getParsedData(CsvData.ROW_DATA);
            if (data.getDataEventType() == DataEventType.DELETE) {
                rowData = data.getParsedData(CsvData.OLD_DATA);
            }

            StringBuffer kafkaText = new StringBuffer();
            if (context.get(KAKFA_TEXT_CACHE) != null) {
                kafkaText = (StringBuffer) context.get(KAKFA_TEXT_CACHE);
            }

            boolean useJson = false;

            if (useJson) {
                kafkaText.append("{\"")
                    .append(table.getName())
                    .append("\": {")
                    .append("\"eventType\": \"" + data.getDataEventType() + "\",")
                    .append("\"data\": { ");
                for (int i = 0; i < table.getColumnNames().length; i++) {
                    kafkaText.append("\"" + table.getColumnNames()[i] + "\": \"" + rowData[i]);
                    if (i + 1 < table.getColumnNames().length) {
                        kafkaText.append("\",");
                    }
                }
                kafkaText.append(" } } }");
            }
            else {
                kafkaText.append("\nTABLE")
                    .append(",")
                    .append(table.getName())
                    .append(",")
                    .append("EVENT")
                    .append(",")
                    .append(data.getDataEventType())
                    .append(",");

                for (int i = 0; i < table.getColumnNames().length; i++) {
                    kafkaText.append(table.getColumnNames()[i])
                        .append(",")
                        .append(rowData[i]);
                    if (i + 1 < table.getColumnNames().length) {
                        kafkaText.append(",");
                    }
                }
            }
            context.put(KAKFA_TEXT_CACHE, kafkaText);
        }
        return false;
    }

    public void afterWrite(DataContext context, Table table, CsvData data) {
    }

    public boolean handlesMissingTable(DataContext context, Table table) {
        return true;
    }

    public void earlyCommit(DataContext context) {
    }

    public void batchComplete(DataContext context) {
        if (!context.getBatch().getChannelId().equals("heartbeat") && !context.getBatch().getChannelId().equals("config")) {
            String batchFileName = "batch-" + context.getBatch().getSourceNodeId() + "-" + context.getBatch().getBatchId();
            log.info("Processing batch " + batchFileName + " for Kafka");
            try {
                File batchesDir = new File("batches");
                if (!batchesDir.exists()) {
                    batchesDir.mkdir();
                }
                File batchFile = new File(batchesDir.getAbsoluteFile() + "/" + batchFileName);

                if (context.get(KAKFA_TEXT_CACHE) != null) {
                    String kafkaText = ((StringBuffer) context.get(KAKFA_TEXT_CACHE)).toString();
                    FileUtils.writeStringToFile(batchFile, KAKFA_TEXT_CACHE);
                    sendKafkaMessage(kafkaText);
                } else {
                    log.info("No text found to write to kafka queue");
                }
            }
            catch (Exception e) {
                log.warn("Unable to write batch to Kafka " + batchFileName, e);
                e.printStackTrace();
            }
        }
    }

    public void batchCommitted(DataContext context) {
    }

    public void batchRolledback(DataContext context) {
    }

    public void sendKafkaMessage(String kafkaText) {
        Map<String,Object> configs = new HashMap<String, Object>();

        configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
        configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
        configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
        configs.put(ProducerConfig.CLIENT_ID_CONFIG, "symmetricds-producer");

        KafkaProducer<String, String> producer = new KafkaProducer<String, String>(configs);

        producer.send(new ProducerRecord<String, String>("test", kafkaText));
        log.debug("Data to be sent to Kafka-" + kafkaText);

        producer.close();
    }
}

',{ts '2017-01-09 10:58:17.981'},'admin',{ts '2017-01-09 13:04:37.490'});
Tags:
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:
2963 [SymmetricDS] New Feature minor have not tried 2017-01-17 17:01 2017-03-02 16:36
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.14  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.14  
    Target Version: 3.8.14  
Summary: Support file sync in the C client
Description: Adding support for file sync in the C client.
Tags:
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:
2244 [SymmetricDS] Bug major always 2015-03-30 11:58 2017-01-22 10:38
Reporter: ratishkr Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Self- Referential Foreign Keys result in Contraint violation when loading data
Description: I have couple of tables that have self referential integrity contraints, like the usual scenario, where the manager of the employee is also an employee on the same table, and the manager ID column will have a Self referential key on the Employee Number column.

Since the data load can happen in any particular order, if the manager record gets loaded first and then the employee record gets in, there would not be any issues. But if the employee whose manager record is not inserted yet, goes in first, it would fail with constraint violation.


The self referential key must be added to the table either towards the end after the Data gets loaded, or should be disabled and then enabled back after loading data.
Tags:
Steps To Reproduce: Create a simple table: 'Employee Number', 'Employee Name', 'Manager Number'.

Make Employee Number as the primary key, and add a self referential foreign constraint on the Manager Number column referring the 'Employee Number' column.

Insert the following records:

<1, EMP_A, null>
<2, EMP_B, 1>
<3, EMP_C, 1>
<4, EMP_D, 2>

Now extract the records in XML format and try loading it to a new target in another database.

If the records in the export gets exported into the file in the exact order we did above, the load will not have any issues. To make it not work manually, you can change the order of the records in the XML file, such that the child gets load first before the parent employee record.
Additional Information:
Attached Files:
Notes
(0000957)
Zulla   
2017-01-22 04:44   
Can we get admins attention on this matter.
Is there a simple workaround this?
(0000958)
chenson   
2017-01-22 10:38   
There are properties to run sql scripts prior to and after and after an initial load. The are called initial.load.before.sql and initial.load.after.sql. You can disable fk and reenable them in these scripts.

Another approach would be to break up your employee initial load across two trigger routers with different initial load select criteria. In order to do that you would have to have a "dead" employee trigger (one that had sync_on_* all set to 0).

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2965 [SymmetricDS] New Feature major N/A 2017-01-18 11:20 2017-01-18 11:20
Reporter: luizmanoelbh Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.8.13  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Creating the REST call to verify that the password is compatible with the node in the node_security table.
Description: Creating the REST call to verify that the password is compatible with the node in the node_security table.

Another best-worked solution would be to create a method in the Android API that checks, before starting to create all the tables, whether the node is authorized to connect to the database.

I make the check by picking the node_password from the node_security table and if the password is different I call the engine.stop method, however it gives the interrupt error and this can lock the database on a second attempt with the correct password.
Tags:
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:
2955 [SymmetricDS] Bug minor have not tried 2017-01-09 08:09 2017-01-18 09:52
Reporter: malachi83 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: SymmetricsDS Installation - Fails on start up.
Description: I am installing SymmetricsDS for the first time with the aim of syncing between IBM db2 9.7 FP 9 to postgresql 9.5.
I have followed the quick start demo guide using the data in the samples directory.
When i start the service it attempts to create the SYM tables and because I have already created the tables as part of one of the previous steps (../bin/symadmin --engine corp-000 create-sym-tables ) it fails.
If I drop the SYM tables and start the service again it starts up ok and creates the SYM tables. However when i stop and start the service it trys to create the tables again and fails.
The user which is configured in the properties file has access to the SYM tables. If logon to the database using db visualiser with the same user I can see all the SYM tables.
log output below any help or advice would be appreciated.
[startup] - SymmetricWebServer - About to start SymmetricDS web server on host:port default:31415
[startup] - / - Initializing Spring root WebApplicationContext
[corp-000] - AbstractSymmetricEngine - Initializing connection to database
[store-001] - AbstractSymmetricEngine - Initializing connection to database
[corp-000] - JdbcDatabasePlatformFactory - Detected database 'db2', version '9', protocol 'db2'
[corp-000] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.db2.Db2DatabasePlatform
[store-001] - JdbcDatabasePlatformFactory - Detected database 'PostgreSQL', version '9', protocol 'postgresql'
[store-001] - JdbcDatabasePlatformFactory - The IDatabasePlatform being used is org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform
[corp-000] - Db2v9SymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.db2.Db2v9SymmetricDialect
[corp-000] - StagingManager - The staging directory was initialized at the following location: /etc/symmetrics/symmetric-server-3.8.11/tmp/corp-000
[corp-000] - ClusterService - This node picked a server id of symmetricds-4-poc
[store-001] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[store-001] - ExtensionService - Found 0 extension points from the database that will be registered
[store-001] - StagingManager - The staging directory was initialized at the following location: /etc/symmetrics/symmetric-server-3.8.11/tmp/store-001
[store-001] - ClusterService - This node picked a server id of symmetricds-4-poc
[startup] - / - Initializing Spring FrameworkServlet 'rest'
[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
[store-001] - ExtensionService - Found 0 extension points from the database that will be registered
[store-001] - ClientExtensionService - Found 7 extension points from spring that will be registered
[store-001] - ExtensionService - Registering extension named 'databaseUpgradeListener' of type 'IDatabaseUpgradeListener'
[store-001] - ExtensionService - Registering extension named 'softwareUpgradeListener' of type 'ISoftwareUpgradeListener'
[store-001] - AbstractSymmetricEngine - Initializing SymmetricDS database
[store-001] - PostgreSqlSymmetricDialect - Checking if SymmetricDS tables need created or altered
[corp-000] - ClientExtensionService - Found 7 extension points from spring that will be registered
[corp-000] - ExtensionService - Registering extension named 'databaseUpgradeListener' of type 'IDatabaseUpgradeListener'
[corp-000] - ExtensionService - Registering extension named 'softwareUpgradeListener' of type 'ISoftwareUpgradeListener'
[corp-000] - AbstractSymmetricEngine - Initializing SymmetricDS database
[corp-000] - Db2v9SymmetricDialect - Checking if SymmetricDS tables need created or altered
[corp-000] - Db2v9SymmetricDialect - There are SymmetricDS tables that needed altered
[corp-000] - Db2v9SymmetricDialect - DDL failed: 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,
"CREATE_TIME" TIMESTAMP,
"LAST_UPDATE_BY" VARCHAR(50),
"LAST_UPDATE_TIME" TIMESTAMP,
PRIMARY KEY ("CHANNEL_ID")
)
[corp-000] - JdbcSqlTemplate - DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=CAPEST.SYM_CHANNEL;TABLE, DRIVER=4.14.137. Failed to execute: 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,
"CREATE_TIME" TIMESTAMP,
"LAST_UPDATE_BY" VARCHAR(50),
"LAST_UPDATE_TIME" TIMESTAMP,
PRIMARY KEY ("CHANNEL_ID")
)
[corp-000] - AbstractSymmetricEngine - An error occurred while starting SymmetricDS
org.jumpmind.db.sql.SqlException: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=CAPEST.SYM_CHANNEL;TABLE, DRIVER=4.14.137
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:303)
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:294)
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:474)
at org.jumpmind.symmetric.db.db2.Db2SymmetricDialect.createOrAlterTablesIfNecessary(Db2SymmetricDialect.java:48)
at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:155)
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:478)
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=CAPEST.SYM_CHANNEL;TABLE, DRIVER=4.14.137
at com.ibm.db2.jcc.am.ed.a(ed.java:677)
at com.ibm.db2.jcc.am.ed.a(ed.java:60)
at com.ibm.db2.jcc.am.ed.a(ed.java:127)
at com.ibm.db2.jcc.am.oo.c(oo.java:2715)
at com.ibm.db2.jcc.am.oo.d(oo.java:2703)
at com.ibm.db2.jcc.am.oo.b(oo.java:2070)
at com.ibm.db2.jcc.t4.ab.i(ab.java:226)
at com.ibm.db2.jcc.t4.ab.c(ab.java:48)
at com.ibm.db2.jcc.t4.p.b(p.java:38)
at com.ibm.db2.jcc.t4.qb.h(qb.java:114)
at com.ibm.db2.jcc.am.oo.hb(oo.java:2065)
at com.ibm.db2.jcc.am.oo.a(oo.java:3237)
at com.ibm.db2.jcc.am.oo.e(oo.java:1073)
at com.ibm.db2.jcc.am.oo.execute(oo.java:1056)
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)
... 11 more
[corp-000] - AbstractSymmetricEngine - Stopping SymmetricDS externalId=000 version=3.8.11 database=DB2/LINUXX8664
[corp-000] - AbstractSymmetricEngine - SymmetricDS: type=server, name=corp-000, version=3.8.11, groupId=corp, externalId=000, databaseName=DB2/LINUXX8664, databaseVersion=9.7, driverName=IBM Data Server Driver for JDBC and SQLJ, driverVersion=4.14.137
Tags:
Steps To Reproduce: Install db2 9.7.9
Configure symmetrics using quick start demo guide loading sample data.
Start service
start up fails because SYM tables already exists.
Drop SYM tables
Start up is successful
stop then start service. Start up fails because SYM tables exist.
Additional Information:
Attached Files:
Notes
(0000956)
malachi83   
2017-01-18 09:52   
looking at the code It looks to be an issue with the meta data being returned.
adding logging on the meta values shows the below is be returned.
meta data values {TABLE_CAT=null, SELF_REF_COL_NAME=null, TABLE_NAME=null, TABLE_SCHEM=DB2INST1, TYPE_SC
HEM=null, TYPE_CAT=null, TABLE_TYPE=TABLE, REMARKS=null, REF_GENERATION=null, TYPE_NAME=null, NAME=SYM_TRIGGER_ROUTER_GROUPLET}
the table name is returned in the meta values under NAME instead of TABLE_NAME which is null
It then misses out a bit of code which create a table object.
The start up thinks no tables are created and then tries to create them.
Any help on this would be appreciated.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2950 [SymmetricDS] Bug block always 2016-12-27 00:50 2017-01-11 12:17
Reporter: monoranjang Platform:  
Assigned To: OS:  
Priority: immediate OS Version:  
Status: new Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Failed to execute EXTRACT for node 1 and channel default StackTraceKey [SqlException:1239135777]
Description: I have a table with two CLOB datatype. Here is the configuration:
------------Channel Configuration----------
Channel Id*: MA_CREDENTIALS
Processing Order*: 1
Batch Algorithm*: Default
Max. Batch Size*: 1000
Max. Batch to Send*: 60
Max. Data to Route*: 100000
Max. KB/s*: 0
Data Loader Type*: Default
Queue Name*: default
Enabled: Checked
Reload Channel: Unchecked(Tried with checked also, same error)
File Sync Channel: Unchecked
Use Old Data to Route: Checked(Tried with checked also, same error)
Use Row Data to Route: Checked(Tried with checked also, same error)
Use Primary Key (PK) Data to Route: Checked(Tried with checked also, same error)
Tables Contain Big Lobs: Checked(Tried with checked also, same error)


------------------Trigger Configuration-------------
Trigger Id*: ms.ma_credentials
Source Catalog:
Source Schema: MS
Source Table*: MA_CREDENTIALS
Channel*: MA_CREDENTIALS
Sync on Insert: Checked
Sync on Update: Checked
Sync on Delete: Checked
Reload Channel Id*: reload
Sync on Insert Condition*: 1=1
Sync on Update Condition*: 1=1
Sync on Delete Condition*: 1=1
Custom Insert Trigger Text:
Custom Update Trigger Text:
Custom Delete Trigger Text:
Sync on Incoming: Unchecked
Stream Lobs: Checked
Capture Lobs: Checked
Capture Old Data: Checked
External Select: Checked
Excluded Column Names:
Included Column Names:
Sync Key Names:
Channel Expression:


---------------------Table Routing -----------------------
Trigger*: ms.ma_credentials
Router*: Server pushes for client MS
Initial Load Select:
Initial Load Delete
Initial Load Order*: 50
Initial Load Batch Count: 0
Enabled: Checked
Ping Back Enabled: Unchecked
Help


Tags:
Steps To Reproduce: Create Channel, Trigger & Router for a table with clob datatype. Do initial load of the table with create table option
Additional Information: 2016-12-25 18:32:47,875 ERROR [server] [NodeCommunicationService] [server-extract-default-10] Failed to execute EXTRACT for node 1 and channel default StackTraceKey [SqlException:1239135777]

2016-12-25 18:32:49,711 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:51,224 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:52,738 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:54,228 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:54,865 INFO [server] [FileSyncExtractorService] [server-file_extract-default-6] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:32:55,404 INFO [server] [DataExtractorService] [server-extract-default-11] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:32:55,907 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:56,986 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:57,572 INFO [server] [FileSyncExtractorService] [server-file_extract-default-6] Done extracting 1 batches for request 55

2016-12-25 18:32:58,101 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:32:59,440 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is marked as ready but it has been deleted. Rescheduling it for extraction

2016-12-25 18:33:00,302 ERROR [server] [NodeCommunicationService] [server-extract-default-11] Failed to execute EXTRACT for node 1 and channel default StackTraceKey [SqlException:1239135777]

2016-12-25 18:33:01,831 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:03,028 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:04,708 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:05,945 INFO [server] [FileSyncExtractorService] [server-file_extract-default-7] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:33:06,291 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:06,485 INFO [server] [DataExtractorService] [server-extract-default-12] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:33:07,491 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:08,435 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:08,652 INFO [server] [FileSyncExtractorService] [server-file_extract-default-7] Done extracting 1 batches for request 55

2016-12-25 18:33:09,652 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is marked as ready but it has been deleted. Rescheduling it for extraction

2016-12-25 18:33:10,040 ERROR [server] [NodeCommunicationService] [server-extract-default-12] Failed to execute EXTRACT for node 1 and channel default StackTraceKey [SqlException:1239135777]

2016-12-25 18:33:12,624 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:15,124 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:17,631 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:18,173 INFO [server] [FileSyncExtractorService] [server-file_extract-default-8] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:33:18,714 INFO [server] [DataExtractorService] [server-extract-default-13] Extracting batches for request 55. Starting at batch 1288. Ending at batch 1288

2016-12-25 18:33:19,330 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction

2016-12-25 18:33:20,879 INFO [server] [FileSyncExtractorService] [server-file_extract-default-8] Done extracting 1 batches for request 55
2016-12-25 18:33:20,884 INFO [server] [DataExtractorService] [server-data-extractor-1] Batch 1-1288 is not ready for delivery. It is currently scheduled for extraction
Attached Files:
Notes
(0000944)
monoranjang   
2016-12-27 01:13   
Note: SymmetricDS Server Node(inside office premise under firewall) is connected with a schema SYMDBTEST. It fetches data from a schema called MS(office premise). Client node is in AWS connected to schema SYMDBTEST at AWS-RDS. Trying to push data to schema MS in AWS-RDS.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2935 [SymmetricDS] Bug major always 2016-12-07 10:01 2016-12-07 11:48
Reporter: smotycka Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.8  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Error with GEOMETRY data type
Description: I try to replicate MSSQL tables with geometry data type to {MySQL,PostgreSQL}.

It ends with following error:

2016-12-07 15:44:56,459 INFO [corp-000] [MsSqlSymmetricDialect] [corp-000-sync-triggers-3] Failed to create trigger: create trigger SYM_ON_U_FOR_G_CCRNCRCRD_NXCT_CRP ...
....
2016-12-07 15:30:07,459 ERROR [corp-000] [TriggerRouterService] [corp-000-sync-triggers-3] Failed to create triggers for * StackTraceKey.init [SqlException:2558623764]
org.jumpmind.db.sql.SqlException: Invalid operator for data type. Operator equals equal to, type equals geometry.
Tags:
Steps To Reproduce:
Additional Information: output from log:

2016-12-07 15:44:56,459 INFO [corp-000] [MsSqlSymmetricDialect] [corp-000-sync-triggers-3] Failed to create trigger: create trigger SYM_ON_I_FOR_G_CCRNCRCRD_NXCT_CRP on "SM_testovacia"."dbo"."ig_occurencerecord_inexact" with execute as caller after insert as                                                                                                
   begin                                                                                                                                                                  
     declare @NCT int 
     set @NCT = @@OPTIONS & 512 
     set nocount on                                                                                                                                                       
     declare @TransactionId varchar(1000)                                                                                                                                 
     if (@@TRANCOUNT > 0) begin                                                                                                                                           
       select @TransactionId = convert(VARCHAR(1000),transaction_id) from sys.dm_exec_requests where session_id=@@SPID and open_transaction_count > 0                     
     end                                                                                                                                                                  
      
     if ("SM_testovacia".dbo.sym_triggers_disabled() = 0) begin                                                                                                                           
         insert into  "SM_testovacia"."dbo".sym_data 
            (table_name, event_type, trigger_hist_id, row_data, channel_id, transaction_id, source_node_id, external_data, create_time) 
          select 'ig_occurencerecord_inexact','I', 36, 
          case when inserted."SHAPE" is null then '' else '"' + replace(replace(convert(varchar(max),inserted."SHAPE".STAsText()) ,'\','\\'),'"','\"') + '"' end+','+
          case when orig."wkb" is null then '' else '"' + replace(replace("SM_testovacia".dbo.sym_base64_encode(CONVERT(VARBINARY(max), orig."wkb")),'\','\\'),'"','\"') + '"' end, 
                  'oe_transaction', @TransactionId,  "SM_testovacia".dbo.sym_node_disabled(), null, current_timestamp 
                                                                                                                                             
          from inserted inner join "SM_testovacia"."dbo"."ig_occurencerecord_inexact" orig on orig."SHAPE"=inserted."SHAPE" 
                                                                                                                                            
          where 1=1               
     end                                                                                                                                                                  
                                                                                                                                                  
     if (@NCT = 0) set nocount off                                                                                                                                        
   end                                                                                                                                                                    
---- go
2016-12-07 15:44:56,460 INFO [corp-000] [TriggerRouterService] [corp-000-sync-triggers-3] Cleaning up trigger hist row of 36 after failing to create the associated trigger
2016-12-07 15:44:56,462 ERROR [corp-000] [TriggerRouterService] [corp-000-sync-triggers-3] Failed to create triggers for * StackTraceKey.init [SqlException:2113078468]
org.jumpmind.db.sql.SqlException: Invalid operator for data type. Operator equals equal to, type equals geometry.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:303)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:294)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:391)
    at org.jumpmind.db.sql.JdbcSqlTransaction.execute(JdbcSqlTransaction.java:282)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createTrigger(AbstractSymmetricDialect.java:352)
    at org.jumpmind.symmetric.service.impl.TriggerRouterService.rebuildTriggerIfNecessary(TriggerRouterService.java:1775)
    at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTriggers(TriggerRouterService.java:1647)
    at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTrigger(TriggerRouterService.java:1529)
    at org.jumpmind.symmetric.service.impl.TriggerRouterService$2.run(TriggerRouterService.java:1515)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: Invalid operator for data type. Operator equals equal to, type equals geometry.
    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.getMoreResults(TdsCore.java:643)
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:614)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:573)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:810)
    at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1290)
    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.JdbcSqlTransaction$3.execute(JdbcSqlTransaction.java:289)
    at org.jumpmind.db.sql.JdbcSqlTransaction$3.execute(JdbcSqlTransaction.java:282)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:389)
    ... 11 more
2016-12-07 15:44:56,481 INFO [corp-000] [TriggerRouterService] [symmetric-engine-startup-0] Done synchronizing triggers
Attached Files:
Notes
(0000926)
elong   
2016-12-07 11:48   
It might help to set sym_trigger.use_stream_lobs=1. But the bigger problem will probably be that you are missing a primary key on the table.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2932 [SymmetricDS] Improvement block always 2016-12-02 01:03 2016-12-05 03:05
Reporter: rpotam Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.10  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Db2 to Mysql Replication
Description: We are trying to replicate data between DB2 and Mysql by trying out the demo application.

when I keep the config (initial.load.create.first=false) in server.properties, I am getting the following error

[corp-000] - TriggerRouterService - Could not find any database tables matching 'item_selling_price' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_transform_table' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_parameter' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_file_trigger_router' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_table_reload_request' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_identity' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_grouplet_link' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_grouplet' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_file_snapshot' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_file_trigger' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_monitor_event' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_trigger_router' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_router' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'item' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_group_channel_wnd' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_notification' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_group' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_transform_column' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_load_filter' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_monitor' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_extension' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_security' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_trigger' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_group_link' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_channel' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_node_host' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_conflict' in the datasource that is configured
[corp-000] - TriggerRouterService - Could not find any database tables matching 'sym_trigger_router_grouplet' in the datasource that is configured


[store-001] - RegistrationService - Unexpected error during registration: Server returned HTTP response code: 500 for URL: http://localhost:31415/sync/corp-000/registration?nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2Fde-mucpaasdb2in%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=MySQL&databaseVersion=5.7&symmetricVersion=3.8.10&hostName=de-mucpaasdb2in&ipAddress=10.40.232.136
java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:31415/sync/corp-000/registration?nodeGroupId=store&externalId=001&syncURL=http%3A%2F%2Fde-mucpaasdb2in%3A31415%2Fsync%2Fstore-001&schemaVersion=%3F&databaseType=MySQL&databaseVersion=5.7&symmetricVersion=3.8.10&hostName=de-mucpaasdb2in&ipAddress=10.40.232.136

when I keep the config (initial.load.create.first=true) in server.properties, I am getting the following error


[corp-000] - Db2v9SymmetricDialect - There are SymmetricDS tables that needed altered
[corp-000] - Db2v9SymmetricDialect - DDL failed: 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,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("CHANNEL_ID")
)
[corp-000] - JdbcSqlTemplate - DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=PAAS_CA.SYM_CHANNEL;TABLE, DRIVER=4.21.29. Failed to execute: 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,
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(50),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("CHANNEL_ID")
)
[corp-000] - AbstractSymmetricEngine - An error occurred while starting SymmetricDS
org.jumpmind.db.sql.SqlException: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=PAAS_CA.SYM_CHANNEL;TABLE, DRIVER=4.21.29
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:303)
        at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:294)
        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:474)
        at org.jumpmind.symmetric.db.db2.Db2SymmetricDialect.createOrAlterTablesIfNecessary(Db2SymmetricDialect.java:48)
        at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:155)
        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:478)
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=PAAS_CA.SYM_CHANNEL;TABLE, DRIVER=4.21.29
        at com.ibm.db2.jcc.am.kd.a(kd.java:810)
        at com.ibm.db2.jcc.am.kd.a(kd.java:66)
        at com.ibm.db2.jcc.am.kd.a(kd.java:140)
        at com.ibm.db2.jcc.am.sp.c(sp.java:2796)
        at com.ibm.db2.jcc.am.sp.d(sp.java:2784)
        at com.ibm.db2.jcc.am.sp.b(sp.java:2146)
        at com.ibm.db2.jcc.t4.bb.j(bb.java:233)
        at com.ibm.db2.jcc.t4.bb.c(bb.java:48)
        at com.ibm.db2.jcc.t4.p.b(p.java:38)
        at com.ibm.db2.jcc.t4.vb.h(vb.java:124)
        at com.ibm.db2.jcc.am.sp.jb(sp.java:2141)
        at com.ibm.db2.jcc.am.sp.a(sp.java:3336)
        at com.ibm.db2.jcc.am.sp.e(sp.java:1111)
        at com.ibm.db2.jcc.am.sp.execute(sp.java:1090)
        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)
        ... 11 more
[corp-000] - AbstractSymmetricEngine - Stopping SymmetricDS externalId=000 version=3.8.10 database=DB2/LINUXX8664
[corp-000] - AbstractSymmetricEngine - SymmetricDS: type=server, name=corp-000, version=3.8.10, groupId=corp, externalId=000, databaseName=DB2/LINUXX8664, databaseVersion=10.5, driverName=IBM Data Server Driver for JDBC and SQLJ, driverVersion=4.21.29




Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000924)
chenson   
2016-12-04 11:42   
That looks to me as if tables have been created, but symmetricds can't see them via metadata so it thinks it needs to create them again. Can you log onto the DB2 database with the credentials that SymmetricDS is using and see the tables?
(0000925)
rpotam   
2016-12-05 03:05   
I could able to view tables that are created by SymmetryDS, i.e with the credentials that I supplied.

What I suspect is that SymmetryDS is looking for tables in small-case, where as DB2 stores all objects in Upper-case. But I am not sure I just suspect that. But I couldn't think SymmetryDS would have not taken care of case-sensitivity, when they are implementing this to multiple databases.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2922 [SymmetricDS] Bug major always 2016-11-30 08:21 2016-12-01 09:45
Reporter: iberras Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Send-Schema command not working with HSQL
Description: Trying to update the schema with the send-schema command. When adding/removing/modifing a column, basically any modification, throws an error that a dependant object exists. There is no workarround for this and i have no other choice but to do a reload wich consumes a lot of time and bandwidth.

Stack trace:
I get this error:
org.jumpmind.db.sql.SqlException: object dependent exists: PUBLIC.SYM_ON_I_FOR_CTVTN_CSRVRDVLPMNT in statement [ALTER TABLE "PUBLIC"."PUBLIC"."ACTIVATION" DROP COLUMN "LASTCONNECTION"]
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:303)
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:294)
at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:494)
at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:402)
at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
at org.jumpmind.db.platform.AbstractDatabasePlatform.alterTables(AbstractDatabasePlatform.java:219)
at org.jumpmind.db.platform.AbstractDatabasePlatform.alterDatabase(AbstractDatabasePlatform.java:192)
at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.create(DefaultDatabaseWriter.java:509)
at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:167)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:65)
at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:207)
at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:200)
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.DataLoaderService.loadDataFromTransport(DataLoaderService.java:526)
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:285)
at org.jumpmind.symmetric.service.impl.PullService.execute(PullService.java:126)
at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:479)
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)
Tags:
Steps To Reproduce: It happens all the time.

Send schema command with Central DB: MySQL and Client DB: HSQL. Add one column in MySQL, reload triggers, and then send the schema to the client HSQL and the error appears.
Additional Information:
Attached Files:
Notes
(0000916)
elong   
2016-11-30 12:10   
When the alter comes through to load on the target node, we could temporarily drop any triggers on it, perform the alter, then re-sync the triggers.

In the meantime, a workaround is to manually drop the trigger before altering the table. You could send a BSH script that drops the trigger for that table, followed by sending the schema change, like this:

symadmin send-script -n 001 't = new java.util.HashSet(); t.add("mytable"); engine.getTriggerRouterService().dropTriggers(t);'

symadmin send-schema -n 001 mytable
(0000919)
iberras   
2016-11-30 16:36   
This was working before. I don't know what has changed. I think in 3.7.36 the send schema was working.

That is a workaround, but im working with all the tables sending the send-schema with no tables as a parameter. Is there a way to drop all the triggers at once? Do you think that you could fix this for the next release?
(0000920)
chenson   
2016-11-30 17:25   
Technically, I don't see how this would have every worked. We could add a feature to drop triggers prior to altering tables and then resyncing triggers afterwards. It isn't a super huge priority for us though ...
(0000921)
iberras   
2016-12-01 07:43   
Well then, I will implement a solution that drops all the triggers and then executes the send schema. I will keep an eye on the change log if you implement this in any new release. Thank you very much!
(0000922)
iberras   
2016-12-01 09:45   
For anybody that has the same problem, if you are in the client and what to update all the schema with HSQLDB, use the function node.getTriggerRouterService().dropTriggers();

After that, do the send-schema, and afterwards do the node.syncTriggers();

Hope it helps someone!

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2918 [SymmetricDS Pro] Bug minor sometimes 2016-11-24 09:17 2016-11-24 09:17
Reporter: monoranjang Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.9  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: IO Error: Socket read timed out
Description: 2016-11-24 14:10:00,114 INFO [gui] [PullJob] [qtp238157928-18] The job.pull job has been cancelled
2016-11-24 14:10:00,114 INFO [gui] [PullJob] [qtp238157928-18] Starting job.pull on periodic schedule: every 5000ms with the first run at Thu Nov 24 14:10:07 UTC 2016
2016-11-24 14:10:10,072 ERROR [server] [RouterJob] [server-job-11] StackTraceKey [SqlException:2135036551]
2016-11-24 14:10:13,336 INFO [server] [DataGapFastDetector] [server-job-8] Full gap analysis is running
2016-11-24 14:10:13,343 INFO [server] [DataGapFastDetector] [server-job-8] Querying data in gaps from database took 7 ms
2016-11-24 14:11:13,388 ERROR [server] [RouterJob] [server-job-8] StackTraceKey.init [SqlException:2997995603]
org.jumpmind.db.sql.SqlException: IO E