View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3333 [SymmetricDS] Bug minor have not tried 2017-12-07 08:05 2017-12-08 04:40
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Pull extract is broke when stream.to.file.enabled is set to false
Description: Pull extract is broke when stream.to.file.enabled is set to false
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] Bug minor N/A 2017-12-07 06:57 2017-12-07 06:57
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
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3331 [SymmetricDS] Bug minor have not tried 2017-12-06 17:12 2017-12-06 17:12
Reporter: mmichalek Platform:  
Assigned To: kstojanovska 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.33  
Summary: Fix sql maps to avoid using hard coded prefixes to tables.
Description: Fix sql maps to avoid using hard coded prefixes to tables.

When using a different table prefix, as in:
sync.table.prefix=sds

Results in errors accessing the outgoing_batch.

017-12-06 17:04:28,951 ERROR [regsvr] [HeartbeatJob] [qtp633070006-16] StackTraceKey.init [SqlException:3389318759]
org.jumpmind.db.sql.SqlException: Failed to execute sql: select node_id, batch_id from sym_outgoing_batch where channel_id = ? and status <> ? and summary=?
     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.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:177)
     at org.jumpmind.symmetric.service.impl.OutgoingBatchService.markAllChannelAsSent(OutgoingBatchService.java:163)
     at org.jumpmind.symmetric.job.PushHeartbeatListener.heartbeat(PushHeartbeatListener.java:92)
     at org.jumpmind.symmetric.service.impl.DataService.heartbeat(DataService.java:2135)
     at org.jumpmind.symmetric.job.HeartbeatJob.doJob(HeartbeatJob.java:56)
     at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:177)
     at com.jumpmind.symmetric.console.ui.screen.d.f$5.buttonClick(JobsPanel.java:148)
     at sun.reflect.GeneratedMethodAccessor56.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: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.Button.fireClick(Button.java:377)
     at com.vaadin.ui.Button$1.click(Button.java:54)
     at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:498)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
     at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:408)
     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(Thread.java:748)
Caused by: org.postgresql.util.PSQLException: ERROR: relation "sym_outgoing_batch" does not exist
Position: 31
     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)
     ... 58 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:
3330 [SymmetricDS Pro] Improvement minor have not tried 2017-12-05 15:30 2017-12-05 15:30
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.0  
Summary: On Logging Panel, manage auto-scroll based on users natural scroll position, fix multi-line logging
Description: When user scrolls up, "Auto-Scroll" unselected. When user scrolls all the way to the bottom, "auto-scroll" will be selected again. Also fixed multi-line logging for pre-formatted text such as the SymmetricDS ascii art.
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:
3329 [SymmetricDS] Bug minor have not tried 2017-12-04 11:03 2017-12-04 11:03
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: 3.9.0  
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:
3328 [SymmetricDS] Improvement minor have not tried 2017-12-04 10:19 2017-12-04 10:19
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.0  
Summary: Detect when more than one instance of SymDS is connected the same DB but not clustered.
Description: SymmetricDS should have exclusive ownership of its sym tables, unless cluster.lock.enabled=true. Support this through the concept of each installation using an "instance.uuid" to make sure other instances don't operate as the same node id.
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:
3327 [SymmetricDS] Improvement minor have not tried 2017-12-04 09:03 2017-12-04 09:03
Reporter: mmichalek 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: Support SQL Server geography type
Description: Currently, it appears that the "geometry" type works, but not the "geography" type.

**SETUP**

CREATE TABLE test (
    ID INT NOT NULL PRIMARY KEY
    , GEOGRAPHY geography
);

INSERT INTO test VALUES (
    001, geography::Parse('POINT(34.1790991 -84.1217773)'));

--or use the syntax

INSERT INTO test VALUES (
    002, 'POINT(44.1790991 -84.4412174563)');
--Sent Schema to target
--Setup triggers/routers
--Send load data

**ACTUAL ERROR**
2017-11-28 14:23:05,185 ERROR [corp] [AcknowledgeService] [qtp267760927-16] The outgoing batch 001-18 failed: [S1000,6522] A .NET Framework error occurred during execution of user-defined routine or aggregate "geography":
System.ArgumentException: 24204: The spatial reference identifier (SRID) is not valid. The specified SRID must match one of the supported SRIDs displayed in the sys.spatial_reference_systems catalog view.
System.ArgumentException:
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:
3325 [SymmetricDS] Improvement minor have not tried 2017-11-29 23:29 2017-12-01 11:52
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Support cluster lock keep-alive for routing
Description: This change is only relevant if cluster.lock.enabled=true.
Support the notion of a cluster lock keep-alive/refresh in the routing job. Sometimes gets behind, and can take longer than 2 hours (the default cluster.lock.timeout.ms) which causes the lock to time-out and another server to start routing which corrupts data gaps and possibly has other negative effects on the integrity of the route job.

This change introduces the cluster.lock.refresh.ms setting (defaults to 20 minutes) which will update the Routing cluster lock in sym_lock about every 20 minutes, so that a true lock timeout only happens after 2 hours of complete inactivity.

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:
3324 [SymmetricDS] Task minor have not tried 2017-11-28 13:10 2017-11-28 13:10
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.0  
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:
3323 [SymmetricDS] Bug minor have not tried 2017-11-28 11:29 2017-11-28 11:29
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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.0  
Summary: sym_monitor_event should be row level locked on SQL Server
Description: sym_monitor_event should be row level locked on SQL Server to avoid deadlocks
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:
3321 [SymmetricDS Pro] Bug minor have not tried 2017-11-22 12:14 2017-11-22 12:14
Reporter: chenson Platform:  
Assigned To: chenson 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: 3.9.1  
Summary: SymmetricDS is broken for Sql Server 2000
Description: https://sourceforge.net/p/symmetricds/discussion/739236/thread/21318721/?limit=25#1020
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 Pro] Bug minor sometimes 2017-10-16 12:29 2017-11-22 00:19
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:
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:
3319 [SymmetricDS] Bug major always 2017-11-16 05:05 2017-11-16 05:05
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3315 [SymmetricDS] Bug major random 2017-11-14 16:15 2017-11-14 16:15
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: Cache hash collision in ColumnsAccordingToTriggerHistory
Description: ColumnsAccordingToTriggerHistory sometimes has a cache collision, so we send the wrong table informations on extract.
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:
3312 [SymmetricDS] Bug minor have not tried 2017-11-13 15:52 2017-11-13 15:52
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: 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:
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:
2861 [SymmetricDS] New Feature minor N/A 2016-10-14 04:28 2017-11-06 08:13
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: 3.9.0  
    Target Version: 3.9.0  
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:
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:
3291 [SymmetricDS] Improvement minor N/A 2017-10-27 11:42 2017-10-27 11:44
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.0  
    Target Version: 3.9.0  
Summary: Disable 3DES ciphers that are vulnerable to Sweet32 Birthday attacks
Description: SymmetricDS is using Jetty and the Java Cryptography Architecture to provide SSL/TLS support. The Triple-DES ciphers have been shown vulnerable to Sweet32 Birthday attacks that analyze lots of traffic to compromise the key. Let's disable these ciphers out of the box.
Tags:
Steps To Reproduce:
Additional Information: As a workaround in version 3.8, you can add a Java System property to your setenv and sym_service.conf file:

-Dsymmetric.ssl.ignore.ciphers=TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
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:
3196 [SymmetricDS] Bug crash always 2017-07-11 16:28 2017-10-27 08:24
Reporter: arsreedh Platform:  
Assigned To: kstojanovska OS:  
Priority: high OS Version:  
Status: resolved Product Version: 3.8.27  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.1  
Summary: Behaviour changed for `sym_trigger` `use_stream_lobs` and `use_capture_lobs` fields
Description: Compared to 3.7.x version in 3.8.x the behaviour for the use_stream_lobs and use_capture_lobs have changed.

When we attempted an upgrade from 3.7.x to 3.8.x the tables with binary column as primary key throw an error extract failed. Is there a way to retain the 3.7.x behaviour in this scenario for 3.8.x ?

java.lang.RuntimeException: java.lang.NullPointerException
        at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:664)
        at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:537)
        at org.jumpmind.symmetric.web.PullUriHandler.pull(PullUriHandler.java:130)
        at org.jumpmind.symmetric.web.PullUriHandler.handleWithCompression(PullUriHandler.java:100)
        at org.jumpmind.symmetric.web.AbstractCompressionUriHandler.handle(AbstractCompressionUriHandler.java:84)
        at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
        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:311)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        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(Thread.java:745)
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:253)
        at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.write(AbstractProtocolDataWriter.java:182)
        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.DataExtractorService.extractOutgoingBatch(DataExtractorService.java:897)
        at org.jumpmind.symmetric.service.impl.DataExtractorService.extractBatch(DataExtractorService.java:774)
        at org.jumpmind.symmetric.service.impl.DataExtractorService$1.call(DataExtractorService.java:604)
        at org.jumpmind.symmetric.service.impl.DataExtractorService$1.call(DataExtractorService.java:602)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        ... 1 more
[corp-000] - DataExtractorService - Failed to extract batch 001-66


Tags:
Steps To Reproduce: Extending the corp-store example add a new table :

CREATE TABLE `corp`.`bin_test` (
  `bin_uuid` BINARY(16) NOT NULL,
  `description` VARCHAR(45) NULL,
  PRIMARY KEY (`bin_uuid`));



CREATE TABLE `store`.`bin_test` (
  `bin_uuid` BINARY(16) NOT NULL,
  `description` VARCHAR(45) NULL,
  PRIMARY KEY (`bin_uuid`));



INSERT INTO `corp`.`sym_trigger`
    (`trigger_id`, `source_table_name`, `channel_id`,
    last_update_time, create_time) VALUES ('bin_test', 'bin_test',
    'sale_transaction', current_timestamp, current_timestamp);


INSERT INTO `corp`.`sym_trigger_router`
    (`trigger_id`, `router_id`, `initial_load_order`, `create_time`,
    `last_update_time`) VALUES ('bin_test', 'corp_2_store', '100',
    current_timestamp, current_timestamp);



UPDATE `corp`.`sym_channel` SET `contains_big_lob`='1' WHERE `channel_id`='sale_transaction';
UPDATE `corp`.`sym_trigger` SET `use_stream_lobs`='1', `use_capture_lobs`='1' WHERE `trigger_id`='bin_test';



Now when you do an insert into this table:

insert into corp.bin_test(bin_uuid,description) values('9fad5e9eefdfb449', 'abc!');

It throws the above stated exception. Where as in 3.7.x this never threw an error.




Additional Information:
Attached Files:
Notes
(0001060)
arsreedh   
2017-07-11 16:32   
The database used is mysql 5.7 for both the nodes.
(0001061)
chenson   
2017-07-12 13:02   
This is because a change was put into 3.8 to treat binary fields like lob fields.
(0001063)
arsreedh   
2017-07-13 01:44   
Is there a workaround in 3.8 to have the 3.7 behaviour?
(0001066)
chenson   
2017-07-18 12:40   
There isn't. We will fix this in 3.8.29

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:
3284 [SymmetricDS] Improvement minor have not tried 2017-10-18 10:30 2017-10-18 10:31
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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.0  
    Target Version: 3.9.0  
Summary: Add details to email notifications
Description: Add details to email notifications
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:
3283 [SymmetricDS] Improvement minor have not tried 2017-10-17 17:03 2017-10-17 17:05
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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.0  
    Target Version: 3.9.0  
Summary: Trigger creation fails on some platforms when multiple trigger threads working.
Description: Change sync.triggers.thread.count.per.server to default to 1 to avoid deadlocks in platforms such as SQLServer
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:
3281 [SymmetricDS] Improvement feature have not tried 2017-10-16 13:00 2017-10-16 14:20
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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.0  
    Target Version: 3.9.0  
Summary: Add caching to FileSyncService
Description: Add caching to FileSyncService
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:
3274 [SymmetricDS] New Feature minor N/A 2017-10-08 16:21 2017-10-09 08:40
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.0  
    Target Version: 3.9.0  
Summary: Setting to block or unblock channels during initial load error
Description: When the initial load is run while changes are being made in the database, it can experience a foreign key exception. (Tables are queried at different times to extract data.) This parameter would allow other channels to sync, which might contain the missing rows to satisfy the foreign key error, which is the default setting in previous versions of SymmetricDS. This parameter could also be set false to continue blocking channels until the initial load is complete. For example, a network error could put the initial load in error, allowing other channels to sync which would be overwritten, or cause foreign key errors.
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-10-05 11:46
Reporter: chenson Platform:  
Assigned To: 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.0  
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:
3186 [SymmetricDS] Improvement minor have not tried 2017-07-05 11:54 2017-10-03 11:56
Reporter: mmichalek Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: Support throttling multi-homed node startup
Description: In a situation where there are a lot of multi-homed nodes (ie, 100's or more of properties files in the engines directory), startup can be chaotic and taxing on the databases involved.

Add a parameter that instructs SymmetricDS to start X number of nodes at a time (e.g. 5 at a time), in order to stagger the startup.
For example:
start.engine.thread.pool.size=5

Maybe we should also alphabetically sort the list of properties files read from the engines directory as well (if not already), so that the order of startup would be predictable and controllable if desired.
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:
3266 [SymmetricDS Pro] Improvement minor N/A 2017-10-03 10:23 2017-10-03 10:24
Reporter: maxwellpettit Platform:  
Assigned To: maxwellpettit 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.0  
    Target Version: 3.9.0  
Summary: Add a new parameter to control the max number of batches on the Outgoing Batches screen
Description: Add a new parameter batch.screen.max.to.select to control the max batches on the Outgoing Batch screen rather than using outgoing.batches.max.to.select
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:
3262 [SymmetricDS] Improvement minor have not tried 2017-09-27 16:45 2017-09-27 16:48
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: Add sym_node_channel_ctl to the snapshot
Description: Add sym_node_channel_ctl to the snapshot
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:
3261 [SymmetricDS] Improvement minor have not tried 2017-09-26 15:39 2017-09-26 15:40
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: During the reading of data to route, log every minute the progress to the log file like other processes do
Description: During the reading of data to route, log every minute the progress to the log file like other processes do
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:
3260 [SymmetricDS] Bug minor have not tried 2017-09-26 13:02 2017-09-26 13:04
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Incoming heartbeat batch can be left stranded in error
Description: If a heartbeat batch errors out and a new heartbeat comes along, the process that ok'd old heartbeats can leave the heartbeat that was in error, stranded. When inserting new heartbeats and marking unsent batches as Ok, only mark those that have not previously been attempted.
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:
3257 [SymmetricDS Pro] Bug minor always 2017-09-25 11:50 2017-09-25 12:51
Reporter: kpatierno 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.0  
    Target Version: 3.9.0  
Summary: Syntax Formatting Error When Connected to ORACLE DB
Description: Symmetric Log error when attempting to create a monitor from sym_monitor & sym_monitor_event,

2017-09-25 09:23:43,257 ERROR [server-000] [a] [background-refresher-2] Exception while refreshing class com.jumpmind.symmetric.console.ui.screen.d StackTraceKey.init [SqlException:2724980413]
org.jumpmind.db.sql.SqlException: Failed to execute sql:
select
    m.monitor_id, m.external_id, m.node_group_id, m.type, m.expression, m.enabled,
    m.threshold, m.run_period, m.run_count, m.severity_level, m.create_time,
    m.last_update_by, m.last_update_time, me.is_resolved
from
    sym_monitor m join sym_monitor_event me
where
    m.monitor_id = me.monitor_id and (m.node_group_id = ? or m.node_group_id = 'ALL')
    and (m.external_id = ? or m.external_id = 'ALL') and m.enabled = 1 and me.is_resolved = 0

The correct syntax for this query is

select........
from
    sym_monitor m join sym_monitor_event me ON m.monitor_id = me.monitor_id
where
    (m.node_group_id = 'SERVER' or m.node_group_id = 'ALL')
    and (m.external_id = '000' or m.external_id = 'ALL') and m.enabled = 1 and me.is_resolved = 0

The formatting should replace the current 'WHERE' with 'ON' and change the 'AND' that follows to 'WHERE' this will eliminate the problem.
Tags:
Steps To Reproduce: Setup an Oracle Server to Symmetric
Additional Information:
Attached Files: SERVER.log (109,925 bytes) 2017-09-25 11:50
http://www.symmetricds.org/issues/file_download.php?file_id=133&type=bug
There are no notes attached to this issue.

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:
3219 [SymmetricDS Pro] Improvement minor N/A 2017-08-08 13:01 2017-09-25 08:53
Reporter: kpatierno Platform:  
Assigned To: kstojanovska 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.0  
    Target Version: 3.9.0  
Summary: Remote Node Registration Screen Layout
Description: When registering a new remote node to a master node the display on the remote node has formatting issues; the text is mashed together and unreadable. It also only shows a few basic details about node registration; Node Group, External ID, Reg URL, Status, and Next Attempt. It offers no options or suggestions on how to proceed from this screen.

Ideally, this screen would be able to help guide the user on how to complete the registration process on the Master node and/or common troubleshooting tips...

"Please ensure that the Master node has accepted the registration request from this node"

"Double check the Master node sync URL if the registration request does not appear on the Master node"
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: Screen Shot 2017-08-08 at 12.28.16 PM.png (623,113 bytes) 2017-08-08 13:01
http://www.symmetricds.org/issues/file_download.php?file_id=131&type=bug
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
3233 [SymmetricDS Pro] Improvement minor have not tried 2017-08-22 16:05 2017-09-25 08:49
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: Upgrade to VAADIN 8
Description: Upgrade to VAADIN 8
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:
3253 [SymmetricDS] Bug minor have not tried 2017-09-20 08:52 2017-09-22 16:02
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: ProcessInfo which is used to gather information about processes can be corrupted on push and pull because of threading in 3.8
Description: ProcessInfo which is used to gather information about processes can be corrupted on push and pull because of threading in 3.8

Need to break PUSH_JOB, PULL_JOB, PUSH_HANDLER and PULL_HANDLER into two different process types each.
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:
3256 [SymmetricDS] Bug minor have not tried 2017-09-22 15:31 2017-09-22 15:35
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Extract stats aren't updated on common outgoing batch rows for nodes that did not do the actual extract
Description: Extract stats aren't updated on common outgoing batch rows for nodes that did not do the actual extract
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:
3252 [SymmetricDS] Improvement minor have not tried 2017-09-15 13:52 2017-09-15 13:53
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: When inserting extract in background reload batches record the data_row_count during the insert of the RQ batch
Description: When inserting extract in background reload batches record the data_row_count during the insert of the RQ batch. This way the user will know how many rows are expected to be extracted for the reload batch by looking at sym_outgoing_batch.
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:
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:
3241 [SymmetricDS Pro] Bug minor always 2017-08-30 12:53 2017-09-11 09:02
Reporter: mmichalek Platform:  
Assigned To: kstojanovska OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: File sync should not sync all files when first scanning a directory
Description: The first time that file sync tracks a directory, it adds all the entries to sym_file_snapshot, causing all files to sync. This seems like an unintended initial load, because all the files are sync'd when this initial track is run.

Solution might be to add a new event type to sym_file_snapshot, and change the router to recognize and discard sym_file_snapshot entries that have this new event type.
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:
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:
3232 [SymmetricDS] Improvement minor have not tried 2017-08-22 15:47 2017-08-22 15:48
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: Upgrade Jetty to the latest version. Require Java 8.
Description: Upgrade Jetty to the latest version. Require Java 8.
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:
3208 [SymmetricDS Pro] Bug minor always 2017-07-26 08:36 2017-08-08 08:23
Reporter: jwilmer Platform:  
Assigned To: maxwellpettit 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.0  
    Target Version: 3.9.0  
Summary: Node Setup Wizard Fails
Description: In the node setup wizard, the External Id tab throws a null pointer preventing you from setting up any 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:
3209 [SymmetricDS] Improvement minor N/A 2017-07-26 09:05 2017-07-26 09:11
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.0  
    Target Version: 3.9.0  
Summary: Delay detection of offline nodes after restart
Description: Delay detection of offline nodes after a restart to give nodes a chance to send their heartbeat. Use the parameter offline.node.detection.restart.minutes to control how much of a delay, and default it to 5 minutes.
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:
3201 [SymmetricDS] Bug major sometimes 2017-07-14 01:52 2017-07-14 07:42
Reporter: megarajtm Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: File descriptors are not closed in staging area
Description: Hi

When I copy data from one database to another using symmetric DS, batches are loaded to a file system(Staging area).
  
So once the batches are copied to the target, the batches on the file system gets deleted but however the file descriptors are not closed. This leads to resource leakage and eventually the file system gets full and the creation of new batches fail with the below exception -

5000org.jumpmind.exception.IoException: java.io.IOException: No space left on device (path /usr/sap/ljs/temp/pw6_rt-0000/outgoing/5000/0000000019.create, working dir /usr/sap/ljs)
    at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.print(StagingDataWriter.java:117)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.println(AbstractProtocolDataWriter.java:252)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.write(AbstractProtocolDataWriter.java:161)
    at org.jumpmind.symmetric.service.impl.DataExtractorService$MultiBatchStagingWriter.write(DataExtractorService.java:1294)
    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:204)
    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.DataExtractorService.extractOutgoingBatch(DataExtractorService.java:761)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.execute(DataExtractorService.java:1124)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$2.run(NodeCommunicationService.java:396)
    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:807)
Caused by: java.io.IOException: No space left on device (path /usr/sap/ljs/temp/pw6_rt-0000/o

Regards,
Megaraj
Tags:
Steps To Reproduce: This issue happens sometimes when there are around 5k records to be copied.
Additional Information:
Attached Files:
Notes
(0001064)
chenson   
2017-07-14 07:41   
(Last edited: 2017-07-14 07:42)
Have you tested with the latest version?

Maybe this fixed your issue:
https://www.symmetricds.org/issues/view.php?id=3181

I have not heard of other reports of this on 3.7.


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:
3142 [SymmetricDS] New Feature minor N/A 2017-06-06 11:06 2017-06-29 14:00
Reporter: maxwellpettit Platform:  
Assigned To: maxwellpettit 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.0  
Summary: Sync Columns Between Incoming and Outgoing Batch
Description: When Incoming and Outgoing Batches were changed to have the same columns, many columns are empty. Somehow, we want to sync these columns so that they have the same information in both Incoming and Outgoing Batch.
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:
1445 [SymmetricDS] Improvement minor have not tried 2013-10-17 09:58 2017-06-28 02:41
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:
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:
3168 [SymmetricDS] New Feature minor have not tried 2017-06-26 12:57 2017-06-26 13:05
Reporter: kstojanovska Platform:  
Assigned To: kstojanovska 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.0  
    Target Version: 3.9.0  
Summary: Create CSV Router to route data from a CSV file into a database and update documentation.
Description: Create CSV Router to route data from a CSV file into a database and update documentation.

Add an example in section 8 in user guide for a by example step through of replicating a csv file into a 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:
3166 [SymmetricDS Pro] Bug minor have not tried 2017-06-23 15:32 2017-06-23 15:33
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.27  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Memory leak cause by VAADIN websockets
Description: https://github.com/vaadin/framework/pull/9331

Fix by upgrading to 7.7.10
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:
3126 [SymmetricDS Pro] New Feature minor have not tried 2017-05-25 13:02 2017-06-20 16:52
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Support viewing Remote Status of Nodes
Description: Using a web socket "control" channel, build the ability to get fine-grained remote batch updates, view process status on other nodes, etc.
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:
3157 [SymmetricDS] Improvement minor have not tried 2017-06-13 14:48 2017-06-19 14:51
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:
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:
2502 [SymmetricDS] Improvement minor N/A 2016-02-22 14:43 2017-06-13 10:42
Reporter: elong Platform:  
Assigned To: kstojanovska OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.9.0  
Summary: Allow notes or comments for triggers, routers, table routing, and transforms
Description: Add a field for notes that lets a user make comments about particular configurations. Possible notes on Trigger, Router, Trigger_Router, File_Trigger, File_Trigger_Router, Transform_Table, and Transform_Column.

Look for a nice way to display these in the UI on both the list and edit screens.
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:
2684 [SymmetricDS] New Feature minor always 2016-07-18 18:14 2017-06-06 09:35
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Support Custom Jobs
Description: Allow the user to run custom extension jobs, on a schedule, through the job manager. These could be bsh or Java based, similar to the general extension mechanism.
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:
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:
3060 [SymmetricDS] Bug minor sometimes 2017-04-18 13:26 2017-05-24 14:57
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Data generated by a transform isn't visible to later transforms (when using multiple load transforms on one table)
Description: For example: say you have one source table, transaction. On transaction, say you have two load transforms, one called trans_header and another called trans_details (in that order). If the trans_details transform tried to select any data from trans_header (via a lookup column transform), the data will not be found and will come back null.

The reason for this is that TransformWriter processes all the transforms for one CSV row as a first phase, and then, as a second phase, it writes the results of those transforms to the database. The change for this issue will be to process and write the data for each transform on a table in a single phase, so that each transform will have database visibility to the data generated by previous transforms on that row.
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:
3114 [SymmetricDS] New Feature minor N/A 2017-05-18 09:38 2017-05-24 14:53
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.0  
    Target Version: 3.9.0  
Summary: Update service detects new software versions
Description: Update service that checks for new software version and lets user know it's available. Allow disabling with a parameter check.software.updates=false.
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:
2937 [SymmetricDS] Improvement minor always 2016-12-08 13:45 2017-05-24 13:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.9.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.9.0  
Summary: Disable and deprecate Grouplets feature in 3.9
Description: Disable and deprecate Grouplets feature in 3.9. A new parameter is available called 'grouplet.enable' and defaults to false.
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:
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:
3087 [SymmetricDS] Improvement minor have not tried 2017-05-02 17:00 2017-05-02 17:01
Reporter: chenson Platform:  
Assigned To: chenson 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.0  
    Target Version: 3.9.0  
Summary: When a trigger_hist row can't be found use the catalog and schema from the trigger definition to look up the table to "recreate"
Description: When a trigger_hist row can't be found use the catalog and schema from the trigger definition to look up the table to "recreate" the trigger history instead of just looking up the Table by name only
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:
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:
2909 [SymmetricDS] Bug minor have not tried 2016-11-21 10:58 2016-12-26 12:00
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.9  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.9.0  
    Target Version: 3.8.12  
Summary: Built in extension points should be marked as built in extension points so they show up as such
Description: Built in extension points should be marked as built in extension points so they show up as such
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:
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:
2879 [SymmetricDS] Bug block always 2016-10-26 06:43 2016-11-30 12:01
Reporter: gatnick Platform:  
Assigned To: mmichalek OS:  
Priority: urgent OS Version:  
Status: assigned Product Version: 3.8.7  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: using a different target catalog and schema when transfering data from psql to mssql dosen't allow identity columns
Description: When transferring data from a psql database to a mssql database together with using a different catalog and schema (different database to the default). Identity columns will not transfer and instead will produce the following error "org.jumpmind.db.sql.SqlException: Cannot insert the value NULL into column"
Tags:
Steps To Reproduce:
Additional Information: I have looked around for a solution without success.
the following tables are configured to use both a target schema and target catalog:
sym_router
sym_transform_table
Attached Files:
Notes
(0000890)
elong   
2016-10-26 12:33   
There is probably something in the transform causing the error. Did you mark the primary key column in the transform and select the "identity" transform type?
(0000896)
gatnick   
2016-10-27 05:24   
Thank you for the response.

The column is not a primary key so is marked with a 0 in the 'pk' field in the sym_transform_column table. I did however try marking the 'pk' column with the value of 1 to see if this works but it did not.

The 'transform_type' column has the value of 'identity' in the sym_transform_column table.

If you would like any further information please let me know.

Thanks, Nick
(0000908)
mmichalek   
2016-11-16 16:11   
Hi Nick, I have not been able to reproduce the issue so far. Also, are you using a SERIAL column on postgres and identity on MSSQL? Would it be possible for you to provide a simple sample configuration that reproduces it (along with the DDL to create the tables)?

Thanks,
Mark
(0000911)
gatnick   
2016-11-21 05:55   
(Last edited: 2016-11-21 06:10)
Thanks for the response Mark.
The psql column is not SERIAL.

Below is most of the failing configuration: (please let me know if I’ve missed anything)

--MSSQL table set up
USE [WORLD]
GO

/****** Object: Table [dbo].[PlanetEnd] Script Date: 11/18/2016 12:04:39 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[PlanetEnd](
    [PlanetEndURN] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [TestRecord] [bit] NOT NULL,
    [ActivityID] [int] NOT NULL,
    [URN] [varchar](50) NOT NULL,
    [SegmentLetter] [varchar](10) NOT NULL,
    [Source] [varchar](50) NULL,
    [DateLoaded] [datetime] NOT NULL,
    [Status] [int] NOT NULL,
    [LastStatus] [int] NOT NULL,
    [PriorityAdjustment] [int] NULL,
 CONSTRAINT [PK_PlanetEnd] PRIMARY KEY CLUSTERED
(
    [TestRecord] ASC,
    [ActivityID] ASC,
    [URN] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[PlanetEnd] ADD CONSTRAINT [DF_PlanetEnd_DateLoaded] DEFAULT (getdate()) FOR [DateLoaded]
GO

ALTER TABLE [dbo].[PlanetEnd] ADD CONSTRAINT [DF_PlanetEnd_Status] DEFAULT ((0)) FOR [Status]
GO

ALTER TABLE [dbo].[PlanetEnd] ADD CONSTRAINT [DF_PlanetEnd_LastStatus] DEFAULT ((0)) FOR [LastStatus]
GO

ALTER TABLE [dbo].[PlanetEnd] ADD DEFAULT ((0)) FOR [PriorityAdjustment]
GO

--psql table set up
SET statement_timeout = 0;
SET client_encoding = 'SQL_ASCII';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

CREATE TABLE planetend (
    testrecord boolean NOT NULL,
    activityid integer NOT NULL,
    urn character varying(50) NOT NULL,
    planetendurn integer,
    dateloaded timestamp without time zone NOT NULL,
    laststatus integer NOT NULL,
    segmentletter character varying(10) NOT NULL,
    priorityadjustment integer,
    status integer NOT NULL,
    source character varying(50)
);

ALTER TABLE public.planetend OWNER TO mint;


ALTER TABLE ONLY planetend
    ADD CONSTRAINT planetend_pkey PRIMARY KEY (testrecord, activityid, urn);

--psql is the master node, so here are the symmetricds table configurations
INSERT INTO sym_router ( router_id, source_node_group_id, target_node_group_id, router_type, router_expression, sync_on_update, sync_on_insert, sync_on_delete, create_time, last_update_time ,use_source_catalog_schema, target_schema_name, target_catalog_name) VALUES ( 'psql_to_mssql_planetend', 'sync-psql', 'sync-mssql', 'bsh', 'PLANETENDURN == null', 0, 1, 0, current_timestamp, current_timestamp, 0, 'dbo', 'world');
INSERT INTO sym_trigger ( trigger_id, source_table_name, channel_id, sync_on_update, sync_on_insert, sync_on_delete, create_time, last_update_time ) VALUES ( 'planetend_inbound', 'planetend', 'onitfhi-to-mi', 0, 1, 0, current_timestamp, current_timestamp );
INSERT INTO sym_trigger_router ( trigger_id, router_id, create_time, last_update_time ) VALUES ( 'planetend_inbound', 'psql_to_mssql_planetend', 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, column_policy, delete_action,target_catalog_name, target_schema_name ) VALUES ( 'planetend_inbound_insert', 'sync-psql', 'sync-mssql', 'LOAD', 'planetend', 'planetend', 'SPECIFIED', 'NONE' ,'WORLD','dbo');
INSERT INTO sym_transform_column( transform_id, include_on, target_column_name, source_column_name, transform_type, transform_expression, pk) VALUES ( 'planetend_inbound_insert', 'I', 'TestRecord', 'TestRecord', 'copy', null, 1 ), ( 'planetend_inbound_insert', 'I', 'ActivityID', 'ActivityID', 'copy', null , 1), ('planetend_inbound_insert', 'I', 'URN', 'URN', 'copy', null, 1 ), ( 'planetend_inbound_insert', 'I', 'PlanetEndURN', null, 'identity', null, 0 ), ('planetend_inbound_insert', 'I', 'SegmentLetter', 'SegmentLetter', 'copy', null, 0 ), ( 'planetend_inbound_insert', 'I', 'DateLoaded', null, 'variable', 'system_timestamp',0), ( 'planetend_inbound_insert', 'I', 'Status', null, 'const', '0', 0 ), ('planetend_inbound_insert', 'I', 'LastStatus', null, 'const', '0', 0 );
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, deployment_type) VALUES ('sync-mssql', 'sync-mssql', 'sync-mssql', 1, 'http://10.10.2.150:31410/sync/sync-mssql', '?', '3.8.6', 'Microsoft SQL Server', '10.50', '2016-10-26 09:53:30.145', '+01:00', 0, 0, 'sync-psql', NULL);
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, deployment_type) VALUES ('sync-psql', 'sync-psql', 'sync-psql', 1, 'http://10.10.2.150:31420/sync/sync-psql', '?', '3.8.7', 'PostgreSQL', '9.1', '2016-10-26 11:10:43.661', '+01:00', -1, -1, NULL, 'server');

INSERT INTO sym_node_host (node_id, host_name, ip_address, os_user, os_name, os_arch, os_version, available_processors, free_memory_bytes, total_memory_bytes, max_memory_bytes, java_version, java_vendor, jdbc_version, symmetric_version, timezone_offset, heartbeat_time, last_restart_time, create_time) VALUES ('sync-psql', 'localhost', '10.10.2.150', 'root', 'Linux', 'amd64', '3.2.0-4-amd64', 8, 174165864, 241172480, 241172480, '1.7.0_111', 'Oracle Corporation', 'PostgreSQL 9.4 JDBC4 (build 1204)', '3.8.7', '+00:00', '2016-11-21 10:26:14', '2016-11-21 10:11:14.709', '2016-10-25 16:06:55.518859');
INSERT INTO sym_channel (channel_id, processing_order, max_batch_size, max_batch_to_send, max_data_to_route, extract_period_millis, enabled, use_old_data_to_route, use_row_data_to_route, use_pk_data_to_route, reload_flag, file_sync_flag, contains_big_lob, batch_algorithm, data_loader_type, description, queue, max_network_kbps, create_time, last_update_by, last_update_time) VALUES ('onitfhi-to-mi', 1, 100000, 60, 100000, 0, 1, 1, 1, 1, 0, 0, 0, 'default', 'default', 'onitfhi-to-mi', 'default', 0.000, NULL, NULL, NULL);

--once that is all set up if you do an psql insert like below you will encounter the error.
INSERT INTO planetend values (false,1234, 4321,null,now(),0,'A',0,0,null) ;

If you need any more information please let me know.

Thanks, Nick

(0000915)
josh-a-hicks   
2016-11-30 12:01   
Nick,

Can you remove the identity transform for your PlanetEndURN column. By default SDS will recognize an identity column on the target and turn identity insert on so that your value will be used rather then having the database generate one.

Thanks
Josh

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 Error: Socket read timed out
    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.prepareAndExecute(JdbcSqlTransaction.java:310)
    at org.jumpmind.symmetric.service.impl.DataService.deleteDataGap(DataService.java:1894)
    at org.jumpmind.symmetric.route.DataGapFastDetector.deleteDataGaps(DataGapFastDetector.java:377)
    at org.jumpmind.symmetric.route.DataGapFastDetector.saveDataGaps(DataGapFastDetector.java:351)
    at org.jumpmind.symmetric.route.DataGapFastDetector.afterRouting(DataGapFastDetector.java:279)
    at org.jumpmind.symmetric.route.DataGapFastDetector.beforeRouting(DataGapFastDetector.java:124)
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:200)
    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: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:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: IO Error: Socket read timed out
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1058)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1088)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:319)
    at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:310)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:389)
    ... 18 more
Caused by: oracle.net.ns.NetException: Socket read timed out
    at oracle.net.ns.Packet.receive(Packet.java:339)
    at oracle.net.ns.DataPacket.receive(DataPacket.java:106)
    at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1037)
    ... 27 more
2016-11-24 14:11:18,392 INFO [server] [DataGapFastDetector] [server-job-12] Full gap analysis is running
2016-11-24 14:11:18,399 INFO [server] [DataGapFastDetector] [server-job-12] Querying data in gaps from database took 7 ms
2016-11-24 14:12:18,460 ERROR [server] [RouterJob] [server-job-12] StackTraceKey [SqlException:2997995603]
2016-11-24 14:12:23,464 INFO [server] [DataGapFastDetector] [server-job-9] Full gap analysis is running
Tags:
Steps To Reproduce: delete from sym_data
delete from sym_data_gap
delete from sym_data_event

insert record into source table
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2911 [SymmetricDS] New Feature minor N/A 2016-11-21 14:26 2016-11-21 15:03
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.0  
    Target Version: 3.9.0  
Summary: Immediate re-pull when data was just pulled
Description: If the pull receives data, then re-pull immediately to see if more data is waiting, speeding up data loads similar to how the reload re-pulls. Control with a parameter pull.immediate.if.data.found=true.
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:
2904 [SymmetricDS] Bug block always 2016-11-16 06:05 2016-11-16 12:22
Reporter: tparamanandam 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: Excluding the Indexes getting replicated from server to clients.
Description: I am replicating a table which contains Indexes from MSSql Server to MYSQL server. I want to exclude the index in replication. I don't find an option to exclude indexes getting replicated from server to client.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000907)
josh-a-hicks   
2016-11-16 12:22   
You could use dbexport command line to generate your create table scripts. There is an option to ignore indices

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2903 [SymmetricDS] Bug minor always 2016-11-15 16:19 2016-11-15 16:19
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:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2439 [SymmetricDS] Bug minor always 2015-11-05 14:23 2016-11-14 17:21
Reporter: rotten Platform: Ubuntu  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.26  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: PostgreSQL 9.5 Beta 1 no longer supports autocommit option
Description: When I try to run dbimport for a new PostgreSQL 9.5 (Beta 1) database I get this error:

org.postgresql.util.PSQLException: ERROR: unrecognized configuration parameter "autocommit"

It appears 9.5 has removed support for this configuration option.

http://www.postgresql.org/docs/9.5/static/release-9-5.html

"Remove server configuration parameter autocommit, which was already deprecated and non-operational (Tom Lane)"
Tags:
Steps To Reproduce: Stand up a 9.5 database and try to load a table using dbimport.
Additional Information: I haven't figured out a work-around yet.
Attached Files:
Notes
(0000728)
rotten   
2015-11-05 15:25   
Since I'm loading into PostgreSQL, I used the 'copy table from' command to do the import from the dbexport files.
(0000757)
moizhb   
2016-02-02 21:01   
(Last edited: 2016-02-02 21:02)
Now that postgresql-9.5 is in production, we upgraded it and I see symmetric cannot connect to the database. Here is the error:

`2016-02-03 01:45:13,622 ERROR [server-000] [AbstractSymmetricEngine] [symmetric-engine-startup-0] Could not get a connection to the database: Cannot create PoolableConnectionFactory (ERROR: unrecognized configuration parameter "autocommit"). Waiting for 10 seconds before trying to connect to the database again.`

Any workaround for time being is appreciated. Thanks.

(0000770)
woehrl01   
2016-03-22 16:10   
(Last edited: 2016-03-23 04:53)
You need to (self-)update the JDBC driver for postgresql:

https://github.com/pgjdbc/pgjdbc/blob/477851c1c0a402776cd162c88d377bd05661eab0/pgjdbc/src/main/java/org/postgresql/core/v2/ConnectionFactoryImpl.java#L485

remove "set autocommit = ON"

in seems there is currently no fix for this provided yet.

edit:

If you create a .jar from the corresponding .java file (only with that .java) you should be able to put that in the "patches" folder of your SymmetricDS installation, to get this working.

(0000904)
alex_val   
2016-11-14 10:47   
I confirm workaround above works, but this looks like to much of hassle. Postgresql 9.5 should work out of the box.
(0000905)
chenson   
2016-11-14 11:55   
You can remove protocolVersion=2 from the jdbc url. It was added because of this issue:

http://www.symmetricds.org/issues/view.php?id=1656

Maybe postgres 9.5 and higher have solved the plan issue.
(0000906)
davesharpe13   
2016-11-14 17:21   
To work around the "autocommit" error, the PostgreSQL JDBC driver shipped with SymmetricDS needs to be updated:
1. download the latest PostgreSQL JDBC driver from https://jdbc.postgresql.org/download.html. There are different drivers depending on the level of JDK (“java -version”).
2. put the downloaded jar file in the “../symmetric-server-3.8.8/patches” directory.

I tried the latest "postgresql-9.4.1212.jar and the SymmetricDS "tutorial" went through on PostgreSQL v9.5 databases.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2899 [SymmetricDS] Bug major sometimes 2016-11-14 00:50 2016-11-14 00:50
Reporter: nuralimca Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: MAINTENANCE TOKEN error from sybase pause data copy
Description: Hi,

I am using ..
Symmetric DS: 3.7.33
Source DB: Sybase ASE 15
Source JDBC Driver: jTDS 1.3
Target DB: Sybase ASE 16
Target JDBC Driver: JConnect 7.07

When data are getting copied from Source DB to Target DB, sometimes I got "MAINTENANCE TOKEN" error due to which data copy from source to target don't happen. After sometime (about 10 mins), the "MAINTENANCE TOKEN" issue goes off and data copy contiunues as usual by Symmteric DS.

** Error **
2016 11 04 03:34:34#+00#DEBUG#com.sap.it.setup.migrate2.core.db.DbDeltaCopyCompletedCheckSupplier##anonymous#AvatarMigrationThread-1#na#wb38a11ed#vnsdsload4#web#wb38a11ed#RouterService.unroutedDataCount:1|
2016 11 04 03:34:36#+00#ERROR#org.jumpmind.symmetric.service.impl.RouterService##anonymous#tnt1_rt-0000-job-8#na#wb38a11ed#vnsdsload4#web#wb38a11ed#org.jumpmind.db.sql.SqlException: Operand type clash: DECIMAL is incompatible with MAINTENANCE TOKEN
 
                at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:283)
                at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:274)
                at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:163)
                at org.jumpmind.symmetric.service.impl.DataService.insertDataEvents(DataService.java:978)
                at org.jumpmind.symmetric.service.impl.RouterService.routeDataForChannel(RouterService.java:512)
                at org.jumpmind.symmetric.service.impl.RouterService.routeDataForEachChannel(RouterService.java:336)
                at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:184)
                at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:40)
                at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:180)
                at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:224)
                at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
                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:812)
Caused by: java.sql.BatchUpdateException: Operand type clash: DECIMAL is incompatible with MAINTENANCE TOKEN
 
                at net.sourceforge.jtds.jdbc.JtdsStatement.executeBatch(JtdsStatement.java:1069)
                at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
                at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
                at org.jumpmind.db.sql.JdbcSqlTransaction.flush(JdbcSqlTransaction.java:156)
                ... 15 common frames omitted
|


Some more details:

I have observed that above exception happened when below query is getting executed.
Query - insert into sym_data_event (data_id, batch_id, router_id, create_time) values(?, ?, ?, getdate())

As insert to sym_data_event keep failing, NO more new outgoing batches created and thus NO data copy happened during the time when "MAINTENANCE TOKEN" issue occurred.

Let me know in case need more details.

Cheers,
Nurali


Tags:
Steps To Reproduce: Issue comes up sometimes when data copy is happening from Source DB to Target DB.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2889 [SymmetricDS Pro] Bug minor always 2016-11-04 02:56 2016-11-09 11:58
Reporter: mtamplier 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: UTF-8 Georgian charset problem
Description: Hello,

We are using trial version and are going to purchase your product but we have a problem when we are synchronizing data. When data is Georgian charset after synchronizing we get ????? symbols. It is very important for us and if you can help to solve this problem then we definitely will purchase your product because we like your product in general very much.

Waiting for your support.

Regards,

Mate
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000902)
josh-a-hicks   
2016-11-09 11:58   
Mate,

What type of databases are you syncing and what drivers are you using?

Thanks
Josh

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2880 [SymmetricDS] Improvement minor always 2016-10-26 08:30 2016-10-26 13:17
Reporter: luizmanoelbh Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.5  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Create a lightweight library for android
Description: There are some restrictions on the development of applications android (Apps with Over 64K Methods), therefore, when smaller the library is better. In this latest version, 3.8, after the deployment in a multidex application is alerted 632 errors resulting from library could.

In the previous version this number was around 400, anyway interesting would leave the lightest possible the library, thus facilitating the development and improving the Android applications.

I see this problem as serious for corporative applications.
Tags:
Steps To Reproduce:
Additional Information: Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.DataHandler$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.SecuritySupport$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.SecuritySupport$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.SecuritySupport$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.SecuritySupport$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.activation.SecuritySupport$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.DefaultFolder$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.DefaultFolder$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$10) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$11) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$12) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$13) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$14) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$15) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$16) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$17) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$18) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$19) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$6) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$7) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPMessage$1FetchProfileCondition) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$8) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPFolder$9) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.IMAPStore$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.protocol.IMAPSaslAuthenticator$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.smtp.SMTPSaslAuthenticator$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.util.MimeUtil$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.util.SocketFetcher$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.util.logging.LogManagerProperties$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$6) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.Session$7) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(javax.mail.internet.MimeUtility$1NullInputStream) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$8) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$10) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$11) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$6) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$7) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$9) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BeanMap$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BinaryHeap$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.BoundedFifoBuffer$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$2$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$3$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$4$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$1$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$5$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$6) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.DoubleOrderedMap$6$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.ReferenceMap$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.ReferenceMap$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.ReferenceMap$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.SequencedHashMap$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.SequencedHashMap$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.SequencedHashMap$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.UnboundedFifoBuffer$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.buffer.BoundedFifoBuffer$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.buffer.PriorityBuffer$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.buffer.UnboundedFifoBuffer$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.map.ListOrderedMap$KeySetView$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.commons.collections.map.ListOrderedMap$ValuesView$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
Attached Files: error.png (120,926 bytes) 2016-10-26 08:30
http://www.symmetricds.org/issues/file_download.php?file_id=120&type=bug
png
Notes
(0000889)
chenson   
2016-10-26 09:04   
Curious, have you thought about (or would be interested in) trying to integrate the native c client for SymmetricDS?
(0000891)
luizmanoelbh   
2016-10-26 13:17   
chenson, I dont develop in C, and all our application is in Java.

Another solution I have in mind would be, split the android library in modules and put this on Gradle, like GOOGLE PLAY SERVICES library. Thus the User can get the library as a whole or only the services that will use, i.e. location, maps.

In the case of SymmetricDS could exist for example with a Core of authentication and basic synchronization, one related to e-mail and others.
Making the library lighter and more specific for each one.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2857 [SymmetricDS] Bug block always 2016-10-12 05:21 2016-10-19 15:41
Reporter: gatokino Platform:  
Assigned To: josh-a-hicks OS:  
Priority: urgent OS Version:  
Status: resolved Product Version: 3.8.6  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.7  
    Target Version:  
Summary: PostgresBulkDatabaseWriter is not preserving spaces
Description: When doing initial load if a character[] field is present and that field has spaces at the end the spaces are lost at target.
Tags:
Steps To Reproduce: sync a table with a character[2] containing 2 records having 'A ' and 'A'
the target table will have 'A', 'A'
Additional Information: problem comes from

PostgresBulkDatabaseWriter -> line 104

 String formattedData = CsvUtils.escapeCsvData(parsedData, '\n', '\'', CsvWriter.ESCAPE_MODE_DOUBLED);

which calls

 writer.writeRecord(data);

instead of

 writer.writeRecord(data, true);
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2864 [SymmetricDS] Improvement minor sometimes 2016-10-17 11:32 2016-10-17 11:32
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: Raise an error if an MSSQL Update fails to get captured
Description: Suggest enabled the use_handle_key_updates sym_trigger flag in the error text. Right now the update silently fails and it's not clear why the update didn't sync.
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:
2760 [SymmetricDS] Improvement minor N/A 2016-08-30 19:08 2016-10-06 19:34
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: reopened  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Default the file.sync.fast.scan to true
Description: Default the file.sync.fast.scan parameter to true for better file sync performance on medium and large file systems.
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:
2849 [SymmetricDS] Bug major have not tried 2016-10-06 08:37 2016-10-06 08:37
Reporter: anouri Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.8.5  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Mysql Enum issue - Enum(2) --> enum('y','n')
Description: 021-data-loader-1] Running alter sql:
CREATE TABLE `data_dic`(
    `table_name` VARCHAR(40) NOT NULL,
    `field_name` VARCHAR(30) NOT NULL,
    `caption` VARCHAR(40) NULL,
    `min_size` INT DEFAULT 120,
    `field_order` SMALLINT,
    `field_type` ENUM(6) DEFAULT 'text' NULL,
    `popup_form` VARCHAR(25) NULL,
    `popup_field` VARCHAR(25) NULL,
    `check_values` VARCHAR(10) NULL,
    `combo_values` VARCHAR(150) NULL,
    `auto_inc` ENUM(2) DEFAULT 'n' NOT NULL,
    `enabled` ENUM(2) DEFAULT 'y' NULL,
    `only_select` ENUM(2) DEFAULT 'n' NOT NULL,
    `best_fit` ENUM(2) DEFAULT 'n' NOT NULL,
    `grid_sum` ENUM(5) DEFAULT 'na' NOT NULL,
    `required` ENUM(2) DEFAULT 'n' NOT NULL,
    `width` INT DEFAULT 0 NOT NULL,
    `add_date` CHAR(8) NULL,
    `visible` ENUM(2) DEFAULT 'y' NOT NULL,
    `in_table` ENUM(2) DEFAULT 'y' NOT NULL,
    `visible_pos` ENUM(2) DEFAULT 'y' NOT NULL,
    PRIMARY KEY (`table_name`, `field_name`)
);

Tags:
Steps To Reproduce: command: symadmin reload node 021
mariadb 10.0
Additional Information: ENUM(2) instead of enum('y','n')
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2804 [SymmetricDS] Bug major always 2016-09-18 22:49 2016-10-06 02:05
Reporter: bsmithza@gmail.com Platform: PC  
Assigned To: OS: Windows Pro  
Priority: high OS Version: 10  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Major windows 10 updates cause the symmetricDS windows service to uninstall
Description: Major windows 10 updates cause the symmetricDS windows service to uninstall upon reboot after the major windows update installation. The service was installed using "bin\sym_service.bat install" as administrator.
Tags:
Steps To Reproduce: 1) Ensure operating system is windows 10 prior to a major windows 10 updates such as the November 2015 update (version 1511) or the Anniversary Update (version 1607) released in August 2016.
2)Install SymmetricDS using bin\sym_service.bat install
3) Start the windows service and ensure it is running
4) Upgrade Windows 10 using update available at https://support.microsoft.com/en-us/help/12387/windows-10-update-history to either November 2015 update (version 1511) or the Anniversary Update (version 1607) released in August 2016.
Additional Information: It looks like Windows is uninstalling the service as it is considered incompatible due to not being installed using windows installer.
Attached Files:
Notes
(0000850)
bsmithza@gmail.com   
2016-09-20 03:05   
Symmetricds Product version is 3.8.1
(0000851)
ivan.konev   
2016-09-20 07:30   
It's WIN10 fault, isnt?
(0000852)
bsmithza@gmail.com   
2016-09-20 07:39   
Yes, but windows 10 major updates uninstall applications that are considered incompatible with windows 10 and the standard response from microsoft is to contact the application vendor for an updated installation.
(0000853)
elong   
2016-09-20 09:20   
What do we need to do to prevent being uninstalled? The Tanuki Java Service Wrapper and YAJSW would face the same problem, but I haven't found any information on how to prevent this yet. Is there some information we can put in the service so Windows will see it is compatible?
(0000855)
bsmithza@gmail.com   
2016-09-21 03:43   
I have been looking for this as well but can not yet establish what that might be. I have also found the same issue occurs when upgrading from windows 8.1 to 10, the symmetricds service will be uninstalled.
(0000874)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.
(0000887)
bsmithza@gmail.com   
2016-10-06 02:05   
The resolution for this issue is to specify the full path to the Java executable, i.e. set HKLM\System\CurrentControlSet\Services\SymmetricDS\ImagePath
to start with "C:\ProgramData\Oracle\Java\javapath\java.exe" instead of "Java.exe". Windows 10 upgrade and updates uninstalls Symmetricds as it can't verify path.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2762 [SymmetricDS Pro] Bug minor random 2016-09-01 12:04 2016-10-02 12:46
Reporter: mmichalek Platform:  
Assigned To: OS:  
Priority: low OS Version:  
Status: new Product Version: 3.8.3  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Exception During LogAlertPanel update
Description: Encountered the following exception while thread testing. Results in a an error popup on the UI.

2016-09-01 11:58:10,995 ERROR [gui] [AppUI] [ui-refresher-1] java.lang.IllegalArgumentException: Comparison method violates its general contract!
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:188)
    at com.vaadin.server.VaadinSession$FutureAccess.get(VaadinSession.java:124)
    at com.vaadin.server.VaadinService.runPendingAccessTasks(VaadinService.java:1838)
    at com.vaadin.server.VaadinSession.unlock(VaadinSession.java:990)
    at com.vaadin.server.VaadinService.ensureAccessQueuePurged(VaadinService.java:1799)
    at com.vaadin.server.VaadinService.accessSession(VaadinService.java:1765)
    at com.vaadin.server.VaadinSession.access(VaadinSession.java:1380)
    at com.vaadin.ui.UI.access(UI.java:1444)
    at com.jumpmind.symmetric.console.ui.screen.DashboardScreen.onBackgroundRefresh(DashboardScreen.java:85)
    at com.jumpmind.symmetric.console.ui.BackgroundRefresherService$2.run(BackgroundRefresherService.java:66)
    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:745)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(TimSort.java:747)
    at java.util.TimSort.mergeAt(TimSort.java:483)
    at java.util.TimSort.mergeCollapse(TimSort.java:410)
    at java.util.TimSort.sort(TimSort.java:214)
    at java.util.TimSort.sort(TimSort.java:173)
    at java.util.Arrays.sort(Arrays.java:659)
    at java.util.Collections.sort(Collections.java:217)
    at org.jumpmind.util.LogSummaryAppender.getLogSummaries(LogSummaryAppender.java:104)
    at org.jumpmind.symmetric.util.LogSummaryAppenderUtils.getLogSummaries(LogSummaryAppenderUtils.java:71)
    at org.jumpmind.symmetric.util.LogSummaryAppenderUtils.getLogSummaryErrors(LogSummaryAppenderUtils.java:64)
    at com.jumpmind.symmetric.console.ui.screen.dashboard.LoggingAlertPanel.refresh(LoggingAlertPanel.java:111)
    at com.jumpmind.symmetric.console.ui.screen.DashboardScreen.onRefresh(DashboardScreen.java:98)
    at com.jumpmind.symmetric.console.ui.screen.DashboardScreen$1.run(DashboardScreen.java:88)
    at com.vaadin.ui.UI.accessSynchronously(UI.java:1381)
    at com.vaadin.ui.UI$3.run(UI.java:1447)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at com.vaadin.server.VaadinService.runPendingAccessTasks(VaadinService.java:1835)
    ... 15 more
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000878)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2824 [SymmetricDS] Bug major always 2016-09-22 11:25 2016-09-30 11:19
Reporter: rwfuller Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.4  
Product Build: Resolution: reopened  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Sending table reload request from 3.8.4 Central to 3.5.22 client fails to insert record
Description: Central node is at version 3.8.4
Client node is at 3.5.22

Sending multiple table reload requests fails due to primary key issue. It appears SYM_TABLE_RELOAD_REQUEST.CREATE_TIME was added as a primary key at some point after 3.5.22. This is causing an issue when other requests exist in the table with this stacktrace.

2016-09-21 11:25:24,164 [symmetricds-pull-1] ERROR org.jumpmind.symmetric.service.impl.DataLoaderService.batchInError() 884 : Failed to load batch 000000-159699 because: Detected conflict while executing INSERT on SYM_TABLE_RELOAD_REQUEST. The primary key data was: {TARGET_NODE_ID=000000, SOURCE_NODE_ID=70770093, TRIGGER_ID=DEV-1-2605_ICD9, ROUTER_ID=DEV-1-2605_Central_Router, CREATE_TIME=2016-09-21 11:25:04.470000000}. Failed to fallback.
org.jumpmind.symmetric.io.data.writer.ConflictException: Detected conflict while executing INSERT on SYM_TABLE_RELOAD_REQUEST. The primary key data was: {TARGET_NODE_ID=000000, SOURCE_NODE_ID=70770093, TRIGGER_ID=DEV-1-2605_ICD9, ROUTER_ID=DEV-1-2605_Central_Router, CREATE_TIME=2016-09-21 11:25:04.470000000}. Failed to fallback.
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.performFallbackToUpdate(DefaultDatabaseWriterConflictResolver.java:324)
    at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultTransformWriterConflictResolver.java:89)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.needsResolved(DefaultDatabaseWriterConflictResolver.java:68)
    at org.jumpmind.symmetric.io.data.writer.DatabaseWriter.write(DatabaseWriter.java:210)
    at org.jumpmind.symmetric.io.data.writer.DatabaseWriter.write(DatabaseWriter.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:193)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:194)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:164)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:114)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener.end(DataLoaderService.java:779)
    at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.notifyEndBatch(StagingDataWriter.java:75)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.end(AbstractProtocolDataWriter.java:226)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:124)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:407)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:265)
    at org.jumpmind.symmetric.service.impl.PullService.execute(PullService.java:129)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$2.run(NodeCommunicationService.java:307)
    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)

And this is the SQL which is used for the 3.5.22 client

insert into "SYM_TABLE_RELOAD_REQUEST" ("TARGET_NODE_ID", "SOURCE_NODE_ID", "TRIGGER_ID", "ROUTER_ID", "CREATE_TIME", "RELOAD_SELECT", "RELOAD_TIME", "LAST_UPDATE_BY", "LAST_UPDATE_TIME") values (?,?,?,?,?,?,?,?,?)

And this is the SqlException occurring

org.jumpmind.db.sql.UniqueKeyException: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (SYMMETRIC_2605.SYS_C002043798) violated


Tags:
Steps To Reproduce: 1. Central is at 3.8.4
2. Client is at 3.5.22
3. Send table request from Central to Client
4. Multiple requests cause issue
Additional Information:
Attached Files:
Notes
(0000868)
josh-a-hicks   
2016-09-30 09:53   
It appears to be a truncation issue during insert and then when fallback fires it uses the full precision and can not find a match.

We are looking into the fix but in the meantime you should be able to create your reload requests with a precision only down to the seconds or set milliseconds to all 0.
(0000886)
rwfuller   
2016-09-30 11:19   
I will try that and let you know. So it does not appear to be the addition of CREATE_TIME as a primary key when older versions do not have that as a primary key?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2726 [SymmetricDS] Improvement minor have not tried 2016-08-16 08:29 2016-09-30 10:30
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks 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: Active load monitoring
Description: Updates to monitor process information about loads that are running.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000885)
admin   
2016-09-30 10:30   
Re-opening. Accidentally closed during release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2826 [SymmetricDS] Task minor N/A 2016-09-23 04:08 2016-09-30 10:28
Reporter: wrygiel 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: Cannot reopen issues?
Description: I'd to reopen issue 0002819, but I think I don't have proper permissions (or, I cannot find a proper button?)

I have upgraded to 3.8.4. (Or, to be exact, it's a custom build based on tag 3.8.4 + cherry-picked commit c964148f.) But I'm still getting heartbeat conflicts after this upgrade.

org.jumpmind.symmetric.io.data.writer.ConflictException: Detected conflict while executing UPDATE on wrygiel_usosweb.sym_monitor_event. The primary key data was: {monitor_id=error_detector, node_id=oracle, event_time=2016-09-23 07:30:00
.000000000}. Failed to fallback. The original error message was: Duplicate entry 'error_detector-oracle-2016-09-23 07:30:00' for key 'PRIMARY'
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performFallbackToUpdate(AbstractDatabaseWriterConflictResolver.java:239)
        at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultTransformWriterConflictResolver.java:110)
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.needsResolved(AbstractDatabaseWriterConflictResolver.java:92)
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:175)
        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$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:925)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:911)
        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)
[mytest] - DataLoaderService - Failed to load batch oracle-5999
org.jumpmind.symmetric.io.data.writer.ConflictException: Detected conflict while executing UPDATE on wrygiel_usosweb.sym_monitor_event. The primary key data was: {monitor_id=error_detector, node_id=oracle, event_time=2016-09-23 07:30:00.000000000}. Failed to fallback. The original error message was: Duplicate entry 'error_detector-oracle-2016-09-23 07:30:00' for key 'PRIMARY'
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performFallbackToUpdate(AbstractDatabaseWriterConflictResolver.java:239)
        at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultTransformWriterConflictResolver.java:110)
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.needsResolved(AbstractDatabaseWriterConflictResolver.java:92)
        at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:175)
        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$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:925)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:911)
        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)
[oracle] - AcknowledgeService - Batch 5998 for mytest was set to OK. Updating the status to OK
[oracle] - AcknowledgeService - Batch 5999 for mytest was set to OK. Updating the status to OK
[oracle] - AcknowledgeService - The outgoing batch mytest-5999 failed: [CONFLICT,-999] Detected conflict while executing UPDATE on wrygiel_usosweb.sym_monitor_event. The primary key data was: {monitor_id=error_detector, node_id=oracle, event_time=2016-09-23 07:30:00.000000000}. Failed to fallback. The original error message was: Duplicate entry 'error_detector-oracle-2016-09-23 07:30:00' for key 'PRIMARY'
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000863)
wrygiel   
2016-09-23 04:48   
> (Or, to be exact, it's a custom build based on tag 3.8.4 + cherry-picked commit c964148f.)

I gave a wrong commit-id in the sentence above. I meant f573bd49dbd (0002805: mysql_bulk may cause NullPointerException). Just to make mysql_bulk work without waiting for 3.8.5.
(0000865)
elong   
2016-09-27 16:31   
What is the source and target databases? I just tried using it with Oracle, but I can't reproduce the conflict when syncing monitor events.

Did you change how often the monitor job runs? It runs every 60 seconds by default.

That you got a time of exactly 7:30:00 with 0 seconds is suspicious. Is the database truncating the seconds?
(0000866)
wrygiel   
2016-09-28 12:55   
> What is the source and target databases?

Oracle and MariaDB. (I have described my setup in the original issue. Perhaps we should reopen it, to avoid confusion?)

> That you got a time of exactly 7:30:00 with 0 seconds is suspicious. Is the database truncating the seconds?

I don't think so... I have "db.treat.date.time.as.varchar.enabled=true" set in both engine files. Perhaps this might have affected it?
(0000867)
wrygiel   
2016-09-28 12:58   
Oracle properties:

engine.name=oracle
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@...:1521:...
db.user=...
db.password=...
registration.url=
sync.url=http://localhost:31415/sync/oracle
group.id=oracle
external.id=oracle
job.routing.period.time.ms=2500
job.push.period.time.ms=5000
job.pull.period.time.ms=5000
initial.load.delete.first=true
initial.load.delete.first.sql=truncate %s
db.treat.date.time.as.varchar.enabled=true

MariaDB properties:

engine.name=usosweb
external.id=usosweb
group.id=usosweb
sync.url=http://localhost:31415/sync/usosweb
registration.url=http://localhost:31415/sync/oracle
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://.../...?tinyInt1isBit=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
db.user=...
db.password=...
job.routing.period.time.ms=2500
job.push.period.time.ms=5000
job.pull.period.time.ms=5000
db.treat.date.time.as.varchar.enabled=true
(0000883)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2837 [SymmetricDS] Bug minor always 2016-09-29 12:55 2016-09-30 10:28
Reporter: daorti@gmail.com Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.4  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Null pointer Exception when inserting or updating a record when auditing is enabled
Description: Hello

I cannot get table auditing to work. Every time I insert a register I get a repeated message that shows as long as the associated router trigger is on. I have tried with postgressql 9.5 and oracle 11 as background databases and in both cases the problem persists upon the update or insertion of a row of data.

2016-09-29 18:01:06,929 ERROR [ENG_POSTGRES] [RouterService] [ENG_POSTGRES-job-1] Failed to route data: 11 for table: T_CSBE_EVENT.
Failed pk data was: "54455354303034000001525F19BB74"
Failed row data was: "54455354303034000001525F19B","0000000000TEST005","2016-01-20 13:54:28.572000","2016-01-20 13:54:28.583000",,
Failed old data was: "54455354303034000001525F19BB","0000000000TEST004","2016-01-20 13:54:28.572000","2016-01-20 13:54:28.583000",,

2016-09-29 18:01:06,932 ERROR [ENG_POSTGRES] [RouterService] [ENG_POSTGRES-job-1] Failed to route and batch data on 'CH_AUD_CSBE' channel StackTraceKey.init [NullPointerException:121942975]
java.lang.NullPointerException
    at org.jumpmind.db.platform.postgresql.PostgreSqlDmlStatement.appendColumnEquals(PostgreSqlDmlStatement.java:138)
    at org.jumpmind.db.sql.DmlStatement.appendColumnsEquals(DmlStatement.java:278)
    at org.jumpmind.db.sql.DmlStatement.appendColumnsEquals(DmlStatement.java:265)
    at org.jumpmind.db.platform.postgresql.PostgreSqlDmlStatement.buildInsertSql(PostgreSqlDmlStatement.java:55)
    

    My setup is the following
    
    Two nodes: 000 (Postgres), 111(oracle)
    Three groups: GR_ORA, GR_POSTGRES, GR_LOCAL (USed for authentication)
    The audit channel: CH_AUD_CSBE
    The Node group link for the auditing: Between GR_POSTGRES and GR_LOCAL of data event action T
    
    
    Full stack trace
    
    2016-09-29 18:01:06,932 ERROR [ENG_POSTGRES] [RouterService] [ENG_POSTGRES-job-1] Failed to route and batch data on 'CH_AUD_CSBE' channel StackTraceKey.init [NullPointerException:121942975]
java.lang.NullPointerException
    at org.jumpmind.db.platform.postgresql.PostgreSqlDmlStatement.appendColumnEquals(PostgreSqlDmlStatement.java:138)
    at org.jumpmind.db.sql.DmlStatement.appendColumnsEquals(DmlStatement.java:278)
    at org.jumpmind.db.sql.DmlStatement.appendColumnsEquals(DmlStatement.java:265)
    at org.jumpmind.db.platform.postgresql.PostgreSqlDmlStatement.buildInsertSql(PostgreSqlDmlStatement.java:55)
    at org.jumpmind.db.sql.DmlStatement.init(DmlStatement.java:122)
    at org.jumpmind.db.sql.DmlStatement.<init>(DmlStatement.java:80)
    at org.jumpmind.db.platform.postgresql.PostgreSqlDmlStatement.<init>(PostgreSqlDmlStatement.java:36)
    at org.jumpmind.db.platform.DmlStatementFactory.createDmlStatement(DmlStatementFactory.java:70)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.createDmlStatement(AbstractDatabasePlatform.java:125)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.createDmlStatement(AbstractDatabasePlatform.java:118)
    at org.jumpmind.symmetric.route.AuditTableDataRouter.routeToNodes(AuditTableDataRouter.java:108)
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:917)
    at org.jumpmind.symmetric.service.impl.RouterService.selectDataAndRoute(RouterService.java:835)
    at org.jumpmind.symmetric.service.impl.RouterService.routeDataForChannel(RouterService.java:634)
    at org.jumpmind.symmetric.service.impl.RouterService.routeDataForEachChannel(RouterService.java:427)
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:201)
    at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:40)
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:180)
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:224)
    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:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Tags:
Steps To Reproduce: Insert or update a record on the observed table
Additional Information: Attached the Symmetric DS configuration
Attached Files: config.txt (4,648 bytes) 2016-09-29 12:55
http://www.symmetricds.org/issues/file_download.php?file_id=118&type=bug
Notes
(0000880)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2755 [SymmetricDS] Improvement minor always 2016-08-29 07:55 2016-09-30 10:28
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: Recreate staged resources if batch status is manually set to 'NE'
Description: If you have a conflict on outgoing batch and you can solve it via changing the sym_data_event table, you need to wait until the resource times out or until you delete the resource manually so that the batch content gets recreated.

It would be great if you can "trigger" the recreation if you set the batch status to 'NE' manually.


The following PR does this:
https://github.com/JumpMind/symmetric-ds/pull/39

If you don't want to delete any batch if it is 'NE' maybe it is a good fit to also check for isErrorFlag() == true
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000879)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2783 [SymmetricDS] Bug major always 2016-09-09 14:59 2016-09-30 10:28
Reporter: gatokino Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.3  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: PostgresqBulk is failling with org.postgresql.util.PSQLException invalid UTF-8 sequence
Description: initial load with postgres_bulk is failling agains a postgres database that is in UNICODE character set using a symmetricds in a virtual java machine with another character encoding
Tags:
Steps To Reproduce:
Additional Information: the fault is comming because bytes are sent in the java String default encoding instead of database encoding

byte[] dataToLoad = formattedData.getBytes();
copyIn.writeToCopy(dataToLoad, 0, dataToLoad.length);


A solution is to use unicode encoding in COPY FROM command and sending the data in UTF-8 format


changes are:
line 105: byte[] dataToLoad = formattedData.getBytes("UTF-8");
line 231: sql.append("FROM STDIN with delimiter ',' csv quote '''' ENCODING 'UNICODE'");


Attached Files: PostgresBulkDatabaseWriter.java (9,317 bytes) 2016-09-09 14:59
http://www.symmetricds.org/issues/file_download.php?file_id=114&type=bug
Notes
(0000875)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2821 [SymmetricDS] Bug minor always 2016-09-22 05:45 2016-09-30 10:28
Reporter: wrygiel Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.8.3  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: dbcompare attempts to insert null into "not null default ..." field
Description: I am comparing a single table between Oracle and MySQL databases. The "search" field is not present in Oracle, but it is present in MySQL. In order for SymmetricDS to work with it, it has a default '' value:

CREATE TABLE `DZ_OSOBY` (
  ...
  `search` varchar(61) CHARACTER SET utf8 NOT NULL DEFAULT '',
  ...
  FULLTEXT KEY `search_index` (`search`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

It would work if generated INSERT statements wouldn't include the `search` field at all, but they currently do:

insert into `DZ_OSOBY` (..., `search`, ...) values (...,null,...);

So, when I pipe it to mysql, I get an error:

ERROR 1048 (23000) at line 1: Column 'search' cannot be null

BTW, SymmetricDS itself works correctly with this table.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000873)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2669 [SymmetricDS] Improvement minor always 2016-07-04 03:46 2016-09-30 10:28
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.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2751 [SymmetricDS] Bug minor always 2016-08-25 07:28 2016-09-30 10:28
Reporter: gwilmer Platform: Oracle Dialect  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.38  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Incorrect Trig/Capture on Oracle Dialect When Lob Data > 4k and Channel contains_big_log = 0 & trigger use_capture_lobs = 1
Description: Incorrect Trigger Capture on Oracle Dialect When Lob Data > 4k and Channel contains_big_lob = false & trigger use_capture_lobs = true
Tags:
Steps To Reproduce: 1. Create Table with LOB field (preferably not last field in table)
2. Create trigger on table, set use_capture_lobs = 1, use default channel
3. Ensure default channel contains_big_lobs = 0
4. Insert a row containing a lob > 4k
5. Look at row_data on sym_data for the row.
Additional Information: Below is partial look at sym_data.table_data. Note the end of the LOB column is missing its ed quote because it got truncated.

HLaFhaBNTk0L8El9JmxkZMympqYsqOfRyLLEXMCONXxV9mVpq2Jdubl2+HCLHT1yxA63HLJAILBt4Gn7joOPjP6d9pB9PB52OhKaHU+FHr+GaHNE1S3lUkQJ5Hp9qiVHFzu+rA2NXgBwcY5PlZBGEANnZ+cF+KLNz8/,"source","filenameorigin","333","444","

This is what sym_data.table_data looks like when the channel contains_big_lob is true (1)

s5NMx2rxSdQRPb294s37NVVTxR9nXDzjWm1iaqorHa/eqXYx/ec04Cz4C5KkYJGwht1OjuerUjGRf7sE9Y+NTUpq6Xf6GFoCj87PL1DAjPIHWMenbSmi68faiA0p7BhB7dC7PKxz36etOy7/fR4dd3Pv6y4h8K97nTIzyjdS9wAAAABJRU5ErkJggg==","source","filenameorigin","333","444","writedisk
Attached Files:
Notes
(0000869)
admin   
2016-09-30 10:28   
Re-opening. Was accidentally closed when performing the release.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2765 [SymmetricDS] Bug minor have not tried 2016-09-02 11:40 2016-09-07 10:55
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.4  
    Target Version: 3.8.0  
Summary: MS SQL Server 2000 fails to alter table due to dropping of default constraints
Description: The sys.default_constraints was not available in MSSQL 2000
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:
2772 [SymmetricDS Pro] Improvement minor N/A 2016-09-06 14:37 2016-09-06 14:47
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.3  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Support MS Active Directory for LDAP login
Description: Some users found it difficult to configure SymmetricDS LDAP support to connect to MS Active Directory. This change makes the security principal more flexible to accommodate MS Active Directory.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: ldap-active-directory.png (151,939 bytes) 2016-09-06 14:37
http://www.symmetricds.org/issues/file_download.php?file_id=113&type=bug
png
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2763 [SymmetricDS] Bug minor sometimes 2016-09-01 13:59 2016-09-06 09:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.37  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: UI Problems when a row in sym_data has a bad trigger_hist_id
Description: When a row in sym_data has an invalid trigger_id (ie, an id where no trigger hist row exists), a null value gets added to the historyMap cache, and causes NullPointerExceptions which may cause screens on the UI to show an error or go blank.

A restart may help in that it clears the cache, however if there are more malformed data rows that get routed, the process may resurface.
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:
2489 [SymmetricDS] Bug minor always 2016-02-05 11:01 2016-09-02 10:17
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.29  
    Target Version: 3.7.29  
Summary: DB2 AS400 create tables on initial load is reading views as indexes
Description: Db2 AS400 database reader is reading views on a table as indexes and as a result improperly creates DDL statements.
Tags:
Steps To Reproduce: Either run an initial load with create tables first parameter or export a table with views and create with indexes.
Additional Information:
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2595 [SymmetricDS] Bug minor always 2016-05-11 14:44 2016-09-02 10:17
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.30  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.33  
    Target Version: 3.7.33  
Summary: MSSQL Server store procedures to not include catalog.
Description: The sym_triggers_disabled stored proc is created in the default database for the SymmetricDS user. However if the trigger is installed in another database it will not be found.
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:
2734 [SymmetricDS Pro] Bug minor have not tried 2016-08-16 20:55 2016-09-02 10:16
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.2  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.2  
Summary: Data loads fail on Oracle
Description: Creating the table reload request in oracle failed due to a type mapping of boolen.
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:
2761 [SymmetricDS] Bug minor sometimes 2016-08-31 11:19 2016-08-31 12:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Stuck in loop of "Batch is marked as ready but it has been deleted"
Description: If a staging file for a batch is removed by the user or the staging manager, the data extractor is setting the status to "request" RQ to be re-extracted but then overwrites it with status of "load" LD, causing it to loop forever on the batch.

"Batch {} is marked as ready but it has been deleted. Rescheduling it for extraction"
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:
2758 [SymmetricDS Pro] Improvement minor have not tried 2016-08-30 11:00 2016-08-31 10:19
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.3  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Web console slowness as a result of determining active channels
Description: The web console in 3.8 tries to determine the active channels only for displaying information on the dashboard charts and outgoing batches etc. This was not using the cached values for channels and looking up the channels every time.
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:
2759 [SymmetricDS] Improvement minor have not tried 2016-08-30 12:05 2016-08-31 08:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.3  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Abstract File Parsing Router needs to remove context entries when file is deleted
Description: The AbstractFileParsingRouter holds a pointer to the last position in the file it read in the ContextService. This needs to remove the ContextService value if the file is deleted.
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:
2756 [SymmetricDS] Improvement minor have not tried 2016-08-29 13:50 2016-08-31 07:12
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.3  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Allow BSH transforms to control if old data is sent to target
Description: Beanshell transform types can not return either a String or an instance of the org.jumpmind.symmetric.io.data.transform.NewAndOldValue object. This allows the oldValue to be sent to the target 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:
2757 [SymmetricDS] Bug minor have not tried 2016-08-29 16:42 2016-08-31 07:11
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.3  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: New tables in 3.8 will fail to load on systems that have a mix of 3.8 nodes and < 3.8 nodes
Description: Some new tables in 3.8 around monitors, notifications, and console events (pro) will not replicate to nodes using < 3.8.
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:
2754 [SymmetricDS] Bug minor sometimes 2016-08-25 16:06 2016-08-26 12:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: iSeries can't detect sym tables on startup
Description: iSeries can't detect sym tables on startup
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:
2752 [SymmetricDS] Improvement minor always 2016-08-25 08:52 2016-08-25 15:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Optimize DataExtractorService lookupAndOrderColumnsAccordingToTriggerHistory
Description: During load testing, it was observed that push and pulls spend a lot of time in a few methods:

* DataExtractorService.lookupAndOrderColumnsAccordingToTriggerHistory()
* TransformWriter.write()

See attached report.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: Perf.png (110,373 bytes) 2016-08-25 08:52
http://www.symmetricds.org/issues/file_download.php?file_id=112&type=bug
png
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2753 [SymmetricDS] Improvement minor sometimes 2016-08-25 09:40 2016-08-25 10:00
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: low OS Version:  
Status: resolved Product Version: 3.8.2  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Optimize calls from TransformWriter to enhanceWithImpliedColumns
Description: TransformWriter calls transformation.enhanceWithImpliedColumns for each data that it transform. This change moves that call up to the start of a new table on the transform writer. This showed up as a minor hotspot while profiling transforms.
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:
2750 [SymmetricDS] Improvement minor N/A 2016-08-24 16:25 2016-08-24 17:00
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Firebird extract with configurable cast to varchar sizes
Description: The Firebird dialect has better performance with the extract query when casting the row_data, pk_data, and old_data to varchar. Make the varchar sizes configurable so the user can tune their system. A larger default size of 20000,20000,1000 would help some of our deployments.
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:
2749 [SymmetricDS] Improvement minor N/A 2016-08-24 10:58 2016-08-24 11:00
Reporter: elong Platform: Firebird  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: Firebird "arithmetic exception, numeric overflow, or string truncation" on extract
Description: Add warning to log when getting "arithmetic exception, numeric overflow, or string truncation" on Firebird that the user needs to enable contains_big_lobs for the channel. The stack trace below is happening on an extract.

Caused by: org.jumpmind.db.sql.SqlException: GDS Exception. 335544321. arithmetic exception, numeric overflow, or string truncation
No message for code 335544914 found.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:283)
    at org.jumpmind.db.platform.firebird.FirebirdJdbcSqlTemplate.translate(FirebirdJdbcSqlTemplate.java:59)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:274)
    at org.jumpmind.db.sql.JdbcSqlReadCursor.next(JdbcSqlReadCursor.java:131)
    at org.jumpmind.symmetric.service.impl.DataExtractorService$SelectFromSymDataSource.next(DataExtractorService.java:1582)
    at org.jumpmind.symmetric.io.data.reader.ExtractDataReader.nextTable(ExtractDataReader.java:101)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:161)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:116)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extractOutgoingBatch(DataExtractorService.java:842)
    at org.jumpmind.symmetric.service.impl.DataExtractorService$1.call(DataExtractorService.java:584)
    at org.jumpmind.symmetric.service.impl.DataExtractorService$1.call(DataExtractorService.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 3 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:
2746 [SymmetricDS Pro] Bug minor have not tried 2016-08-22 17:05 2016-08-22 17:09
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.37  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.8.3  
    Target Version: 3.8.3  
Summary: The parameter search field can sometimes go off the screen on smaller resolution clients
Description: The parameter search field can sometimes go off the screen on smaller resolution clients
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:
2627 [SymmetricDS] Bug block always 2016-06-03 06:18 2016-08-16 14:10
Reporter: nuralimca Platform: Windows  
Assigned To: josh-a-hicks OS: Windows Server  
Priority: urgent OS Version: 2008  
Status: resolved Product Version: 3.7.33  
Product Build: Resolution: no change required  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: initial.load.extract.and.send.when.staged when set to 'true' - not working for 8 or more batch size
Description: Dear Friends,

I am using "initial.load.extract.and.send.when.staged" property which is newly introduced in version 3.7.33. Check - http://www.symmetricds.org/issues/view.php?id=2560.

When I set "initial.load.extract.and.send.when.staged" to "true", It works when batch_size if 7 or less than that. If batch size is 8 or more at that time Symmetric DS hangs at - org.jumpmind.symmetric.service.impl.OutgoingBatchService.updateOutgoingBatch(OutgoingBatchService.java:191).

Here is my Symmetric DS configuration:

** Configuration Starts:
insert into sym_channel
(channel_id, processing_order, max_batch_size, max_batch_to_send, max_data_to_route, enabled, reload_flag, contains_big_lob, description)
values('nmreload', 1, 1000, 1, 1000, 1, 1, 1, 'nm reload table data');

-- trigger MPLPART
insert into sym_trigger
(trigger_id,source_table_name,channel_id,reload_channel_id,use_capture_lobs, last_update_time,create_time)
values('MPLPART_T','MPLPART','nodemgr','nmreload',1,current_timestamp,current_timestamp);

insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,initial_load_batch_count,initial_load_select,last_update_time,create_time)
values('MPLPART_T','onex_2_twox', 1, 0, 'ID <= 9500',current_timestamp, current_timestamp);
** Configuration Ends:

As I set initial_load_batch_count=0, Symmetric DS calculates no_of_batch. In my case no_of_records are 9500 and max_batch_size=1000 so it will created 10 batches and in this case Symmetric DS hangs. If no_of_records are less than 7000 then Symmetrid DS creates 7 batches and my scenario works.

Let me know in case need more details.

Thanks,
Nurali
Tags:
Steps To Reproduce: set "initial.load.extract.and.send.when.staged" to "true".
make sure to have 8 or more batches created for given table during Initial load.
Additional Information:
Attached Files:
Notes
(0000803)
nuralimca   
2016-06-08 01:45   
Hi All,

I guess this is the regression introduced with new feature.
I am ready to fix the issue and do the require testing but I need some hint and guidance from this group on what may be the issue and what are the classes I need to check etc.

Thanks,
Nurali
(0000804)
nuralimca   
2016-06-09 22:40   
Hi All,

I got the solution.

Actually the issue with JDBC driver. I am having Sybase ASE database and was using jConnect JDBC driver. The thread getting hung due to jConnect driver. I change to use jTDS driver and issue solved.

Thanks for help and support.

Best Regards,
Nurali

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2604 [SymmetricDS] Improvement minor N/A 2016-05-20 11:57 2016-08-12 11:03
Reporter: elong Platform:  
Assigned To: elong OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.2  
Summary: Name for trigger object can conflict
Description: The trigger name is generated based on the table name and removing vowels. Tables that are different only by vowels will conflict with each other. The Pro web console does not allow user to override the names.
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:
2622 [SymmetricDS Pro] Improvement minor always 2016-05-31 12:03 2016-08-12 11:01
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.1  
Summary: Partial initial loads
Description: Ability to select tables participating in an initial load or reverse initial load. The difference between this and using table reloads is that it preserves all other features that occur during an initial load: create tables first, delete sql, initial load extract in background etc.

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:
2475 [SymmetricDS Pro] Improvement minor always 2016-01-05 14:46 2016-08-12 10:58
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.8.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.2  
Summary: Ignore or resolve row data for a batch in error
Description: Through the pro web console when a batch shows in error you can now open a dialog to resolve the row that is causing the issue either by adjusting the data or selecting to ignore the row.
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:
2633 [SymmetricDS Pro] Improvement minor always 2016-06-06 11:55 2016-08-12 10:55
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.8.2  
Summary: Ability to change configuration on clients that are multihomed
Description: Quick config wizards and other write areas of the web console are not available on multi-homed nodes that are not the registration server. With this change they are available for use.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000832)
elong   
2016-08-12 10:54   
Can we parameterize this feature with console.auth.config.client.multihome=true?

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2610 [SymmetricDS] Improvement minor have not tried 2016-05-24 12:44 2016-08-12 10:39
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Firebird create table with integer
Description: While creating a firebird table during initial load an integer based source column was defined as Integer(8) in the create sql sent to the target which is invalid and fails during creation. It must just be Integer without any size.
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:
2709 [SymmetricDS] Bug minor N/A 2016-08-08 10:24 2016-08-11 09:00
Reporter: xalex2010 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.37  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: documentation for Transforms - incorrect query for SYM_TRANSFORM_TABLE
Description: In the online documentation ("Transforms" section), the documented queries for inserting into SYM_TRANSFORM_TABLE are missing the values for the update_action column.
The queries have 13 column names but only 12 values.

Example:

insert into SYM_TRANSFORM_TABLE (
        transform_id, source_node_group_id, target_node_group_id, transform_point, source_table_name,
        target_table_name, update_action, delete_action, transform_order, column_policy, update_first,
        last_update_time, create_time
) values (
        'delete-action-update-col', 'store', 'corp', 'EXTRACT', 'ITEM_SELLING_PRICE',
        'ITEM_SELLING_PRICE', 'UPDATE_COL', 2, 'IMPLIED', 0,
        current_timestamp, current_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:
2567 [SymmetricDS Pro] Installation major have not tried 2016-04-19 02:30 2016-08-09 10:32
Reporter: gilles.riand 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: Postgresql 9.5 / Installation / autocommit parameter
Description: With Postgresql 9.5 (release in 02/2016) and during installation : Failed to connect : unrecognized configuration parameter "autocommit"

I found this issue #http://www.symmetricds.org/issues/view.php?id=2439
But the bug is still here.

Tags:
Steps To Reproduce:
Additional Information:     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)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.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)
    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:36)
    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.doHandle(ServletHandler.java:587)
    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)
2016-04-19 08:20:49,022 WARN [gui] [m] [qtp199462288-19] Unsuccessful attempt to connect to a database using url: jdbc:postgresql://localhost/database?protocolVersion=2&stringtype=unspecified&socketTimeout=300&tcpKeepAlive=true with driver: org.postgresql.Driver as user: myuser
org.postgresql.util.PSQLException: ERREUR: param��tre de configuration �� autocommit �� non reconnu
    at org.postgresql.core.v2.QueryExecutorImpl.receiveErrorMessage(QueryExecutorImpl.java:574)
    at org.postgresql.core.v2.QueryExecutorImpl.processResults(QueryExecutorImpl.java:497)
    at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:364)
    at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:258)
    at org.postgresql.core.SetupQueryRunner.run(SetupQueryRunner.java:74)
    at org.postgresql.core.v2.ConnectionFactoryImpl.runInitialQueries(ConnectionFactoryImpl.java:439)
Attached Files:
Notes
(0000784)
gilles.riand   
2016-04-19 02:31   
Reproducibility : always
(0000824)
gilles.riand   
2016-08-09 10:32   
I found the solution : see doc https://jdbc.postgresql.org/documentation/80/connect.html

Use protocolVersion=3 in the connection string with PG 9.5

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2698 [SymmetricDS Pro] Improvement major always 2016-07-29 11:42 2016-07-29 11:42
Reporter: gilles.riand 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 new Node from a existation installation... don't PUSH data while this node is not Synchronize
Description: Hre my config
Master
|- Store 1

I Add a new node (store 2) with

symadmin --engine master open-registration store-grp store2

Everything is OK in the console..
I restart master

> i put new datas in store1 => autopush with symmetricDS in master = OK
> i configure store2 ==> everything ok no messages = OK
> Datas from store1 aren't pulled on store2 : [the delta during the creation of the node store2 (on master) and the configuration of the computer store2]










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:
2694 [SymmetricDS] Bug major always 2016-07-27 05:11 2016-07-27 05:11
Reporter: mf 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: (lookup)Transform and LoadFilter on DELETE
Description: I have a scenario, with a table, that is "cloned" between two databases and after every operation (INSERT, UPDATE, DELETE) a load filter jumps in and tries to (post)process the changed data.

That data transfer is handled by a TRANSFORM_TABLE with transform_point "LOAD" and column_polcy "IMPLIED" *but* with 3 entries for TRANSFORM_COLUMN, too. All three TRANSFORM_COLUMN entries serve for the same task, oding a "lookup" transform_type for a virtual column - but with different transform_expressions for INSERT, UPDATE and DELETE (as the columns to use for the lookup differ with OLD_ prefix or without).

And because of the same reason, the Loadfilter (with load_filter_type "SQL") is tripled, too. One for each case of "filter_on_update", "filter_on_insert" and "filter_on_delete" - as the Query addresses a stored procedure in the target DB with parameters to be filled from OLD_ or new values.

Everything works as expected besides the DELETE operation. In the call to the LoadFilter, the virtual column isn't properly filled into the parameter map for the write script. It is successfully transformed, but contained in org.jumpmind.symmetric.io.data.transform.TransformedData#targetNewValueByIncludeOnType - a map which isn't transferred to the parameter Map for the loadFilter (as there's no NEW in a DELETE). So, my org.jumpmind.symmetric.load.SQLDatabaseWriterFilter#getVariablesMap contains the KEY of the virtual column, but with NULL value, what makes my load filter struggle....
Tags:
Steps To Reproduce: Imagine a table named "RELATIONS" with the following columns:

ID, CHILD_IDENT, PARENT_IDENT, INSERT_DATE

Theres a TRANSFORM_TABLE

INSERT INTO SYM_TRANSFORM_TABLE (
    transform_id, source_node_group_id, target_node_group_id, transform_point,
    SOURCE_SCHEMA_NAME, source_table_name,
    target_schema_name, target_table_name,
    update_action, delete_action,
    transform_order, column_policy, update_first,
    last_update_time, last_update_by, create_time
) VALUES (
    'STRUKTUR_clone', 'interbase', 'postgres', 'LOAD',
    NULL, 'RELATIONS',
    'interbase', 'RELATIONS',
    'UPD_ROW', 'DEL_ROW',
    1, 'IMPLIED', 0,
    CURRENT_TIMESTAMP, 'mf', CURRENT_TIMESTAMP);

and a TRANSFORM_COLUMN for every operation, here's the one for DELETE (include_on = 'D'):

INSERT INTO sym_transform_column (
    transform_id, include_on, target_column_name, source_column_name, pk, transform_type, transform_expression, transform_order, create_time, last_update_by, last_update_time)
VALUES
    ('STRUKTUR_clone',
        'D',
        'virt_structure_id',
        null,
        0,
        'lookup',
        'SELECT sps.id FROM webapps_base.salespartnerstructure sps JOIN webapps_base.salespartner sp ON sps.fk_salespartner_parent = sp.id JOIN webapps_base.salespartner sc ON sps.fk_salespartner_child = sc.id WHERE sc.ident = :OLD_CHILD_IDENT AND sp.ident = :OLD_PARENT_IDENT AND validfrom = CAST(:OLD_INSERT_DATE AS date);',
        1, CURRENT_TIMESTAMP, 'mf', CURRENT_TIMESTAMP);


The LOAD_FILTER line looks like this one:

INSERT INTO sym_load_filter (
    load_filter_id, load_filter_type, source_node_group_id,
    target_node_group_id, target_schema_name, target_table_name,
    filter_on_update, filter_on_insert, filter_on_delete,
    after_write_script,
    create_time, last_update_by, last_update_time,
    load_filter_order, fail_on_error)
VALUES
    ('STRUKTUR_clone#DELETE',
        'SQL', 'interbase', 'postgres', 'interbase', 'RELATIONS',
        0, 0, 1,
        'SELECT * FROM webapps_base.salespartner_structure_struktur_change_postprocess(:SYM_DATA_EVENT_TYPE, CAST(:OLD_ID AS integer), CAST(:OLD_VIRT_STRUCTURE_ID AS BIGINT), CAST(:OLD_INSERT_DATE AS date));',
        CURRENT_TIMESTAMP, 'mf', CURRENT_TIMESTAMP,
     1, 1);

And the OLD_VIRT_STRUCTURE_ID is always NULL, as VIRT_STRUCTURE_ID is.
Additional Information: Is there an error in my expectations or my use case?

Thanks in advance
Markus
Attached Files:
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2542 [SymmetricDS] Improvement minor always 2016-03-29 14:06 2016-07-26 09:19
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.31  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.31  
    Target Version: 3.7.31  
Summary: Allow ignored protocols and ciphers through properties for SSL
Description: While using SSL connections you can provide a comma separated list of protocols and/or ciphers to be ignored.
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:
2561 [SymmetricDS] Bug minor have not tried 2016-04-13 15:41 2016-07-22 14:28
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.30  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.33  
    Target Version: 3.7.33  
Summary: File parsing router was not writing to staging properly
Description: The file parser staged file was not being written to properly on secondary writes as the file was closed.
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:
2505 [SymmetricDS] Improvement minor always 2016-02-24 15:31 2016-07-22 14:25
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.30  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.30  
    Target Version: 3.7.30  
Summary: MSSQL support for "Export Data Tier Application"
Description: While trying to run the MSSql tool to export data tier application errors are thrown because of the catalog name being referenced in the symmetric created triggers. It also does not like the lock escalation alters that are performed. The default behavior remains in place but the following parameters have been added in order to allow .bacpac files to be created in MSSQL server.

mssql.lock.escalation.disabled
mssql.include.catalog.in.triggers

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:
2570 [SymmetricDS] Improvement minor have not tried 2016-04-20 16:32 2016-07-22 14:24
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.30  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.33  
    Target Version: 3.7.33  
Summary: DBF reader support through file sync is also syncing the file
Description: The DBF router should parse the DBF and create data entries so that it can be replicated to a database but it is also sending the DBF file as part of normal file sync.
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:
2678 [SymmetricDS] Improvement minor have not tried 2016-07-14 13:51 2016-07-22 14:21
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.8.0  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.36  
    Target Version: 3.8.0  
Summary: DBF Router setup to read files in a read only mode to prevent locking
Description: DBF Router setup to read files in a read only mode to prevent locking
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:
1587 [SymmetricDS Pro] Improvement minor have not tried 2014-02-17 10:55 2016-07-21 01:37
Reporter: chenson Platform:  
Assigned To: OS: Android  
Priority: normal OS Version:  
Status: new Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Integrate file sync with the Android client
Description: Integrate file sync with the Android 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:
2582 [SymmetricDS Pro] Bug minor sometimes 2016-04-29 13:14 2016-07-18 13:45
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.32  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.23  
    Target Version: 3.7.33  
Summary: Unregistered nodes may remain on Node Screen
Description: Sometimes when unregistering a node with the web console, the node remains in the list, in either an Open or Error status. Restarting SymmetricDS was required to get them the list.
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:
2655 [SymmetricDS] Improvement minor N/A 2016-06-29 12:11 2016-06-29 12:11
Reporter: elong 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: Parameters to control type and size for sym_data fields
Description: Create parameters to control the data type and size for sym_data field: row_data, pk_data, old_data, and external_data. For row_data, pk_data, and old_data, they are by default CLOB, but the user might want them to VARCHAR with a size, which can increase the performance. For external_data, it is by default VARCHAR(50), but the user might want it to be larger.
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:
2648 [SymmetricDS Pro] Bug minor always 2016-06-23 10:29 2016-06-23 10:58
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version:  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Multi-Line Initial Load Where Clause becomes invalid when used in Table Reload
Description: The multi-line initial load where clause becaomes invalid because the line feeds aren't replaced with any white space. This results in behavior like this:

"1=1 OR
1=1"
becomes:
"1=1 OR1=1" which has a syntax error.

See attached.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: initial-load-select-with-line-breaks.png (178,110 bytes) 2016-06-23 10:29
http://www.symmetricds.org/issues/file_download.php?file_id=106&type=bug
png

results-in-invalid-single-line.png (351,482 bytes) 2016-06-23 10:29
http://www.symmetricds.org/issues/file_download.php?file_id=107&type=bug
There are no notes attached to this issue.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2647 [SymmetricDS Pro] Bug minor always 2016-06-23 10:22 2016-06-23 10:22
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: Can't view Router expression as text if there's an error.
Description: Should be able to switch back and forth between editing the expression as text or in fields. The error state shouldn't be checked until saving the router expression. (See screenshot.)
Tags:
Steps To Reproduce:
Additional Information:
Attached Files: router-expression.png (409,306 bytes) 2016-06-23 10:22
http://www.symmetricds.org/issues/file_download.php?file_id=105&type=bug
There are no notes attached to this issue.

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

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

Below is the stack trace.

"main" prio=5 tid=1 RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
       Local Variable: java.io.FileDescriptor#3
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
       Local Variable: java.net.SocketInputStream#1
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
       Local Variable: byte[]#11939
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
       Local Variable: java.io.BufferedInputStream#442
    at java.io.DataInputStream.readInt(DataInputStream.java:387)
       Local Variable: java.io.DataInputStream#4
    at org.h2.value.Transfer.readInt(Transfer.java:157)
    at org.h2.engine.SessionRemote.done(SessionRemote.java:599)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:119)
       Local Variable: org.h2.value.Transfer#1
       Local Variable: java.lang.String#13005
       Local Variable: java.net.Socket#1
       Local Variable: java.lang.String[]#337
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:430)
       Local Variable: java.lang.String#13091
       Local Variable: java.lang.String[]#331
       Local Variable: java.lang.String#13004
       Local Variable: java.lang.String#13006
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:311)
       Local Variable: org.h2.engine.SessionRemote#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
       Local Variable: org.h2.engine.ConnectionInfo#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
       Local Variable: org.h2.jdbc.JdbcConnection#1
    at org.h2.Driver.connect(Driver.java:74)
       Local Variable: java.util.Properties#99
       Local Variable: org.h2.Driver#1
       Local Variable: java.lang.String#18250
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.jumpmind.db.util.ResettableBasicDataSource.createPoolableConnectionFactory(ResettableBasicDataSource.java:74)
       Local Variable: org.apache.commons.dbcp.PoolableConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
       Local Variable: org.apache.commons.dbcp.DriverConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.jumpmind.symmetric.AbstractCommandLauncher.testConnection(AbstractCommandLauncher.java:395)
       Local Variable: org.jumpmind.db.util.ResettableBasicDataSource#1
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:383)
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:377)
    at org.jumpmind.symmetric.SymmetricAdmin.uninstall(SymmetricAdmin.java:480)
    at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:304)
       Local Variable: java.lang.String#18061
       Local Variable: java.util.LinkedList#4
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:190)
       Local Variable: org.apache.commons.cli.CommandLine#1
       Local Variable: org.jumpmind.symmetric.SymmetricAdmin#1
       Local Variable: org.apache.commons.cli.PosixParser#1
       Local Variable: org.apache.commons.cli.Options#1
    at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:129)
       Local Variable: java.lang.String[]0000630
Tags: block, freeze, freezing, hang
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000796)
ramyaa_c_k   
2016-06-03 14:58   
This happens even when custom datasource is used by setting property "db.spring.bean.name"
(0000797)
elong   
2016-06-03 15:02   
Are you running H2 as a separate process? What is your db.url? Can you provide a couple steps?
(0000800)
ramyaa_c_k   
2016-06-06 01:24   
(Last edited: 2016-06-06 01:26)
Yes. We run h2 as a seperate process on a remote machine. Our sym service and h2 are on different systems. This is the url we use

db.url=jdbc:h2:tcp://<database-ip>:<port>/<database-file>;MAX_QUERY_TIMEOUT=60000


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

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

Below is the stack trace.

"main" prio=5 tid=1 RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
       Local Variable: java.io.FileDescriptor#3
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
       Local Variable: java.net.SocketInputStream#1
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
       Local Variable: byte[]#11939
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
       Local Variable: java.io.BufferedInputStream#442
    at java.io.DataInputStream.readInt(DataInputStream.java:387)
       Local Variable: java.io.DataInputStream#4
    at org.h2.value.Transfer.readInt(Transfer.java:157)
    at org.h2.engine.SessionRemote.done(SessionRemote.java:599)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:119)
       Local Variable: org.h2.value.Transfer#1
       Local Variable: java.lang.String#13005
       Local Variable: java.net.Socket#1
       Local Variable: java.lang.String[]#337
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:430)
       Local Variable: java.lang.String#13091
       Local Variable: java.lang.String[]#331
       Local Variable: java.lang.String#13004
       Local Variable: java.lang.String#13006
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:311)
       Local Variable: org.h2.engine.SessionRemote#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
       Local Variable: org.h2.engine.ConnectionInfo#1
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
       Local Variable: org.h2.jdbc.JdbcConnection#1
    at org.h2.Driver.connect(Driver.java:74)
       Local Variable: java.util.Properties#99
       Local Variable: org.h2.Driver#1
       Local Variable: java.lang.String#18250
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.jumpmind.db.util.ResettableBasicDataSource.createPoolableConnectionFactory(ResettableBasicDataSource.java:74)
       Local Variable: org.apache.commons.dbcp.PoolableConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
       Local Variable: org.apache.commons.dbcp.DriverConnectionFactory#1
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.jumpmind.symmetric.AbstractCommandLauncher.testConnection(AbstractCommandLauncher.java:395)
       Local Variable: org.jumpmind.db.util.ResettableBasicDataSource#1
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:383)
    at org.jumpmind.symmetric.AbstractCommandLauncher.getSymmetricEngine(AbstractCommandLauncher.java:377)
    at org.jumpmind.symmetric.SymmetricAdmin.uninstall(SymmetricAdmin.java:480)
    at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:304)
       Local Variable: java.lang.String#18061
       Local Variable: java.util.LinkedList#4
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:190)
       Local Variable: org.apache.commons.cli.CommandLine#1
       Local Variable: org.jumpmind.symmetric.SymmetricAdmin#1
       Local Variable: org.apache.commons.cli.PosixParser#1
       Local Variable: org.apache.commons.cli.Options#1
    at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:129)
       Local Variable: java.lang.String[]0000630
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:
2596 [SymmetricDS Pro] Bug major always 2016-05-11 22:13 2016-05-31 08:53
Reporter: dan Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Mismatch between the data table and the trigger_hist table name
Description: Everytime i am getting a batch with info for 2 tables i am getting the following message: "there was a mismatch between the data table name XXX and the trigger_hist table XXXX for data_id XXX. Attempting to look up a valid trigger_hist row by table name".
Tags:
Steps To Reproduce: I added a snapshot of the DB
Additional Information:
Attached Files: central-000-20160511220149.zip (295,747 bytes) 2016-05-11 22:13
http://www.symmetricds.org/issues/file_download.php?file_id=103&type=bug
Notes
(0000793)
elong   
2016-05-31 08:53   
There is an old trigger in the database with the wrong trigger_hist_id. Each trigger is coded to record the table name and trigger_hist_id. When the trigger was first installed, an entry was put in sym_trigger_hist table to record the ID, table name, and column names. For example, a trigger was put on the country table and it uses trigger_hist_id of 1. But something happens, and even though it records a row of data as "country" with trigger_hist_id of 1, when SymmetricDS looks up trigger_hist_id of 1, it finds a different table name. As a safe guard, it queries sym_trigger_hist for the "country" table to find its information.

When you see that message, look at triggers installed on that table. In the text of trigger, you will see how it records the table name and trigger_hist_id. Is the trigger from an old installation of SymmetricDS? Maybe from a backup and restore procedure? It should be dropped. When you restart SymmetricDS, it will generate an missing triggers that it is configured for.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2613 [SymmetricDS] Improvement minor always 2016-05-25 12:47 2016-05-25 12:47
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.7.33  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.7.34  
Summary: Add Example of sync_on_insert_condition to documentation
Description: Add brief explanation and example of using the sym_on_ trigger conditions. E.g.

You can use the prefix of "new_" or "old_". "old_" is relevant for existing data in the case of a delete or update. For an insert you would use "new_".

For example, for a VARCHAR column called "currency_id", it would be like:
new_currency_id <> 'USD'
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:
2612 [SymmetricDS] Improvement minor have not tried 2016-05-24 22:02 2016-05-24 23: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: DBExport Should Allow Excluding Specific Columns From the Export
Description: DBExport Should Allow Excluding Specific Columns From the Export
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:
2601 [SymmetricDS] Bug minor always 2016-05-17 15:22 2016-05-17 16:33
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.33  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.33  
    Target Version: 3.7.33  
Summary: JdbcSqlTemplate NullPointerException when passing null SqlTemplateSettings
Description: JdbcSqlTemplate seemed to consider the "settings" variable optional, but would actually throw a NPE if it was not provided.

ERROR [server]
 [SymmetricServlet] [ajp-apr-8759-exec-18] java.lang.NullPointerException
         at org.jumpmind.db.sql.JdbcSqlTemplate.<init>(JdbcSqlTemplate.java:99)
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:
27 [SymmetricDS] New Feature feature always 2009-01-24 16:54 2016-05-16 14:00
Reporter: Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: resolved Product Version:  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Provide feature to validate that data is in sync
Description: We talked about adding a table validation feature, but didn't get around to it for the first release. The idea was to post a 'V' event in the sym_data table. When processing events, the extractor would run a checksum over the table and put it into the transport protocol payload. When the data loader received the checksum, the client database should be in the exact same state and the checksum should match. We could go so far as to reload the table if we do not get a match ...
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:
2597 [SymmetricDS] Bug minor always 2016-05-13 12:14 2016-05-13 12:14
Reporter: tberger 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: Bug in update trigger for table with nvarchar(MAX) field (MS SQL)
Description: This is the crucial part of the update-trigger text for a simple test table consisting just of an id column (int) and a text column (nvarchar(MAX)) (using MS SQL Server 2008 here):

    select
          case when inserted."id" is null then '' else ('"' + convert(varchar(40), inserted."id",2) + '"') end+','+
          case when orig."text" is null then '' else '"' + replace(replace(cast(orig."text" as varchar(max)),'\','\\'),'"','\"') + '"' end,
          case when deleted."id" is null then '' else ('"' + convert(varchar(40), deleted."id",2) + '"') end,
          case when deleted."id" is null then '' else ('"' + convert(varchar(40), deleted."id",2) + '"') end+','+
          '' ,deleted."id" ,inserted."id", 'testchannel' from inserted inner join "dbo"."testtable" orig on orig."id"=inserted."id" inner join deleted on deleted."id"=inserted."id" where 1=1

    open DataCursor
          fetch next from DataCursor into @DataRow, @OldPk, @OldDataRow ,@oldpk0 ,@newpk0, @ChannelId

Note how @OldDataRow unconditionally gets an empty value for the text column (and curiously, for the current value `orig` instead of `inserted` is used). This obviously creates a problem if a conflict detection type of USE_OLD_DATA or USE_CHANGED_DATA is used as a conflict will be always detected (unless the column value was NULL before).
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:
2587 [SymmetricDS] Improvement minor have not tried 2016-05-03 14:38 2016-05-03 15:00
Reporter: josh-a-hicks Platform: Postgres  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.7.33  
Summary: Updated Postgres Bulk Writer statistics
Description: Adjusted the placement of the Postgres bulk writer statistics start and stop timers to improve their accuracy.
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:
2330 [SymmetricDS] Improvement minor have not tried 2015-06-24 19:45 2016-04-28 14:00
Reporter: chenson Platform:  
Assigned To: chenson OS:  
Priority: normal OS Version:  
Status: assigned Product Version:  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Make channels push and pull asynchronously
Description: Make channels push and pull asynchronously
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:
2579 [SymmetricDS] Improvement feature have not tried 2016-04-27 11:15 2016-04-27 11:15
Reporter: amarcellin Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.28  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: authentication before using REST api
Description: REST API is available for everybody, login is not required. Actions like stop engine could be called without checking rights. Adding an option making authentication mandatory would be great.
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:
2563 [SymmetricDS] Bug major always 2016-04-14 08:25 2016-04-22 01:40
Reporter: MikaN Platform: Linux  
Assigned To: OS: Debian  
Priority: urgent OS Version: 7  
Status: new Product Version: 3.7.32  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: When Primary key is binary; SymmetricDS fails capture changes.
Description: Should we reopen bug 0002219 ? It was marked as "fixed" but I'm getting the same error even with the latest Symmetric version.

When primary key type is varbinary Symmetrics fails with following error:

[replonv2] - AcknowledgeService - The outgoing batch 001-13 failed. There are no keys defined for Reporting-DB.dbo.booking_offers. Cannot build an update statement. The only keys defined are binary and they have been removed.
[replonv2] - PushService - There was a failure while pushing data to store:001:001. 1 data and 1 batches were processed
[replonv2] - PushService - Push data sent to store:001:001
[azure] - IncomingBatchService - Retrying batch 000-13
[azure] - DataLoaderService - Failed while parsing batch
java.lang.IllegalStateException: There are no keys defined for Reporting-DB.dbo.booking_offers. Cannot build an update statement. The only keys defined are binary and they have been removed.
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.update(DefaultDatabaseWriter.java:423)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:152)
    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:204)
    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$LoadIntoDatabaseOnArrivalListener.end(DataLoaderService.java:855)
    at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.notifyEndBatch(StagingDataWriter.java:75)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.end(AbstractProtocolDataWriter.java:220)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:130)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:463)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPush(DataLoaderService.java:350)
    at org.jumpmind.symmetric.web.PushUriHandler.push(PushUriHandler.java:77)
    at org.jumpmind.symmetric.web.PushUriHandler.handle(PushUriHandler.java:66)
    at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:103)
    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.doHandle(ServletHandler.java:587)
    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(Thread.java:745)


Tags:
Steps To Reproduce:
Additional Information: Source is MySQL 5.6.25 and that data should flow unidirectionally to SQL Azure.
Attached Files:
Notes
(0000786)
MikaN   
2016-04-22 01:40   
Anyone? This issues makes SymmetricDS practically useless because after the initial sync SymmetricDS is crashing because of that error.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2482 [SymmetricDS] Bug minor have not tried 2016-01-19 13:07 2016-04-20 23:39
Reporter: mmichalek Platform:  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.29  
Product Build: Resolution: unable to reproduce  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: When importing a CSV, max batch to send for reload is not set properly.
Description: When importing a CSV, the channels max batch to send value for reload is not importing. One example is a config-export - it specifies a value of 100 but after import only shows 1.
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:
2559 [SymmetricDS] Bug minor always 2016-04-12 10:12 2016-04-20 23:37
Reporter: mmichalek Platform: DB2  
Assigned To: mmichalek OS:  
Priority: normal OS Version:  
Status: resolved Product Version: 3.7.31  
Product Build: Resolution: fixed  
Projection: none      
ETA: none Fixed in Version: 3.7.32  
    Target Version: 3.7.32  
Summary: DB2 Trigger may shift decimal point on millisecond portion of timestamp
Description: The DB2 trigger is converting from the numeric microsceond value to a string. If the numeric had leading zeros, they will get dropped in the string. For example, 090000 becomes '90000'. The fix is to make sure the string is always left padded with zeros if necessary.
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000782)
mmichalek   
2016-04-12 10:14   
Note this was fix was tested on z/OS, but trying to use functions that will be available on i series as well.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2554 [SymmetricDS] Bug major always 2016-04-07 10:28 2016-04-19 10:28
Reporter: azarubkin Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.29  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Initial Load fails with NullPointerException when no transforms are defined.
Description: This has happened since 0002486 was fixed. Now any initial load attempt fails with NullPointerException on my configuration. I think this is due to TransformService.findTransformsFor function returning null if no transforms are defined.
I'm attaching a crash dump.
Tags:
Steps To Reproduce:
Additional Information: 2016-04-06 16:37:24,727 ERROR [main] [RouterService] [main-job-15]
java.lang.NullPointerException
at org.jumpmind.symmetric.service.impl.TransformService.findTransformsFor(TransformService.java:184)
at org.jumpmind.symmetric.service.impl.DataService.insertPurgeEvent(DataService.java:727)
at org.jumpmind.symmetric.service.impl.DataService.insertDeleteBatchesForReload(DataService.java:591)
at org.jumpmind.symmetric.service.impl.DataService.insertReloadEvents(DataService.java:390)
at org.jumpmind.symmetric.service.impl.RouterService.insertInitialLoadEvents(RouterService.java:233)
at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:171)
at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:40)
at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:180)
at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:224)
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)
Attached Files:
Notes
(0000780)
elong   
2016-04-07 10:48   
I think this is fixed in 3.7.32 because I see I null check on that line of code now. Can you retest on version 3.7.32 and confirm it's fixed?
(0000785)
azarubkin   
2016-04-19 10:28   
Yes, I confirm it's fixed in 3.7.32.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2566 [SymmetricDS] Improvement minor always 2016-04-18 14:05 2016-04-18 15:00
Reporter: josh-a-hicks Platform:  
Assigned To: josh-a-hicks OS:  
Priority: normal OS Version:  
Status: assigned Product Version: 3.7.0  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version: 3.7.33  
Summary: JMS Publish properties incorrect in commented out example of symmetric-extension.xml
Description: The properties used in the commented out example did not match those in the directions for usage.
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:
2558 [SymmetricDS] Bug major always 2016-04-11 09:48 2016-04-15 15:58
Reporter: gilles.riand Platform: SQLServer 2014  
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: MSQLSERVER et UTF8
Description: Try to replic a TABLE with SQLServer 2014

with a Field for exemple 'NAME' in nvarchar(50)

if you put this text : 'ជំរាបសួរ' in the field.... you will get '?????' in the remote node

Because the field sym_data is typed as text and not in ntext !


Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000783)
elong   
2016-04-15 15:58   
Try setting this property in your engine properties file:

mssql.use.ntypes.for.sync=true

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2562 [SymmetricDS] Bug major always 2016-04-13 18:35 2016-04-13 18:35
Reporter: zulusx Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.20  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Symmetric load indexes from wrong oracle schema
Description: In oracle 11.2 I have table with same name but different structure in two schemas.

On first table/schema i have some indexes, second haven't any.

Dataextractor while building schema read wrong table structure for second table, and trying insert indexes from first schema.
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:
2549 [SymmetricDS Pro] Installation minor have not tried 2016-04-06 03:31 2016-04-07 08:46
Reporter: gilles.riand Platform: Windows  
Assigned To: OS: Windows 8  
Priority: normal OS Version: Windows 8  
Status: new Product Version: 3.7.31  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Interbase Installation "key size too big"
Description: Hi,

Impossible to install Symmetric-pro-3.7.31 due to a too large Key VARCHAR(512).

With a older version like 3.7.10 ==> "SYM_CHANNEL", Field CHANNEL_ID was only VARCHAR(128) !

Tags:
Steps To Reproduce: Install SymmetricDS with a INTERBASE DATABASE.
Error on creating "SYM_CHANNEL_" ==> "CHANNEL_ID" VARCHAR(512) is too big for a primarykey.
Additional Information: 2016-04-06 08:53:49,601 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] Checking if SymmetricDS tables need created or altered
2016-04-06 08:53:50,152 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] There are SymmetricDS tables that needed altered
2016-04-06 08:53:50,157 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] DDL failed: DROP TABLE "SYM_CHANNEL_"
2016-04-06 08:53:50,197 WARN [server] [InterbaseSymmetricDialect] [qtp1164970305-26] DDL failed: CREATE TABLE "SYM_CHANNEL_"(
    "CHANNEL_ID" VARCHAR(512) 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(200) DEFAULT 'default' NOT NULL,
    "DATA_LOADER_TYPE" VARCHAR(200) DEFAULT 'default' NOT NULL,
    "DESCRIPTION" VARCHAR(1020),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(200),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("CHANNEL_ID")
)
2016-04-06 08:53:50,198 WARN [server] [JdbcSqlTemplate] [qtp1164970305-26] [interclient][interbase]unsuccessful metadata update
[interclient][interbase]key size too big for index RDB$PRIMARY71. Failed to execute: CREATE TABLE "SYM_CHANNEL_"(
    "CHANNEL_ID" VARCHAR(512) 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(200) DEFAULT 'default' NOT NULL,
    "DATA_LOADER_TYPE" VARCHAR(200) DEFAULT 'default' NOT NULL,
    "DESCRIPTION" VARCHAR(1020),
    "CREATE_TIME" TIMESTAMP,
    "LAST_UPDATE_BY" VARCHAR(200),
    "LAST_UPDATE_TIME" TIMESTAMP,
    PRIMARY KEY ("CHANNEL_ID")
)
2016-04-06 08:53:50,199 ERROR [server] [AbstractSymmetricEngine] [qtp1164970305-26] An error occurred while starting SymmetricDS
org.jumpmind.db.sql.SqlException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]key size too big for index RDB$PRIMARY71
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:279)
    at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:442)
    at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:353)
    at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:456)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:151)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:405)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:396)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:535)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:527)
    at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:237)
    at org.jumpmind.symmetric.web.SymmetricEngineHolder.install(SymmetricEngineHolder.java:359)
    at com.jumpmind.symmetric.console.ui.a.b.a.s(AbstractWizardScreen.java:147)
    at com.jumpmind.symmetric.console.ui.a.b.o.q(SummaryScreen.java:22)
    at com.jumpmind.symmetric.console.ui.a.b.k$6.buttonClick(NodeSetupWizard.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.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:979)
    at com.vaadin.ui.Button.fireClick(Button.java:393)
    at com.vaadin.ui.Button$1.click(Button.java:57)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.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)
    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:36)
    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.doHandle(ServletHandler.java:587)
    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.sql.SQLException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]key size too big for index RDB$PRIMARY71
    at interbase.interclient.Statement.remote_EXECUTE_STATEMENT(Unknown Source)
Attached Files:
Notes
(0000775)
gilles.riand   
2016-04-07 07:23   
I think that it's not possible to use SymmetricDS with an interbase DATABASE in UTF8
(0000776)
admin   
2016-04-07 08:17   
I think MySQL has the same problem with "key too long" when using UTF-8. (See issue 2044.)
(0000777)
gilles.riand   
2016-04-07 08:41   
Hello

I'm in interbase XE Patch 5, My database is in UFT8 and the pagesize = 16384 (it's the max)

Now I progress a little. But I've still errors ....


2016-04-07 14:37:50,841 INFO [server] [InterbaseSymmetricDialect] [qtp170053310-15] DDL applied: CREATE INDEX "SYM_IDX_IB_IN_ERROR" ON "SYM_INCOMING_BATCH" ("ERROR_FLAG")
2016-04-07 14:37:50,851 WARN [server] [InterbaseSymmetricDialect] [qtp170053310-15] DDL failed: 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")
)
2016-04-07 14:37:50,852 WARN [server] [JdbcSqlTemplate] [qtp170053310-15] interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 68888 bytes is too big
[interclient][interbase]TABLE SYM_INCOMING_ERROR. Failed to execute: 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")
)
2016-04-07 14:37:50,854 ERROR [server] [AbstractSymmetricEngine] [qtp170053310-15] An error occurred while starting SymmetricDS
org.jumpmind.db.sql.SqlException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update
[interclient][interbase]new record size of 68888 bytes is too big
(0000778)
admin   
2016-04-07 08:46   
I think ultimately, we need to reduce our column sizes for the PK columns to fix this problem.

However, in the meantime, you can work around it by controlling the schema yourself. First, set the parameter auto.config.database=false in your engine properties file. That will prevent it from creating the tables on its own. Then, get the table create script that it would normally run:

./symadmin export-sym-tables > create.sql

Edit the create.sql to adjust the PK columns to a smaller size. Run the script on your database to create the tables. Now you should be able to start SymmetricDS.

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2530 [SymmetricDS] Bug crash always 2016-03-22 11:28 2016-04-04 14:09
Reporter: tregnago Platform:  
Assigned To: OS:  
Priority: high OS Version:  
Status: new Product Version: 3.7.15  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: postgresql infinity timestamp
Description: Postgresql triggers, using infinity timestamp values, produces null row_data and old_data.
Plpgsql code used in triggers concatenates strings by pipes. Starting with PostgreSQL 9.1 if one element is NULL the entire string returned is NULL.
This happens when the to_char function with an infinite timestamp value returns NULL.

For example:
...
case when new."datanascita" is null then '' else '"' || to_char(new."datanascita", 'YYYY-MM-DD HH24:MI:SS.US') || '"' end||','||
...

If new."datanascita" is infinite to_char() returns NULL so the entire string becomes NULL.
Tags: postgresql
Steps To Reproduce: try this simple query:
select to_char('infinity'::timestamp, 'YYYY-MM-DD HH24:MI:SS.US')||','
Additional Information:
Attached Files:
Notes
(0000774)
danishoji   
2016-04-04 11:20   
(Last edited: 2016-04-04 11:29)
Iam having the same issue in last version 3.7.31
With this bug i cant use Symmetricds.

Steps To Reproduce

CREATE TABLE test
(
  cod integer primary key,
  datestart timestamp without time zone
);

INSERT INTO test(cod , datestart)
Values (1, '-infinity');

2016-04-04 12:25:32,732 ERROR [Servidor] [DataExtractorService] [qtp7053484-13] Failed to extract batch 001-9
java.lang.NullPointerException
    at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.print(StagingDataWriter.java:111)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.println(AbstractProtocolDataWriter.java:252)
    at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.write(AbstractProtocolDataWriter.java:161)
    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:204)
    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.DataExtractorService.extractOutgoingBatch(DataExtractorService.java:747)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:545)
    at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:455)
    at org.jumpmind.symmetric.web.PullUriHandler.pull(PullUriHandler.java:121)
    at org.jumpmind.symmetric.web.PullUriHandler.handleWithCompression(PullUriHandler.java:92)
    at org.jumpmind.symmetric.web.AbstractCompressionUriHandler.handle(AbstractCompressionUriHandler.java:84)
    at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:103)
    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.doHandle(ServletHandler.java:587)
    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)


select * from sym_data where table_name = 'test'

"data_id";"table_name";"event_type";"row_data";"pk_data";"old_data";"trigger_hist_id";"channel_id";"transaction_id";"source_node_id";"external_data";"node_list";"create_time"
8;"test";"I";"";"";"";52;"gaic_channel";"288071";"";"";"";"2016-04-04 12:11:51.521"


View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2546 [SymmetricDS] Bug minor always 2016-04-04 07:36 2016-04-04 09:20
Reporter: woehrl01 Platform:  
Assigned To: OS:  
Priority: normal OS Version:  
Status: new Product Version: 3.7.31  
Product Build: Resolution: open  
Projection: none      
ETA: none Fixed in Version:  
    Target Version:  
Summary: Foreign Keys Error not resolveable via INCOMING_ERROR resolve_ignore = 1
Description: I wanted to resolve a Foreign Key error via setting resolve_ignore = 1

But this is didn't work. As the exception gets propergated "to the top".
Because only Primary Key errors are marked as "CONFLICT".

I had to resolve this error by fully setting "OK" on the batch. But I think I have lost some other rows because of this.
I also have configured incoming.batches.skip.duplicates=false, and I had to manually set this to true, to make "OK"-ing work for incoming batches.

The question I have: Is this by intention?
And if yes, what would be the best way to resolve this without requiring to set incoming.batches.skip.duplicates=true?

If not I think you also have to check for IsForeignKeyViolation here:

https://github.com/JumpMind/symmetric-ds/blob/d5eec98ddc5092d0db53731349c0077c290a2d4e/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriter.java#L306

wouldn't it be better to resolve any exception via "resolve_ignore" on incoming batch instead of require to do this via "OK"?
Tags:
Steps To Reproduce:
Additional Information:
Attached Files:
Notes
(0000773)
woehrl01   
2016-04-04 09:20   
I referenced the delete, but I think the same should be true for insert/update, too. (I had the problem for an insert)

View Issue Details
ID: Category: Severity: Reproducibility: Date Submitted: Last Update:
2544 [Symmetri