SymmetricDS Changelog

What's new in SymmetricDS 3.15.4

Mar 19, 2024
  • [Bug] Sybase ASE 12 can only quote column names 28 characters or less (belong).

New in SymmetricDS 3.15.3 (Feb 6, 2024)

  • [Bug] Imported configuration sometimes gets deleted from sym_data (emiller)
  • [Improvement] Add LOB Mapping for SQL Server 2005 and later (cquamme)
  • [Bug] SQLite sync error on sym_table_reload_request when db.treat.date.time.as.varchar.enabled (elong)
  • [Bug] Registration error sym_parameter changes causing sync triggers need to be limited to DML changes (pmarzullo)
  • [Improvement] "Node failed to authenticate" in server logs after server restarts or client session expires (elong)
  • [Bug] Reverse initial load sometimes doesn't start when also using forward initial load (elong)
  • [New Feature] Add boolean data type support for Oracle 23c (cquamme)
  • [Bug] Syncing a NCLOB from Oracle to Postgres results in an error (cquamme)
  • [Bug] Postgres XML incorrectly identifies "BOOLEAN" as "BIT" (cquamme)
  • [Improvement] Record failed sync trigger attempts to database in trigger history and stats (elong)
  • [Bug] symadmin module error when file exists without a dot (elong)
  • [Bug] Adjusting unique indexes to non-unique when columns can be null should be able to be turned off by parameter (pmarzullo)
  • [Improvement] Issue with syncing BIGINT, INT, TINYINT, SMALLINT, and BIT data types to Oracle and Tibero databases (cquamme)
  • [Improvement] During an upgrade, log DDL before executing it instead of afterwards (emiller)
  • [Bug] File sync push is rejected because of a lack of a reservation (pmarzullo)
  • [Bug] Cookies required error when both http and https enabled (elong)
  • [Bug] Upgrade Jetty (elong)
  • [Improvement] Multi-threaded routing and gap detection (elong)
  • [Improvement] Unnecessary unrouted batch appears along with routed batch (elong)
  • [Improvement] Snapshot util timeout for taking too long on table definitions (elong)
  • [Improvement] Could not find trigger history, causes error of had X columns but expected Y (elong)
  • [Bug] Snapshot error from database time on Sybase ASE/ASA (elong)

New in SymmetricDS 3.15.2 (Dec 18, 2023)

  • [Bug] Firebird sym_hex UDF can cause an access violation (emiller)
  • [Improvement] Additional trigger template variable to suppor primary key joins without an alias (josh-a-hicks)
  • [Bug] Repair of unrouted data should go through routing (elong)
  • [New Feature] Add parameters that can disable specific types of conflict resolution (emiller)
  • [Bug] Conflict resolver does not handle unique index violations correctly when a unique index ignores null values (emiller)
  • [Bug] DDL replication errors on SQL-Server with renaming columns and deadlocks (elong)
  • [Improvement] Remove individual jobs stats for push and pull and uri handlers (elong)
  • [Bug] Purge fails with incorrect syntax near 'd' on SQL Server (elong)
  • [Bug] Jtds driver does not work with Sybase ASE (jvanmeter)
  • [Bug] Postgres timestamp with time zone columns get their values formatted incorrectly when extracted for a load (emiller)
  • [Bug] DB compare was incorrectly hex-encoding Unitype columns (jvanmeter)
  • [Improvement] Too many "Expected but did not receive an ack for batch" (elong)
  • [Bug] Dbfill of nchar/nvarchar and avoid timestamp/rowversion (elong)
  • [Improvement] Some Bulk loaders don't process before filters (cquamme)
  • [Bug] Cancel of load at target does not clean up everything at the source and still shows active at target (pmarzullo)

New in SymmetricDS 3.15.1 (Nov 15, 2023)

  • 0006098: [Bug] Many router types attempt to handle non-DML data event types when they do not support them (emiller)
  • 0006032: [Bug] Multiple queues can cause contention when trying to register a node. (jvanmeter)
  • 0006095: [Improvement] Contains big LOB check can be fooled by commas in data (elong)
  • 0006082: [Improvement] SQLite nodes do not insert into sym_context correctly when disabling sync triggers (emiller)
  • 0006080: [Improvement] Improve name and documentation for DBExport's --symmetric option (emiller)
  • 0006076: [Bug] Protect against exceptions in CPU monitor (emiller)
  • 0006073: [Bug] Sync triggers fails when checking for multiple active trigger histories if Sybase ASE page size is 2K (emiller)
  • 0006064: [Improvement] Slow extract and load when using $(targetExternalId) variable (elong)
  • 0006071: [Bug] sym_node gets updated unnecessarily when heartbeat.update.node.with.batch.status parameter is disabled (emiller)

New in SymmetricDS 3.15.0 (Oct 1, 2023)

  • [Improvement] Use sym_outgoing_error table to ignore a row in outgoing batch (cquamme)
  • [Bug] Ignore Row Count not getting updated in outgoing batch table when a row is ignored (cquamme)
  • [New Feature] Adding a corresponding sym_outgoing_error table connected to sym_incoming_error (cquamme)
  • [New Feature] Create tables based on target table name and column names set by routers and transforms (emiller)
  • [Bug] postgresql infinity timestamp (JishLong)
  • [Improvement] Increase the statement query timeout (elong)
  • [Bug] Security Vulnerability in Spring Framework and h2 database (elong)
  • [Bug] SYM_TABLE_RELOAD_REQUEST is updated via DateTime which sometimes fails due to precision mismatch (elong)
  • [Improvement] Change timestamp size on sym tables with a timestamp as a primary key (cquamme)
  • [Improvement] Change default push/pull to 10 seconds (elong)
  • [Improvement] Purge retention for monitor events and console events (elong)
  • [Improvement] Purge should use "exists" clause instead of "in" clause for performance (elong)
  • [Bug] column name containing a "/" causes error (JishLong)
  • [Bug] Monitor event duplicate key when syncing (cquamme)
  • [Improvement] Track expired data gaps and repair any data missed by routing (elong)
  • [Improvement] Better logging when ack fail (elong)
  • [Improvement] Cache list of enabled nodes used by routing (elong)
  • [Improvement] Use 600 series HTTP codes to distinguish from network devices (elong)
  • [New Feature] Add support for H2 2.x and upgrade the H2 driver to the latest version (emiller)
  • [Improvement] Have file sync make better use of staging (emiller)
  • [Improvement] Increase default db.pool.max.active connections to match what is needed for http.concurrent.workers.max (pmarzullo)

New in SymmetricDS 3.14.9 (Aug 26, 2023)

  • [Improvement] Add support for NTEXT to SQLAnywhere dialect (pmarzullo)
  • [Bug] SQL Anywhere long varbit values are inconsistent between change data capture and initial load (pmarzullo)
  • [Bug] Sybase Anywhere - channel_id size Problem on auto-create triggers (emiller)
  • [Improvement] Adding Uni* type support to Sybase ASE (jvanmeter)
  • [Improvement] Adding log info for subselect routers (cquamme)
  • [Bug] KafkaDataWriter by ROW method has a trailing comma (jvanmeter)
  • [Improvement] SymmetricDS User Guide Incorrectly Referencing Table Column Name Which Dropped From 3.14 Release Already (elong)
  • [Improvement] Update docs on using environment variables in engines properties (modified summary) (cquamme)
  • [Bug] SQLAnywhere DDL problems with dropping indexes and triggers, and trigger syntax issue for version 11 and earlier (pmarzullo)
  • [Bug] Failed to execute IHeartbeatListener PushHeartbeatListener java.lang.NullPointerException When Starting up SymmetricDS (elong)
  • [Bug] Getting null pointer from Column.java in new method anyPlatformColumnTypeContains on platformColumns (chenson)
  • [New Feature] Add option to symadmin --send-sql to specify a file containing the sql to send. (JishLong)
  • [Bug] log.slow.sql.threshold.millis and log.sql.parameters.inline parameters do not work and are not documented (emiller)
  • [Improvement] Add export-config and import-config command line options to symadmin (JishLong)

New in SymmetricDS 3.14.8 (Jul 19, 2023)

  • [Improvement] Monitor enhancements for centralized support (josh-a-hicks)
  • [Bug] Cannot resolve monitors of type log (emiller)
  • [Improvement] DbCompare should write to standard error and not continue with an invalid date-time format (cquamme)
  • [Improvement] Added debug logging to File Sync Trigger Tracker (jvanmeter)
  • [Bug] DBCompare produces output SQL with invalid syntax (cquamme)
  • [Bug] Failing to create trigger on table (pmarzullo)
  • [Bug] Update postgres documentation on how to give access to schemas for a SymmetricDS user (pmarzullo)
  • [Bug] Cannot Install swaggerui module by using symadmin ModuleManager (pmarzullo)
  • [Bug] Estimated count from initial load does not work with SqlServer when using different schema than dbo (JishLong)
  • [Improvement] Some methods are synchronized unnecessarily in AbstractParameterService (cquamme)
  • [Improvement] Postgres support for ddl table creations with a default function on a GUID from MSSQL (josh-a-hicks)
  • [New Feature] MSSQL support for hierarchyid data types (josh-a-hicks)
  • [Bug] Non transactional initial load setup can cause load events to be missed ini table_reload_status (pmarzullo)
  • [Bug] LOB data does not sync when sending a load with use_stream_lobs=1 (emiller)
  • [Bug] NotificationTypeEmail's deserializeOfflineNodes method always returns empty collection (cquamme)
  • [Bug] ValidatorException while validating self-signed X509 certificate (emiller)
  • [Bug] DbCompare fails to write comparison SQL for timestamp with timezone values (cquamme)
  • [New Feature] Add job monitor (emiller)
  • [Bug] Transform documentation missing Java Column Transform Type (pmarzullo)
  • [Improvement] Open Registration in Rest API doesn't allow user to specify node if 2 nodes have the same external ID (cquamme)
  • [Improvement] When a node is unregistered cancel all jobs / threads that are actively doing work for that node (JishLong)
  • [Improvement] Make sleep time between registration retries configurable (JishLong)
  • [Improvement] Improve documentation of sym_node_group_link.sync_config_enabled (emiller)
  • [Bug] Infinite synchronization loop when 3 nodes are connected to each other and sync_on_incoming_batch = 1 (emiller)
  • [Bug] Prevent file sync from syncing all files when first scanning a directory when initial load is enabled (emiller)
  • [New Feature] Add option to send additional batch error notifications when the number of batches in error increases (emiller)
  • [Improvement] Also sync the stored procedures with the schema (emiller)
  • [Bug] MSSQL DDL ERROR: View / function / stored procedure (emiller)
  • [Bug] Security Vulnerbility in Spring Framework (elong)
  • [Improvement] sym_monitor_event trigger should capture changes when monitor.events.capture.enabled=true even if auto.sync.configuration=false (emiller)
  • [Improvement] Try again when foreign key correction fails (emiller)
  • [Improvement] Specify jaxb api and implementation so that libraries will be available when running in Java 8 through 17 (pmarzullo)
  • [Bug] Unnamed constraint causes alter table error (JishLong)
  • [Improvement] Adding Character Set to Snapshot (cquamme)
  • [Improvement] MathColumnTransform uses Evaluator that is not thread-safe (cquamme)

New in SymmetricDS 3.14.7 (May 13, 2023)

  • 0005831: [Improvement] Sync triggers by $(targetExternalId) and call after registration (elong)
  • 0005781: [Bug] DBCompare --use-sym-config true (cquamme)
  • 0005779: [Improvement] Improve docs on db.init.sql property (emiller)
  • 0005828: [Bug] Class Not Found Exception when connecting to Redshift (cquamme)
  • 0005803: [Bug] Interbase fixes: failing to have prepared statement indicators in set and select portion of SQL statements (pmarzullo)
  • 0005823: [Improvement] Capture timings when running Sync Triggers (pmarzullo)
  • 0005826: [Bug] Data can become misaligned with column names during extraction after a column gets renamed (emiller)
  • 0005817: [Improvement] Snapshot util not returning (elong)
  • 0005822: [Bug] SQL Server create or alter trigger fails when table is not in default schema (dbo) (pmarzullo)
  • 0005810: [Improvement] Redshift Bulk Loader increased versioning and dependencies (josh-a-hicks)
  • 0005815: [Improvement] DDL Capture Changes - Three enhancements to DDL trigger capture (josh-a-hicks)
  • 0005809: [Bug] NullPointerException when writing a delete to Kafka when old data has not been captured (emiller)
  • 0005811: [Bug] When Capture of Old Data is disabled, Deletes get an Index Out Of Bounds Error with Kafka (jvanmeter)
  • 0005766: [Bug] NPE when inserting into sym_incoming_batch on some platforms (emiller)
  • 0005807: [Bug] Sybase ASE gets Misinterpreted as Sybase SQL Anywhere (jvanmeter)
  • 0005805: [Improvement] Allow specification of database platform of symmetric when DbDxport execution with load only/extract only/log miner (pmarzullo)
  • 0005799: [Bug] 3 tier deployment, 3rd tier does not get top level tier sym_node* tables (pmarzullo)
  • 0005802: [Bug] SQL Server and Sybase stream row on updates trigger syntax issue (pmarzullo)
  • 0005800: [New Feature] Add a gradle task that generates javadoc and publishes it to the website (emiller)
  • 0005791: [Bug] Allow registration of other nodes after registration and initial load is complete (elong)
  • 0005790: [Improvement] Failed to decrypt node password from lost secret key in keystore (elong)
  • 0005780: [Improvement] Slow routing when using $(targetExternalId) variable (elong)
  • 0005783: [Improvement] SymmetricDS seems to require Postgres 11, but the docs don't reflect that (emiller)
  • 0005782: [Improvement] Unique Index with Multiple Nulls not Properly Handled for Certain Databases (jvanmeter)
  • 0005774: [New Feature] Support for capturing the row identifier on various platforms if available (default is false) (josh-a-hicks)
  • 0005775: [New Feature] File sync batches to provide file name as the summary in outgoing and incoming batch. (josh-a-hicks)
  • 0005765: [Improvement] Add quotation marks around values in threads-stats.csv file in support snapshot (emiller)
  • 0005757: [New Feature] Add server parameter for setting a server's cookie name (cquamme)
  • 0005753: [Improvement] Reopening registration should reset the failed login count (emiller)
  • 0005752: [Improvement] Add support for H2 2.x (emiller)

New in SymmetricDS 3.14.6 (Mar 18, 2023)

  • 0005746: [Bug] When upgrading from a varchar(xxx) to longvarchar the change isn't detected on H2 (emiller)
  • 0005747: [Improvement] Read max-size VARCHAR columns as LONGVARCHAR columns on H2 (emiller)
  • 0005742: [Improvement] Table sorting does not need to include sym tables (josh-a-hicks)
  • 0005657: [Bug] SQLAnywhere CHAR is really a VARCHAR and should be mapped to VARCHAR for other dialects (emiller)
  • 0005737: [Bug] Serve Time Offsets Causing an Error in Determining if a Node is Offline (jvanmeter)
  • 0003952: [Bug] Order table creation by foreign key dependency (pmarzullo)
  • 0005722: [Bug] Tries to create foreign key before creating the referenced table (pmarzullo)
  • 0005723: [Bug] The schema of the table that is being created is used instead of correct one when creating a foreign key (emiller)
  • 0005721: [Bug] Query tries to address mixed-case column without quotes (Postgres) (pmarzullo)
  • 0005731: [Bug] Functional indexes are only supported by Oracle (pmarzullo)
  • 0005728: [Improvement] AbstractSymmetricEngine.isConfigured() should use the cache when querying for sym_node table (pmarzullo)
  • 0005729: [Bug] DBImport- Allow the UI specification of the catalog and schema to override the catalog and schema specs in XML imported file (pmarzullo)
  • 0005724: [Bug] SQL Server timestamp (rowversion) data type can not specify column size (pmarzullo)
  • 0005720: [Improvement] sym_node trigger should capture changes even if auto.sync.configuration is set to false (pmarzullo)
  • 0005718: [Bug] SQL Server DDL Builder needs to handle objects in different databases (pmarzullo)
  • 0005711: [Bug] When connecting to Azure, set platform version to SQL Server 2016 (pmarzullo)
  • 0005698: [Bug] Data truncation error when inserting/updating log event in sym_monitor_event on Interbase (emiller)
  • 0005702: [Bug] Missing image in Manage Incoming Loads (pmarzullo)
  • 0005699: [Bug] Missing image in Manage Nodes Load Data Where Clauses (pmarzullo)
  • 0005700: [Bug] Grammar error (double word) in Manage Logging documentation (pmarzullo)

New in SymmetricDS 3.14.5 (Feb 15, 2023)

  • Increase default db.pool.max.active connections to match what is needed for http.concurrent.workers.max (pmarzullo)
  • Add support for H2 2.x and upgrade the H2 driver to the latest version (emiller)

New in SymmetricDS 3.14.4 (Jan 16, 2023)

  • Sym_node_host trigger should capture changes even if auto.sync.configuration is set to false (pmarzullo)
  • [New Feature] Improve SQL Server DDL triggers and add DDL triggers for Oracle and Postgres (emiller)
  • [Improvement] Problems replicating DDL to another node with the same database type but different database version (emiller)
  • [Improvement] Add "open registration" call to REST service (elong)
  • [Bug] Registration redirect URL does not have query parameters for older versions of SymmetricDS clients (pmarzullo)
  • 0[Bug] DBExport incorrectly formats time data (emiller)
  • [Bug] Filtering transactions for snapshot gets stack overflow error and never finishes creating snapshot (pmarzullo)
  • [Bug] Flush cache of routers when a router is changed (elong)
  • [Bug] Stack overflow while extracting batch containing a table removed from replication (elong)
  • [Improvement] SqlAnywhere support for v. 12 and higher (josh-a-hicks)
  • [Improvement] Full load request does not support a reload select statement (josh-a-hicks)
  • [Bug] Single Store extends MySQL dialect but does not need to check for an "innodb" engine (josh-a-hicks)
  • [Improvement] When deleting FK child rows during conflict resolution and old_data is null, query for the parent row on the target (emiller)
  • [Bug] Deletes get ignored when foreign key children exist but cannot be found (emiller)
  • [Improvement] Log monitor fails to insert because of duplicate key when logs are shared across instances of a node (pmarzullo)
  • [Bug] SymDS is not syncing specific record during initial load (pmarzullo)
  • [Bug] Insert statements generated by DBExport contain question marks when there are null values (emiller)
  • [Bug] Check sync URL ends with engine name or "sync" (elong)

New in SymmetricDS 3.14.3 (Dec 1, 2022)

  • 0003313: [New Feature] Propagate default GUID from MSSQL to SQLITE (emiller)
  • 0003545: [Bug] Mapped default values lead to always detecting a model change (emiller)
  • 0005507: [Bug] Postgres LOCALTIMESTAMP function gets surrounded by quotes when imported as a default value (emiller)
  • 0005510: [Bug] Multiple active trigger history for same table (elong)
  • 0005511: [Bug] Error request path not supported for /server/config (elong)
  • 0005512: [Bug] Default values for Oracle RAW columns get surrounded by quotes when exported (emiller)
  • 0005513: [Bug] SQL Server GETDATE() and GETUTCDATE() functions get surrounded by quotes when imported as default values (emiller)
  • 0005514: [Bug] SQL Server sysname type should not have its size specified (emiller)
  • 0005515: [Improvement] When installing service for systemd, make sure to specify absolute path to java executable when creating systemd control file (pmarzullo)
  • 0005519: [Improvement] Updating KafkaDataWriter to work with Filters (jvanmeter)
  • 0005520: [Improvement] Acknowledgement gets null SQL message (elong)
  • 0005523: [Bug] Create trigger hist if routing can't find it (elong)
  • 0005524: [New Feature] Adding New Monitor Types For OS Load Average and OS Open File Handles (cquamme)
  • 0005526: [Improvement] Default max batch to send as 10 (elong)
  • 0005529: [Bug] Cannot set up SQL Server log-based replication without "ALTER ANY DATABASE" permission (emiller)
  • 0005531: [Bug] Multi-homed clustered nodes stuck in loop of retry and resend of batches (elong)
  • 0005535: [Improvement] Improve how default values are handled when syncing DDL cross-platform (emiller)
  • 0005536: [Improvement] Add support for Postgres' inet, cidr, macaddr and macaddr8 data types (emiller)
  • 0005544: [Bug] Initial load error on MySQL with parameter db.treat.date.time.as.varchar.enabled=true (elong)
  • 0005547: [Improvement] Treat any default value that contains "()" as a function (emiller)
  • 0005551: [New Feature] Add parameters that specify how to sync default values (emiller)
  • 0005553: [Improvement] Allow spaces in values within value map column transform expression (emiller)
  • 0005554: [Bug] Example 25 in User Guide is missing permissions (emiller)
  • 0005557: [Bug] SQL-Server capture rows that exceed 4000 characters (pmarzullo)
  • 0005558: [Improvement] Create table without defaults if in error (elong)
  • 0005563: [Improvement] Add functionality to symadmin export-sym-tables to export alters when upgrading (pmarzullo)
  • 0005570: [New Feature] Add engine name and server name variables to notification templates (emiller)
  • 0005571: [Bug] Unique index on function causes error when resolving a conflict (elong)
  • 0005580: [Bug] Script error from newer wins conflict resolution with old nodes (elong)
  • 0001960: [Improvement] Service start script always waits for 5s (elong)
  • 0003109: [Bug] File replication routing job fails with error message when channel is not a file sync channel - needs better error message (emiller)
  • 0005542: [Bug] Apache commons-text version 1.9 security vulnerability (pmarzullo)
  • 0005560: [Bug] ORA-06502: PL/SQL: numeric or value error: character string buffer too small (elong)
  • 0005582: [Bug] Database Platforms That Don't Support SQL Queries Throw Error with SQL Explorer (cquamme)
  • 0005583: [Improvement] Service wrapper wait for "started" message instead of 5 second timeout (elong)
  • 0005586: [Bug] Trigger creation fails when 2 new triggers have trigger IDs that are identical when shortened (pmarzullo)
  • 0005596: [Bug] Failure to Flush when using ConvertToReload router. (jvanmeter)
  • 0005603: [Bug] Parse exception of batch should remove it from staging (elong)
  • 0005604: [Improvement] Check sync URL ends with engine name (elong)
  • 0005605: [Improvement] Parameter that alters table case should be for cross platform only (elong)
  • 0005606: [Improvement] CPU monitor top threads should ignore threads waiting on I/O (elong)
  • 0005456: [Bug] ORA-24816 when sync varchar2(4000) and long in same table (elong)

New in SymmetricDS 3.14.2 (Oct 4, 2022)

  • [Bug] Fix json deserialization issue with log summary object (josh-a-hicks)
  • [Task] Document the --client option in the User Guide. I've been told it is useful ;-) (elong)
  • [Improvement] dbexport / dbimport should support oracle virtual columns (emiller)
  • [Bug] Float used on table without primary causes update to not capture (emiller)
  • [Bug] Default values that are functions do not work while creating tables in MySQL (emiller)
  • [Bug] Mysql BIGINT UNSIGNED processed as signed and gives error on larger than 63 bits numbers. (emiller)
  • [Bug] Syncing from Time to Timestamp (or vice versa) in Postgres produced inaccurate values (emiller)
  • [Bug] Unable to write to sym_outgoing_batch when using Postgres (elong)
  • [Bug] Initial load of a table with a self referencing FK will not load if out of order (josh-a-hicks)
  • [Bug] Detect when the order of a primary key changes in order to regenerate it (elong)
  • [Bug] Multiple transform_table rows per source table cause multiplication of rows in outgoing batch (elong)
  • [Bug] DbCompare: The output script to fix issues on the target does not support null values. (emiller)
  • [New Feature] Creating a Parameter That, Upon Registration, Will Automatically Create A Group Link Between Nodes if None Exist (cquamme)
  • [Bug] Android not implemented exception when sym_monitor syncs (elong)
  • [Improvement] Install triggers on registration server before configuration is complete (elong)
  • [Improvement] Sync triggers when parameters change that affect triggers (elong)
  • [Bug] NumberFormatException when querying for an integer greater than Long.MAX_VALUE in SQL Explorer (emiller)
  • [Bug] Sybase ASE issues when upgrading SymmetricDS from an older version to 3.14.* (pmarzullo)
  • [Bug] Conflict resolver fails if there are no primary keys on the target and it is set to not use primary keys from source (jvanmeter)
  • [Improvement] Change parameter treat.binary.as.lob.enabled to default to false (elong)
  • [Bug] Windows service won't start if tmp dir has trailing slash (elong)
  • [Improvement] Add SOURCE_NODE_ID_FROM_DATA to VariableColumnTransform to allow using the source_node_id from the data (pmarzullo)
  • [Improvement] Routing default batch algorithm protection against large transactions (elong)
  • [Improvement] Backup keystore before saving it (elong)
  • [Improvement] Adding Log Info For Queries for Lookup Table Routers (cquamme)
  • [Bug] Cannot write to more than one Kafka instance in a single instance of SymmetricDS (jvanmeter)
  • [Improvement] Parameter to use old conflict pk detect and fallback (elong)
  • [Improvement] Ability to disable sync triggers when sync on incoming is enabled (elong)
  • [Bug] Some default values do not sync correctly from Oracle to Oracle (emiller)
  • [Improvement] Cast TEXT types in MS SQL to VARCHAR for SymmetricDS tables (elong)
  • [Improvement] Cast TEXT to VARCHAR for all tables (elong)
  • [Improvement] Ignore missing tables on config channel (elong)
  • [Improvement] Support snapshot fixes (elong)
  • [Improvement] Table reload request with "where" keyword gets error (elong)
  • [Bug] Batch error missing method sendMissingForeignKeyRowsForLoad (elong)
  • [Bug] When a load filter changes catalog or schema the DML statement is not recreated with the updated values (josh-a-hicks)
  • [Improvement] Cast varchar to nvarchar (elong)
  • [Bug] NPE when running DbFill on a table with a foreign key that references a table in another catalog or schema (emiller)
  • [Bug] Registration left pending when client is 3.12 or newer and server is 3.11 or older (elong)
  • [Bug] New config tables are being routed to old nodes (elong)
  • [Bug] Oracle DATE type should not have its size specified (emiller)
  • [Bug] Oracle TO_TIMESTAMP() function gets surrounded by quotes when imported as a default value (emiller)
  • [Bug] Primary key constraint violation while replicating single table from MSSQL 2017 into PostgreSQL 9.6 (pmarzullo)

New in SymmetricDS 3.14.1 (Aug 30, 2022)

  • [Bug] Snapshots do not contain log files when the files are in a non-default location specified in log4j2.xml (emiller)
  • [Improvement] Check to see that the SymmetricDS tables are created to use the Innodb storage engine on MySQL. (emiller)
  • [Bug] MySqlDdlReader.getTriggers() throws SQLException when MySQL database name contains special character (emiller)
  • [Bug] Initial load won't start if registration_enabled is 1 (elong)
  • [Bug] H2 database (or load only database) gets alter timestamp(0) every time starting (elong)
  • [Bug] MySQL outputs schema with DEFAULT '0000-00-00' that is not compatible (emiller)
  • [Bug] DbFill error arithmetic overflow error with money data type (emiller)
  • [Bug] Oracle XMLTYPE incorrectly mapped to invalid SQL Type SQLXML in MariaDB (emiller)
  • [Bug] dbcompare attempts to insert null into "not null default ..." field (emiller)
  • [Bug] NVARCHAR2() maps incorrectly to VARCHAR() when mapping from Oracle to MariaDB (emiller)
  • [Bug] MS SQL -> SQLite, don't translate "NEXT VALUE FOR" default value (emiller)
  • [Bug] Oracle's REAL datatype should map to DOUBLE in MariaDB, not FLOAT (emiller)
  • [Bug] Oracle's LONG type is incorrectly mapped to MariaDB's MEDIUMTEXT. Should be LONGTEXT (emiller)
  • [Bug] Oracle's CLOB (and NCLOB) type incorrectly maps to MariaDB's MEDIUMTEXT (emiller)
  • [Bug] Unable to translate default column for (new sequentialid()) (very easy fix) (emiller)
  • [Bug] Default value being passed as string for MS Sql Server (emiller)
  • [Bug] Firebird ddl/schema problem when creating tables and deferring constraints (emiller)
  • [Bug] DB Compare does not handle Oracle Timestamp with LOCAL time zone columns properly (emiller)
  • [Bug] dbexport MSSQL geometry -> PGSQL varchar(2147483647); better would be TEXT (emiller)
  • [Bug] Does not replicate index with upper function on PostgreSQL (emiller)
  • [Bug] Initial load delete or truncate with table transform (elong)
  • [Bug] sync.table.prefix parameter ignores for sequence in PostgreSQL (emiller)
  • [Bug] dbcompare prints each table multiple times (emiller)
  • [Bug] The PostgreSQL database cannot be synchronized under the USE_CHANGED_DATA and manual resolution strategy (emiller)
  • [New Feature] Implement conflict_win_count and conflict_lose_count columns in sym_outgoing_batch and sym_incoming_batch (emiller)
  • [Bug] Deleting a trigger doesn't inactivate its sym_trigger_hist entry when auto.sync.triggers.after.config.change=true (emiller)
  • [Bug] Bulk loaded flag is not being read from database for incoming and outgoing services (josh-a-hicks)
  • [Bug] JDBC Bulk Transactions Fallback While Using PostgreSQL (cquamme)
  • [Improvement] Detection of MSSQL Azure Managed Instance (josh-a-hicks)
  • [Improvement] Allow users to disable spatial data type support functions (josh-a-hicks)
  • [Bug] Fix NPE for conflict detection when table does not have a PK and all columns used including those with null values (josh-a-hicks)
  • [Task] Update IReloadListener example in user guide (emiller)
  • [Bug] Tables not created on reverse initial load (elong)

New in SymmetricDS 3.13.7 (Jul 27, 2022)

  • Bugs:
  • Send schema DDL detects widened varchar but does not alter (elong)
  • DDL detects change in column data type for DATE on Oracle (elong)
  • Failed to create update trigger for triggers that use and external_select with $(curTriggerValue) (pmarzullo)

New in SymmetricDS 3.13.6 (Jul 12, 2022)

  • [Bug] Wrong character in document (emiller)
  • [Bug] Sync from MySql to MSSql initial load - table create fails on Decimal Precision when MySQL precision is more than 38 (elong)
  • [Bug] Sync triggers on selected tables without primary key gets trigger hist without primary key columns (elong)
  • [Bug] Oracle log mining throwing exception when finding mismatched LOB record in log mining result set (pmarzullo)
  • [Bug] Server not trusted when sending email (elong)
  • [New Feature] Add system property to control use of "on conflict" on Postgres (elong)
  • [Bug] Mathematical transform turns an integer into a decimal when the result has 8 or more digits (emiller)
  • [Improvement] Substring Transform support for all spaces (josh-a-hicks)
  • [Bug] Conflict resolution based on newer wins with transforms (josh-a-hicks)

New in SymmetricDS 3.13.5 (Jun 4, 2022)

  • [Bug] Conflict resolution batch with token parsing error when newlines in data (elong)
  • [Bug] Conflict Resolution of deletes of parent records fail to delete child records when child tables have no primary keys (pmarzullo)

New in SymmetricDS 3.13.4 (Apr 11, 2022)

  • [Improvement] Bulk loaders should report missing table (elong)
  • [Improvement] Sync incoming load details to target node (table_reload_status, extract_request) (elong)
  • [Improvement] Routing reader may use multiple queries for a large number of gaps (elong)
  • [Improvement] Clean up the consistent use of table constants for registration, trigger installation, extract, and export (elong)
  • [New Feature] Push registration to nodes when group links indicate push (elong)
  • [New Feature] Schedule registration of a node for a window of time (elong)
  • [Improvement] Registration order of nodes should not matter (elong)
  • [Improvement] Build a cache manager to centralize the handling of data caches (pmarzullo)

New in SymmetricDS 3.13.0 (Nov 18, 2021)

  • [Bug] db connection leaks after engine stop (pmarzullo)
  • [Bug] Stopping service breaks connections with error in Interbase logs (pmarzullo)
  • [Bug] MV-Store DB corrupt after stopping SymmetricDS replication software (pmarzullo)
  • [Improvement] Purging large number of extract requests, query time out (elong)
  • [Improvement] Cleanly exit all job threads when engine is stopped (pmarzullo)
  • [Improvement] Subselect router expression improvement (elong)
  • [Improvement] Ignore batch status is sometimes overwritten (elong)
  • [Improvement] Initial load select boolean directly without template (elong)
  • [Improvement] Remove "databases" sub-directory (elong)
  • [Improvement] Upgrade Gradle to latest possible version (emiller)
  • [Bug] Registration server config_version not updating (elong)
  • [New Feature] Speed up start up by only checking tables when version changes (elong)
  • [Bug] var_row_data is defined as mediumtext (rudiejd)
  • [Improvement] Auto sync triggers at startup parameter default off and option to force rebuild (elong)
  • [New Feature] Purge trigger history (elong)
  • [Improvement] Changing parameters should not restart all jobs (elong)
  • [Bug] Interbase Table SYM_TEMP_CONTEXT (elong)
  • [Improvement] Parameter staging.dir should be appended with the engine name (elong)
  • [Improvement] Increase size of file_name column in sym_file_snapshot (elong)

New in SymmetricDS 3.12.12 (Nov 4, 2021)

  • 0003897: [Improvement] Cleanly exit all job threads when engine is stopped (pmarzullo)
  • 0005015: [New Feature] Speed up start up by only checking tables when version changes (elong)
  • 0005099: [New Feature] Purge trigger history (elong)
  • 0005107: [Improvement] Parameter staging.dir should be appended with the engine name (elong)
  • 0005102: [Bug] Interbase Table SYM_TEMP_CONTEXT (elong)
  • 0005101: [Improvement] Changing parameters should not restart all jobs (elong)
  • 0003563: [Improvement] The query has timed out. purgeExtractRequests (elong)
  • 0004800: [Improvement] Subselect router expression improvement (elong)
  • 0005098: [Improvement] Auto sync triggers at startup parameter default off and option to force rebuild (elong)
  • 0005059: [Bug] var_row_data is defined as mediumtext (rudiejd)
  • 0002970: [Bug] db connection leaks after engine stop (pmarzullo)
  • 0003119: [Bug] Stopping service breaks connections with error in Interbase logs (pmarzullo)
  • 0003382: [Bug] MV-Store DB corrupt after stopping SymmetricDS replication software (pmarzullo)
  • 0004955: [Improvement] Ignore batch status is sometimes overwritten (elong)
  • 0004958: [Improvement] Initial load select boolean directly without template (elong)
  • 0004993: [Improvement] Remove "databases" sub-directory (elong)
  • 0004995: [Improvement] Upgrade Gradle to latest possible version (emiller)
  • 0005013: [Bug] Registration server config_version not updating (elong)

New in SymmetricDS 3.12.11 (Jul 13, 2021)

  • [Improvement] Trigger router cache getting flushed every time initial load extract job runs (elong)
  • [Improvement] Improve performance with sync trigger call for list of triggers (elong)
  • [Improvement] Sync Triggers should execute successfully in parallel by table (pmarzullo)
  • [Improvement] Big Query support for bulk loading data with commas (josh-a-hicks)
  • [Bug] BigQuery connectivity not loading security file properly (josh-a-hicks)
  • [Bug] Client ack rejected with server busy when using channel queues (elong)
  • [Bug] Kafka XML escaping needed (pmarzullo)
  • [Improvement] Turn on Jetty access logging (josh-a-hicks)
  • [Bug] Service fails to install on SUSE 15 (elong)
  • [New Feature] DBFill support for load only nodes (josh-a-hicks)
  • [Bug] BigQuery type not found FLOAT (elong)
  • [Improvement] Informix dialect with page size 2k (elong)
  • [Bug] Fix NPE when a trigger hist is rebuilt with a reason code of H during routing (josh-a-hicks)
  • [Bug] Push acknowledgements are not ordered by batch id (josh-a-hicks)
  • [Bug] Load Filter documentation indicates that Java and BSH are the only available scripting, but there is also SQL (pmarzullo)
  • [Bug] Upgrade from 3.7 to 3.11 fails to upgrade schema (elong)
  • [Improvement] Use session_context with JTDS driver (elong)

New in SymmetricDS 3.12.10 (May 29, 2021)

  • [Bug] Postgres array types improperly cast into non-array types (josh-a-hicks)
  • [Improvement] Monitor events purger condition (elong)
  • [Bug] SQL-Server trigger not implemented exception for NCHAR (elong)
  • [Bug] Auto resolve missing foreign key with load only or extract only node (elong)
  • [Bug] Connection leak during routing when a group link is added (chenson)
  • [Bug] Unicode synchronization of utf8 strings with 4 byte characters in MySql and MariaDB does not work (elong)
  • [Bug] Routing and extracting had X columns but expected Y (elong)
  • [Bug] MySQL: Drop trigger silently fails (elong)
  • [Bug] Oracle create index under same user/schema as table (elong)
  • [Bug] Binary primary keys will not delete as part of conflict resolution (josh-a-hicks)
  • [Bug] MySQL 8 CHAR data type needs spaces right trimmed (elong)
  • [Improvement] Allow the setting of a timeout for the Sync Triggers process (pmarzullo)
  • [Bug] Work with MySQL 8 JDBC driver (elong)
  • [Bug] Kafka escaping for special characters (pmarzullo)
  • [Bug] Batch in conflict won't load when unique key value is null (elong)
  • [Bug] Table PK column order mismatch with column order can cause errors (elong)
  • [Bug] Firebird error while dropping trigger, token unknown (elong)
  • [Bug] Postgres converts json and uuid types to text for create table (elong)
  • [Bug] Oracle: Geometry column type can not be used in a where clause (pmarzullo)
  • [Bug] Push, pull, extract thread name has wrong queue (elong)
  • [Improvement] Auto resolve missing foreign key for SYM tables (elong)

New in SymmetricDS 3.12.8 (Mar 31, 2021)

  • Bug] Reload a table causes ORA-01652: unable to extend temp segment by 128 in tablespace (elong)
  • [Bug] Monitors: Memory and CPU do not provide detailed monitor information (pmarzullo)
  • [Improvement] MSSQL switch to use session_context instead of context_info() (josh-a-hicks)
  • [Bug] Firebird result set is closed after routing (elong)
  • [Bug] SQL-Server error cannot update identity column during auto resolution (elong)
  • [Bug] Invalid module during startup after upgrade (elong)
  • [Bug] Create WAR gets instance.uuid does not exist (elong)
  • [Improvement] Update deployment sub type on sym_node to include log based and load only (josh-a-hicks)
  • [Bug] Expandable trigger support for trigger names (josh-a-hicks)
  • [Bug] Fix ClassCastException in SQL explorer (emiller)
  • [Bug] Upgrade DBCP and Vaadin libraries (elong)
  • [Bug] Docker image doesn't start because security directory permissions (elong)
  • [Bug] SQL Server 2016 using SESSION_CONTEXT only works with SQL Server JDBC driver, not the JTDS driver (pmarzullo)
  • [Bug] NPE in mail service (elong)
  • [Bug] Symmetric upgrade with Firebird database fails to upgrade when upgrading to 3.12 (pmarzullo)
  • [Bug] Auto resolve when primary key has binary/varbinary (elong)
  • [Bug] Oracle bulk loader not being used on Oracle >= 12.2 (elong)
  • [Bug] Sybase ASE: update trigger needs to set nocount on on very first statement (pmarzullo)
  • [Bug] SYM_DESIGN_DIAGRAM and SYM_DIAGRAM_GROUP need to be filtered out when routing to certain nodes (pmarzullo)
  • [Improvement] Add a new parameter that allows you to control the trigger prefix independent of the table prefix (chenson)
  • [Bug] Fix SQL explorer row editor (emiller)

New in SymmetricDS 3.12.7 (Feb 26, 2021)

  • 0004852: [Bug] Registration server script using extensions (elong)
  • 0004571: [Bug] Password file read access must be restricted: security/jmxremote.password (elong)
  • 0004573: [Bug] Dynamic Query Builder support for bit (josh-a-hicks)
  • 0004764: [Bug] Raima Create Snapshot does not work (pmarzullo)
  • 0004765: [Improvement] Prevent blocking on Firebird with lock timeout (elong)
  • 0004780: [Improvement] JMX batch and data count attributes (elong)
  • 0004782: [Improvement] Reduce dependency on log4j2 for deployments without it (elong)
  • 0004783: [Bug] Initial load can slow down when batches on other channels cause conflict resolution (elong)
  • 0004786: [Bug] Force trigger regenerate does not work properly (elong)
  • 0004797: [Bug] JMX local host name unknown (elong)
  • 0004798: [Bug] No data found while correcting foreign key error for reload batch (elong)
  • 0004802: [Bug] On Tomcat, ack was not sent successfully: java.io.IOException: Premature EOF (elong)
  • 0004804: [New Feature] MSSQL log based change tracking loop protection and sync on incoming support (josh-a-hicks)
  • 0004810: [Bug] Fix casting in MsSqlDmlStatement (emiller)
  • 0004814: [Bug] binary column that is zero length (not null) sends to null to target during initial load (pmarzullo)
  • 0004817: [Bug] "smallint out of range" exception when incrementing failed login count > 32767 (elong)
  • 0004818: [Bug] Fix SqlException when generating snapshot from a node with an Oracle database (emiller)
  • 0004819: [Improvement] Improve WAR deployment (elong)
  • 0004821: [Improvement] Add unit tests for massageForLimitOffset() (emiller)
  • 0004823: [Bug] Postgres unique constraint causes current transaction is aborted (elong)
  • 0004828: [Improvement] Log an error instead of a warning when a trigger's source table doesn't exist (emiller)
  • 0004831: [Bug] Initial Load events for config tables need to use correct dialect when running load only, extract only, or log miner (pmarzullo)
  • 0004833: [Bug] Can't export batch that includes sym_node_security (elong)
  • 0004835: [Improvement] Allow spaces in external id (josh-a-hicks)
  • 0004838: [New Feature] New extension point that can be used while obtaining a list of tables for a given trigger configuration (josh-a-hicks)
  • 0004840: [Bug] Sybase ASE primary key update should create update event when only one record is updated (pmarzullo)
  • 0004842: [Bug] Exception during registration with multi-primary (elong)
  • 0004843: [Bug] Push and pull errors while node registration is pending (elong)

New in SymmetricDS 3.12.6 (Jan 11, 2021)

  • [Bug] Do not worry about conflict winner in load only or log based target nodes (josh-a-hicks)
  • [Bug] Multiple nodes need synchronized access to keystore (elong)
  • [Bug] Repetition in configuration file and registration batch (elong)
  • [Bug] Default Conflict resolution (IS_CAPTURE_TIME_NEWER) doesn't work when target node is a load only node (pmarzullo)
  • [Bug] Postgres Conflict Resolution blocks when trying to resolve (elong)
  • [Bug] Auto resolve ConflictException hides unique key exception (elong)
  • [Bug] Conflict with NEWER_WINS implicit conversion error (elong)
  • [Bug] NPE in PostgreSqlDmlStatement (elong)
  • [Bug] Multi-primary subsequent data loads blocked (elong)
  • [Improvement] Initial load foreign key error auto resolve when foreign key missing at source (elong)
  • [Improvement] Extensions global BSH functions (elong)
  • [Bug] Extensions should reload when changes to sym_extension (elong)
  • [Bug] Deletes and conflict detection USE_CHANGED_DATA with resolved NEWER_WINS (elong)
  • [Bug] sym command should log to standard error by default (elong)
  • [Improvement] Quick test before upgrade of sym_data_event (elong)
  • [Improvement] Notification of monitor event resolution (elong)
  • [Bug] Insert into sym_data replaces current_timestamp string with question mark to allow specified timestamp but fails sometimes (pmarzullo)
  • [Bug] Snowflake module is missing AWS libraries for bulk loading S3 (elong)
  • [Bug] Spaces in sym_trigger fields causes create trigger failure (elong)
  • [Bug] Push initial load in background gets early EOF log message (elong)
  • [Bug] Postgres conflict when unique index uses primary key index (elong)
  • [Bug] DB2 zOS trigger permission check (josh-a-hicks)
  • [Bug] Server can't open truststore after upgrade (elong)
  • [Bug] Sybase Quick Config fails to get schemas when changing catalog selection (pmarzullo)
  • [Bug] Date time values are not selectable in DB2 z/OS due to lpad function. (josh-a-hicks)
  • [Bug] DB2 zOS replace function will not work with CLOBs (josh-a-hicks)
  • [Bug] Windows unable to access log4j2.xml file on command line (elong)
  • [New Feature] DB2 zOS support for loop back prevention (josh-a-hicks)
  • [Bug] MSSQL load only nodes do not support identity inserts (josh-a-hicks)
  • [Improvement] Data loader lookup of meta data on table does not log appropriate error message (josh-a-hicks)
  • [Bug] DB2 zOS uses long varchar instead of clobs (josh-a-hicks)
  • [Improvement] Oracle fails to check compatible v$parameter (elong)
  • [Bug] MultiBatchStagingWriter writes "rn" on Windows for end of lines in child batch staging files (pmarzullo)
  • [Bug] Invalid PK order on send-schema if source db is oracle (elong)
  • [Bug] Using same column twice in sync key names gets error (elong)
  • [Bug] MSSQL Bulk Writer continues to call start and end for the table even during fallback to default (josh-a-hicks)
  • [Improvement] Parameter for create or alter syntax (elong)
  • [Bug] The primary keys are out of order for H2 when returned from Table.java getPrimaryKeyColumns (chenson)
  • [Improvement] DB2 zOS clob columns attempt to drop auto generated rowid on restart (josh-a-hicks)
  • [Bug] Postgres conflict but can't ignore row (elong)
  • [Improvement] Conflict resolver improvements, unique key detection (elong)
  • [Bug] Log4j should not be required. LogSummaryAppenderUtils currently throws a ClassCastException if a log4j2 is not present (josh-a-hicks)
  • [Bug] On SQL-Server can't drop trigger, incorrect syntax (elong)
  • [Improvement] MSSQL ddl table creation support for varbinary(max) (josh-a-hicks)
  • [Improvement] DB2 support for XML data types (josh-a-hicks)
  • [Bug] Column match routers can mark batches unrouted with initial load select set in table reload request only (josh-a-hicks)

New in SymmetricDS 3.12.5 (Nov 9, 2020)

  • [Bug] Hardcoded KeyManagerFactory algorithm (sunX509). Symmetric doesn't work for IBM JRE (pmarzullo)
  • [Improvement] SQL Server supports filtered indexes, need to add support of filtered indexes in ddlutils (pmarzullo)
  • [Bug] Column match routers can mark batches unrouted with initial load select set in table reload request only (josh-a-hicks)
  • [Bug] Restrict pro tables from syncing to invalid versions and open source deployments (josh-a-hicks)
  • [New Feature] SQL Server supports data compression on tables and indexes, add support for this in DDLUtils (pmarzullo)
  • [Bug] Heartbeat job should catch exceptions from heartbeat listeners (pmarzullo)
  • [Bug] Multi-primary out of sync race condition with NEWER_WINS conflicts (elong)
  • [Improvement] Symadmin send-schema should allow specification to not send indices, foreign keys, and column default values (pmarzullo)
  • [Improvement] Upgrade dependent libraries (elong)
  • [Bug] SQL Server bulk loader data conversion with decimal scientific notation (elong)
  • [Bug] SQL-Server bulk loader not allowing create events (elong)
  • [Bug] JMX invalid username or password on Java 11 (elong)
  • [Bug] Postgres Conflict Resolution fails to resolve (pmarzullo)
  • [Bug] SQL Server primary key update should create update event when only one record is updated (pmarzullo)
  • [Improvement] SQL Server trigger creation should use CREATE OR ALTER TRIGGER syntax to eliminate the loss of data capture (pmarzullo)
  • [Bug] dbcompare using only first table on command line (elong)
  • [Improvement] Multi-primary out of sync with initial load on busy system (elong)
  • [Bug] TransportManagerFactory needs to call SelfSignedX509TrustManager constructor with actual trust store used instead of null (pmarzullo)

New in SymmetricDS 3.12.4 (Sep 23, 2020)

  • Master to master setup fails to send initial load if registering with a node other than registration server (josh-a-hicks)
  • Database name with special character like minus sign, fails to create trigger when in same database (pmarzullo)
  • DbCompare does not seem to support schema/database prefixed table names for at least the target node (elong)
  • [dbcompare command] - Generate script wrongly (elong)
  • Dbexport structure and data of tables from the database to tibero format files (pmarzullo)
  • Postgres Varchar column with no defined length getting converted to a LONGVARCHAR (pmarzullo)
  • Suppress first deadlock, FK, or protocol violation error to allow retry (elong)
  • Batch acknowledgement lookup failed data ID only once (elong)
  • Data Extractor gets "java.lang.IllegalStateException: There is no content to read" from staging (elong)
  • Oracle Bulk Loader: quote columns in control file if db.delimited.identifier.mode is set to true (pmarzullo)
  • Documentation: Transform Column Policy has invalid choice (pmarzullo)
  • Initial load time empty at client (elong)
  • Transforms break deletes when transforming primary key column and not capturing old data as specified in trigger (pmarzullo)
  • Stream to file, Illegal State Exception: There is no content to read. Memory buffer was empty (elong)
  • New Group Link should send node info to nodes in source node group ID and to nodes in target node group ID

New in SymmetricDS 3.12.3 (Sep 1, 2020)

  • 0004517: [Bug] Illegal State Exception: There is no content to read. Memory buffer was empty (elong)
  • 0004516: [Bug] Upgrade Jetty (elong)
  • 0004493: [Bug] Transforms start and end table for each row causing poor performance with bulk data loading (elong)
  • 0004506: [Bug] Regression NPE in Oracle, Tibero bulk loader and Hbase, and Mongo data loader factory (elong)
  • 0004504: [Bug] NodeService needs to be more persistent when looking for authenticated nodes (pmarzullo)
  • 0004502: [Bug] RouterService.routeDataForChannel checks incorrect reference for null (pmarzullo)
  • 0004497: [Bug] Load Filter wildcard specification does not work when catalog and table are wildcards, and schema is specified (pmarzullo)
  • 0004496: [Bug] If node registers, immediate pull causes server to indicate that node is not registered (pmarzullo)
  • 0004492: [Bug] MySQL before 5.0.32 does not have drop trigger if exists (elong)
  • 0004485: [Improvement] Log file rotation is reversed (elong)
  • 0004484: [Bug] Log exception stack traces after log file rotates (elong)
  • 0004483: [Bug] Role tables are not filtered for pre-3.9 installations (JJ_Starrett)

New in SymmetricDS 3.12.2 (Jul 20, 2020)

  • 0002861: [New Feature] Client certificate authentication (elong)
  • 0004457: [Improvement] Batch conflict possible when blocking row has self referencing foreign key (elong)
  • 0004458: [Bug] Null pointer exception while extracting batch (elong)
  • 0004459: [Bug] Too many rows sent in reload for table when self-referencing foreign key (elong)
  • 0004460: [Improvement] Ingres Dialect: Documentation (pmarzullo)
  • 0004462: [Bug] Oracle failed to create trigger, identifier is too long (elong)
  • 0004463: [Bug] Invalid node in sym_table_reload_request causes NPE (elong)
  • 0004464: [Bug] Failed to load batch ORA-00932: inconsistent datatypes: expected - got CLOB (elong)
  • 0004465: [Improvement] Missing JDBC driver for 'org.firebirdsql.jdbc.FBDriver'. (elong)
  • 0004467: [Bug] MSSQL text fields are not permitted in where clause (josh-a-hicks)
  • 0004473: [Bug] Convert to modules, module is already installed (elong)
  • 0004474: [Improvement] Web server require or accept client ssl certificate authentication (elong)
  • 0004476: [Bug] Kafka avro module missing, no errors from install (elong)
  • 0004479: [Bug] Confluent jackson modules missing from install (JJ_Starrett)

New in SymmetricDS 3.12.1 (Jun 24, 2020)

  • 0004453: [Improvement] Purge service high CPU for query data range (elong)
  • 0004413: [Bug] MSSQL support for binary types in the primary key (josh-a-hicks)
  • 0004415: [New Feature] Ingres Dialect Implementation (pmarzullo)
  • 0004419: [Bug] HTTP2 Connection response body not closed (elong)
  • 0004420: [Bug] Error "hostnameVerifier parameter specified as non-null is null" (elong)
  • 0004421: [Bug] Primary key ordering based on the sequence of the PK (josh-a-hicks)
  • 0004427: [Bug] Ingres Dialect: Foreign Key DDL Reader issue and System Generated Indexes (pmarzullo)
  • 0004435: [Bug] Kafka key.serializer issue (josh-a-hicks)
  • 0004436: [Bug] Unable to handle unknown csv values: ts (elong)
  • 0004441: [Bug] Kafka module missing during setup of Kafka node. (josh-a-hicks)
  • 0004442: [Bug] Invalid lines in batch with HTTP2 (elong)
  • 0004444: [Improvement] Push job gets error writing request body (elong)
  • 0004445: [Improvement] Log4j2 log entries missing engine name, jar in stack trace (elong)
  • 0004448: [Improvement] Missing JDBC drivers - add "symadmin module convert" to download drivers as modules (elong)
  • 0004449: [Bug] Authentication for JMX and default to localhost only (elong)
  • 0004452: [Bug] Trigger Rebuild: custom_before_insert_text is ignored when rebuilding triggers (JJ_Starrett)

New in SymmetricDS 3.12.0 (May 26, 2020)

  • 0003972: [Bug] Tables become out of sync due incorrect conflict detection (and/or invalid conflict resolution) (elong)
  • 0004167: [Improvement] sym_router table should require router_type value, providing a default value of 'default' (elong)
  • 0004192: [Improvement] Non-unique index on sym_data should be unique (elong)
  • 0004226: [Bug] Table trigger configuration - Sync on Insert/Delete/Update Condition, wrong Sync Condition example (elong)
  • 0004229: [Bug] [Docs] Invalid column name in "Example 2. Sample Group Links" (elong)
  • 0004279: [Improvement] Remove JAR files that are not used as often to download separately (elong)
  • 0004302: [Improvement] Conflict resolution NEWER_TIME based on capture time of row (elong)
  • 0004303: [Improvement] Change default of dataloader.apply.changes.only to true to support better conflict resolution (elong)
  • 0004322: [Improvement] Upgrade to swagger 2, optional swagger-ui as module (elong)
  • 0004324: [Improvement] Upgrade to log4j2 (elong)
  • 0004334: [New Feature] Provide tool to backup and restore configuration that does not reside in the database (pmarzullo)
  • 0004338: [New Feature] Use HTTP/2 for encrypted HTTPS synchronization (elong)
  • 0004351: [Improvement] Change registration to send request parameters as POST instead of GET (elong)
  • 0004352: [Improvement] Sybase dialect should enable row locking and set identity gap (elong)
  • 0004356: [New Feature] Extension points to provide credentials and authorize remote node registration (elong)
  • 0004360: [Improvement] Record node login failures and prevent too many logins (elong)
  • 0004401: [Bug] Oracle ntype characters lost from conversion in capture (elong)
  • 0004402: [Bug] Default the file.sync.fast.scan back to false since it only works reliably on Unix (elong)

New in SymmetricDS 3.11.8 (Apr 21, 2020)

  • [Improvement] Add a parameter that will force SymmetricDS to create nclobs in sym_data on Oracle. (elong)
  • [Improvement] Sync Triggers Should enhance syncing of triggers to not delete trigger if platform supports create or replace syntax (elong)
  • [Bug] Oracle rebuilding triggers can result in changed data not being captured (elong)
  • [Bug] JdbcBatchBulk Make it work for insert conflict resolution to be able to be used on reload channel (josh-a-hicks)
  • [Bug] JdbcBatchBulk Make it work for all conflict resolution (josh-a-hicks)
  • [Improvement] Sybase Enhance trigger definition to include ordering specification (elong)
  • [Improvement] Oracle Version 12.2 supports 128 character names for tables, columns, constraints, and foreign key names (pmarzullo)
  • [Bug] MySQL Drop of transaction function when database upgrade occurs is happening after the create of the database objects (pmarzullo)
  • [Bug] Raima create session variables does not commit/rollback/close transaction (pmarzullo)
  • [Bug] Routing hash collision does not clean up properly (elong)
  • [Improvement] Pass IAlterDatabaseInterceptors through the platform to DDLBuilders (josh-a-hicks)

New in SymmetricDS 3.11.7 (Mar 18, 2020)

  • [Bug] Oracle Bulk Loader: Fails to parse dbUrl parameter when using service names for sqlldr connect string (pmarzullo)
  • [Bug] MySql and MariaDB: Streaming row mode does not call concat() on primary keys for insert and update reload triggers (pmarzullo)
  • [Bug] File sync null pointer exception reading acks (elong)
  • [Bug] Upgrade libraries with known vulnerabilities (elong)
  • [Improvement] Lazy load bouncy castle (elong)
  • [Bug] batchError incorrectly checks create time (elong)
  • [Bug] DataExtractorService: Stream row query with null values does not deal with the null values correctly (pmarzullo)
  • [Improvement] Routing data gap detection option for Postgres to use earliest transaction time (elong)
  • [Bug] MySQL and MariaDB: Streaming row mode does not capture updates correctly (pmarzullo)
  • [Bug] MySQL upgrade gets sym_transaction_id_pre_5_7_6 does not exist (elong)

New in SymmetricDS 3.11.6 (Mar 4, 2020)

  • 0004288: [Bug] Oracle Bulk Loader: Support BLOB, CLOB, and NCLOB with lengths longer than 4000 (pmarzullo)
  • 0004290: [Bug] Oracle bulk loader uses wrong user and password for load-only (elong)
  • 0004292: [Bug] Auto resolve foreign keys not working when source is extract-only database (elong)
  • 0004293: [Bug] Auto resolve fails for delete or update when existing child row references candidate key (elong)
  • 0004294: [Bug] Primary key are dropped and created continuously (chenson)
  • 0004296: [Bug] On MySQL, if some SymmetricDS table columns are uppercase and others are lowercase in the same table you get a null pointer (chenson)

New in SymmetricDS 3.11.5 (Feb 14, 2020)

  • [Improvement] SnapshotFor MySql, add the 'show variables' output (elong)
  • [Improvement] Oracle Bulk LoaderAllow specification of field terminator and line terminator (pmarzullo)
  • [Bug] Adding node to instance without registration server does not have access to all node groups (pmarzullo)
  • [Bug] FormatUtils parseTimestampWithTimezone interprets fractional seconds incorrectly (pmarzullo)
  • [Improvement] Oracle Bulk LoaderAllow specification of input file character set (pmarzullo)
  • [Bug] Multi-master configuration with 3 nodes doesn't work (pmarzullo)
  • [Bug] When max loads reached, new load with initial_load_enabled keeps entering rows into sym_table_reload_request (elong)

New in SymmetricDS 3.11.4 (Jan 23, 2020)

  • [Bug] Jdbc Batch Loader support for MSSQL Identity Inserts and IllegalStateExceptions (josh-a-hicks)
  • [Bug] Custom delete statement during initial load is overridden (elong)
  • [Bug] Oracle trigger creates row data and old data when streaming row (pmarzullo)
  • [Improvement] DbCompare: continue on processing rows when parse of value causes exception (pmarzullo)
  • [Improvement] MailService: Allow the specification of TO, CC, and BCC recipients in the MailService service (pmarzullo)
  • [Bug] Conflict Resolution: Problem with timestamp with time zones as the USE_TIMESTAMP column (pmarzullo)
  • [Improvement] Potential bottleneck from hitting sequence service during routing large number of nodes (elong)
  • [Improvement] Parameter to route incoming changes as non-common batches when using common groups (elong)
  • [Improvement] Kafka driver outputs INFO log message, causing noise in the log (pmarzullo)
  • [Improvement] Upgrade of sym_data_event is slow (elong)
  • [Improvement] Java 9 and newer class not found javax.xml.bind.DatatypeConverter (elong)
  • [Improvement] Data gap detector should use batch mode to insert and delete sym_data_gap (elong)
  • [Improvement] Recreate keystore if missing (elong)
  • [Bug] getTruncateSql() should use getDeleteSql() when dialect does not support truncate (pmarzullo)

New in SymmetricDS 3.11.3 (Jan 2, 2020)

  • [Bug] Startup fails on Interbase trying to insert sym_monitor bec "type" is reserved word (elong)
  • [Bug] In the documentation of lookup transform it says a column name can be accessed by MY_COLUMN (elong)
  • [Bug] NPE loading batch with JdbcBatchBulkDatabaseWriter data loader "bulk" (elong)
  • [Bug] Oracle Decimal precision can contain 40 digits after the decimal but sync only sends 39 (elong)
  • [Improvement] Efficient logging of trigger hist and trigger router problems (elong)
  • [Improvement] Disable initial load in background if max batch size is 1 (elong)
  • [Bug] ArrayIndexOutOfBoundsException getPkDataFor while loading batch (elong)
  • [Bug] MSSQL JDBC 7.4 with Azure causing NullPointerException while reading tables (elong)
  • [Bug] Resolve foreign key violation can pick up table from wrong catalog or schema (elong)
  • [Improvement] Prevent hash collision when routing common batch groups (elong)
  • [Improvement] Routing should use transaction and batch mode to insert multiple sym_outgoing_batch rows (elong)
  • [Bug] DB2 delete statement should not specify "reuse storage immediate" (pmarzullo)
  • [Bug] DB2 truncate before table load needs to commit early in order for truncate to work (pmarzullo)

New in SymmetricDS 3.11.2 (Dec 9, 2019)

  • [Bug] When conflict detection column is null receive NPE (elong)
  • [Bug] Rollback the removal of the Ping Back Enabled functionality on the trigger router (pmarzullo)
  • [Bug] Incorrect resolver behavior: Failed to find and delete the blocking row (elong)
  • [Improvement] Node communication query for unsent batches not using index on Oracle (elong)
  • [Improvement] Initial load queue and router service blocking each other (elong)

New in SymmetricDS 3.11.1 (Dec 3, 2019)

  • 0004162: [Bug] Routing unique key violation sym_data_event (elong)
  • 0004163: [Bug] MySQL ignore zeroDateTimeBehavior=convertToNull if server is set to NO_ZERO_DATE (elong)
  • 0004166: [Bug] Purge not working when using prefix on sym tables. (elong)
  • 0004173: [Bug] In a sql code example the number of columns doesn't match the number of values (elong)
  • 0004174: [Bug] Initial load in background contention with routing (elong)

New in SymmetricDS 3.11.0 (Nov 15, 2019)

  • Enhanced performance of routing and purging, extract-only nodes, improved security of node authentication, and support for SAP HANA:
  • 0002979: [New Feature] Support SAP HANA as target for replication (josh-a-hicks)
  • 0004079: [Improvement] Refresh lock for purge service (elong)
  • 0004094: [New Feature] Routing common batch mode for groups of nodes (elong)
  • 0004095: [Improvement] Unrouted count should check current sequence instead of running max(data_id) (elong)
  • 0004096: [Improvement] Change routing parameter default to always query with gaps (elong)
  • 0004099: [Improvement] Move default location of H2 and Derby database files to <SYM_HOME>/db instead of <SYM_HOME>/tmp (pmarzullo)
  • 0004103: [Improvement] Drop router_id column from sym_data_event to improve size and performance (elong)
  • 0002864: [Improvement] Raise an error if an MSSQL Update fails to get captured (pmarzullo)
  • 0003901: [Bug] MSSQL: Updating multiple rows in source table results in reversed rows in destination table (pmarzullo)
  • 0004097: [New Feature] Router convertToReload that converts multiple changes into a reload batch (elong)
  • 0004041: [New Feature] Extract only nodes (josh-a-hicks)
  • 0004093: [New Feature] Queue initial load in its own job (elong)
  • 0004105: [Improvement] Snapshot: use log file names from log4j configuration to filter files to include in snapshot (pmarzullo)
  • 0004113: [Bug] Postgres Time column type can't be converted to Timestamp column type without a cast when restoring the data (pmarzullo)
  • 0004119: [New Feature] Security token in header and session authentication (elong)
  • 0004120: [Improvement] Common batch staging with sub-directories (elong)
  • 0004140: [Bug] Purge job performance with offline nodes (elong)
  • 0004143: [Improvement] Remove ping back enabled from trigger router (elong)

New in SymmetricDS 3.10.6 (Nov 15, 2019)

  • [Bug] SYM tables (sym_trigger, etc) won't create on Interbase bec they exceed 64KB max row size (pmarzullo)
  • [Bug] sym-admin push and pull options do not return when run (elong)

New in SymmetricDS 3.10.5 (Nov 1, 2019)

  • [Improvement] In PostgreSQL trigger function should be SECURITY DEFINER (elong)
  • [Improvement] Truncate host name to fit into 60 char database limit (elong)
  • [Improvement] Logging of data gaps in router service can use too much memory (elong)
  • [Improvement] Optimize network usage on pull by closing connection as soon as batches are transferred (elong)
  • [Bug] Failed to delete blocking row (elong)
  • [Bug] Batch staging manager does not purge old .create files (elong)
  • [Improvement] Snapshot: use log file names from log4j configuration to filter files to include in snapshot (pmarzullo)
  • [Improvement] Improve performance of purge stranded data (elong)
  • [Bug] Postgres Time column type can't be converted to Timestamp column type without a cast when restoring the data (pmarzullo)
  • [Bug] MySQL zero date to null works on initial load but not change capture (elong)
  • [Bug] Bulk loading performance into Postgres degraded in 3.10 (elong)
  • [Bug] Sym file snapshot batch sent as part of initial load (josh-a-hicks)
  • [Improvement] DBFill support for auto increment columns (josh-a-hicks)
  • [Bug] DB2 AS400 dialect is mis-identified as Generic (elong)
  • [Bug] Extraction of double byte characters from sym_data exceeding a size of 4000 will fail and not fall back (josh-a-hicks)
  • [Improvement] Upgrade redshift driver (elong)
  • [Bug] Server node with at least one offline client does not update its heartbeat (elong)
  • [Improvement] Excluded columns that are part of an index but the index remains in table object (elong)
  • [New Feature] Add a IClientReloadListener to add a hook for reloads on the client (elong)
  • [Improvement] Processed count job stats for purge and staging clean (elong)
  • [Improvement] Add data_event_type variable to subselect router (elong)
  • [Bug] DB2 AS400 error trying to remove a column (elong)
  • [Bug] Oracle character set problem with "value too large for column" (elong)
  • 0004137: [Bug] Initial load table with 0 rows doesn't close off all estimated batches (pmarzullo)
  • [Bug] LOBs that have values too large to store in a java array will crash the SymmetricDS JVM (josh-a-hicks)

New in SymmetricDS 3.10.4 (Aug 26, 2019)

  • [Bug] Unable to use SymmetricDS service in Ubuntu 18.04 / bionic beaver (Systemd in general) (pmarzullo)
  • [Bug] Delete or truncate should quote table name and include catalog/schema (JJ_Starrett)
  • [Bug] Duplicate Registration Requests when IP-Address of client changes (elong)
  • [Bug] Ignoring a batch in RQ status with an extract error can cause replication to stop
  • [Bug] CAST Error on auto.resolve.foreign.key.violation=true (JJ_Starrett)
  • [Bug] Row.getDate(String value, String[] pattern) not parsing String representations of Timestamp correctly (pmarzullo)
  • [Bug] Registration server gets "Removing identity because registration is required" (elong)
  • [Improvement] Oracle Numeric types used to return DECIMAL, but now returns NUMERIC with new driver (pmarzullo)
  • [Bug] failed to sync when Oracle column which datatype is char changes it's value to chinese characters (elong)
  • [Bug] Install using open jdk 11 fails on creation of service (pmarzullo)
  • [Improvement] Upgrade the embedded Jetty to newest version (elong)
  • [Bug] Firebird 3 gets wrong dialect, errors on sym_escape (elong)
  • [Improvement] Potential bottleneck from thread locking during initial load with multiple clients (elong)
  • [Bug] Load Data request with multiple nodes and "create table" option fails to create foreign key batches for all but one node (elong)
  • [Improvement] Potential bottleneck from flushing cache while processing extract requests (elong)
  • [New Feature] Allow dbsql to use list of sql statements from file (pmarzullo)
  • [Bug] H2 databaseCapture of milliseconds on a date are incorrect (elong)
  • [Bug] WrapperService needs to make sure server process exits before looking at childValue() (pmarzullo)
  • [Improvement] LookupTableRouter should use initial load select when provided on the trigger router (josh-a-hicks)
  • [Improvement] MacSupport Mac services for running SymmetricDS (pmarzullo)
  • [Bug] SQL Server table creation for varbinary(max) (josh-a-hicks)
  • [Improvement] Allow zero date on MySQL or convert to null otherwise (3.10) (elong)
  • [Improvement] Potential bottleneck from counting commas in rows of initial load (elong)
  • [Improvement] SQL Server tests failing because of out of date tests (pmarzullo)
  • [Improvement] Added method to retrieve active load status only (josh-a-hicks)
  • [Improvement] Potential bottleneck from checking exists() on staging files (elong)
  • [Bug] External ID unique parameter not working (elong)
  • [Bug] Multiple nodes initial load with wildcards sending table twice and missing table (elong)
  • [Bug] During upgrade, remove triggers for symmetric tables that changed, then add them back before doing any possible DML statements (pmarzullo)
  • [Bug] Get estimated row counts for initial load for SQL Server 2008 needs to use delimiter quoting if turned on (pmarzullo)

New in SymmetricDS 3.9.21 (Jun 26, 2019)

  • [Improvement] Add table_name variable to subselect router (elong)
  • [Bug] Configuration service contains missing sql statement (josh-a-hicks)
  • [Bug] documentation for Transforms - incorrect query for SYM_TRANSFORM_TABLE (elong)
  • [Improvement] Add simple request/response logging filter for HTTP troubleshooting (mmichalek)
  • [Bug] Excessive logging generated by ChannelRouterContext.logStats (3.9) (mmichalek)
  • [Bug] BIT from SQLServer comes in as Integer, Postgres needs value converted to String (VARCHAR) to handle it correctly (3.9) (pmarzullo)
  • [Bug] Firebird mis-identified as DB2 (elong)

New in SymmetricDS 3.10.3 (Jun 26, 2019)

  • [Bug] Putting in non-numeric string for numeric parameters causes error (jaredfrees)
  • [Bug] Update and delete does not sync on tables with varbinary primary key (josh-a-hicks)
  • [Bug] Add varbinary support for H2 (elong)
  • [Bug] Firebird 2.5 trying to recreate existing tables (metadata problem with Jaybird 3.x driver) (elong)
  • [Bug] When Primary key is binary; SymmetricDS fails capture changes. (josh-a-hicks)
  • [Improvement] DBExport Should Allow Excluding Specific Columns From the Export (jaredfrees)
  • [Bug] MSSQL Server to allow varbinary and binary in the where clause (updates and deletes) (josh-a-hicks)
  • [Bug] Too many threads, crashing server (elong)
  • [Bug] Running DS as a Windows Service in a folder path that contains whitespace causes error (jaredfrees)
  • [Bug] Initial load batches are not purging immediately on incoming side (elong)
  • [Improvement] Make snapshot name configurable (jaredfrees)
  • [Bug] SqlAnywhere dialect crashes when DB name has special char (jaredfrees)
  • [Bug] "Failed to executeCREATE TABLE" in PostgreSQL 9.6 (BIT data type with default) (pmarzullo)
  • [Bug] SymmetricDS fails to create SQLITE3 tables on initial load if table name conflicts with reserved SQL keywords. (jaredfrees)
  • [Improvement] In the snapshot, include sym_data records for batches that are in ERROR (jaredfrees)
  • [Bug] Stream LOB fails (NullPointerException) when row is missing during extraction (elong)
  • [Bug] SQLAnywhere will not create engine when database name contains hyphen (jaredfrees)
  • [Bug] Exception when dashboard refreshes node status panel (pmarzullo)
  • [Bug] MSSQL ddl reader fails if user does not have access to a catalog (josh-a-hicks)
  • [Bug] SymmetricDS doesn't respect the sticky session setting for AWS ELB ALB which can result in resending logging when under stress (elong)
  • [Bug] Table name with comma won't sync (elong)
  • [Improvement] Java versions 11 and 12 should work with SymmetricDS (pmarzullo)
  • [Bug] Create-Table batches resulting from a Load Data "Create Table" aren't being marked with a load id (elong)
  • [Bug] DbExport CSV file should escape quote characters with double quotes (jaredfrees)
  • [Bug] MySQL table creation failed for ENUM during initial load (elong)
  • [Improvement] Improve logging for conflict resolution (elong)
  • [Bug] dbcompare use-sym-config ignore table name argument (jaredfrees)
  • [Bug] dbcompare null pointers with basic setup with two source tables to a target with no transforms (jaredfrees)
  • [Bug] Table name with special characters won't sync (elong)
  • [Bug] DBCompare does not use catalog/schema properly on MySQL (mmichalek)
  • [Bug] Post-create batches for a Load Data operation are not created in the case where wildcards are involved. (elong)
  • [Improvement] Lack of -s option in symadmin help send-schema (elong)
  • [Bug] User table creation fails when table exists in another user's schema (elong)
  • [Bug] Skipping a batch that contains a CREATE event gets a NullPointerException (elong)
  • [Improvement] Allow file router to include transaction ID (jaredfrees)
  • [Bug] On every startup with MariaDB, alters to SYM tables (elong)
  • [Bug] Possible race conditions in parameters, MongoDB, and initializing nodes (jaredfrees)

New in SymmetricDS 3.10.2 (May 8, 2019)

  • [Bug] Derby - clob - primary key (date) (elong)
  • [Improvement] While using initial load and reverse initial load flags on node_security also create a table_reload_request (josh-a-hicks)
  • [Bug] Redundant condition in AbstractParameterService.getString (elong)
  • [Improvement] When load configured to clear table first, it should clear table again when restarting load (josh-a-hicks)
  • [Bug] Error "database is locked" on SQLite during initial load (elong)
  • [Bug] Stopping the engine on the main node via REST stops the whole system (elong)
  • [Bug] Routing fails when data data gaps exceed routing.max.gaps.to.qualify.in.sql $(selectDataUsingStartDataIdHint) (3.10) (mmichalek)
  • [Improvement] Improve logging of offline scenarios (3.10) (mmichalek)

New in SymmetricDS 3.9.20 (May 2, 2019)

  • [Bug] Routing fails when data data gaps exceed routing.max.gaps.to.qualify.in.sql $(selectDataUsingStartDataIdHint) (mmichalek)
  • [Improvement] Improve logging of offline scenarios (mmichalek)

New in SymmetricDS 3.10.1 (Apr 23, 2019)

  • [Improvement] Update PostgreSQL jdbc driver to 42.2.5 (elong)
  • [Bug] Using Postgresql 9.6.6 as a Source DB Fails SymmetricDS Upgrade to 3.9.2 due to old postgresql jdbc driver (elong)
  • [Improvement] Compare Url's case insensitive (elong)
  • [Bug] Tables created with VARCHAR instead of DATE (SQL-Server as source) (elong)
  • [Bug] When changing just a LOB field on SQL Server, the change is not captured by the trigger (fixed on 0003899 in version 3.9.19) (pmarzullo)
  • [Bug] Dashboard refresh data uses Vaadin UI component without locking (also fixed by 0003903 in 3.9.19) (pmarzullo)
  • [Bug] MSSQL: table sym_extract_request not found. (elong)
  • [New Feature] HBase support as a load only node (josh-a-hicks)
  • [Improvement] MongoDB support for shared clusters (josh-a-hicks)
  • [New Feature] LDAP Base DN specification should be able to provide more than one LDAP tree for searching (fixed in 3.8 using 0003910) (pmarzullo)
  • [Bug] Symmetric service fails to start on windows 10 due to conflicting slf4j versions (mmichalek)
  • [Improvement] Parameter to disable recursive querying of each level in table with self-referencing foreign key (elong)
  • [Bug] Two pass LOB on Oracle should avoid binary variable types (elong)

New in SymmetricDS 3.10.0 (Mar 14, 2019)

  • [Improvement] Default the file.sync.fast.scan to true (elong)
  • [Bug] Create Table maps a column originally created as an ENUM('y','n') to a Enum(2) (pmarzullo)
  • [New Feature] Feature which allows one to exclude the Indexes getting replicated from server to clients (elong)
  • [Bug] Create table statement syntax error for tinyblob field (pmarzullo)
  • [Bug] start.refresh.cache.job=true leads to errors in cache refresh job - "query error" with query = 'null' (pmarzullo)
  • [Improvement] Symadmin should have an option to unregister a node (pmarzullo)
  • [Bug] Create Table First is creating table with all columns as primary key instead of none (josh-a-hicks)
  • [Bug] Table creation Error while initial Load into oracle DB (initial.load.create.first=true) when using Default value SYS_GUID() (pmarzullo)
  • [Improvement] Initial load use estimated counts (elong)
  • [Bug] HSQLDB type OTHER support (pmarzullo)
  • [Bug] dbcompare: unclear error for duplicate table names in source tables argument (pmarzullo)
  • [Bug] Wildcard does not work when there is no wildcard at the beginning or the end of the text (pmarzullo)
  • [Bug] Batch was not complete (elong)
  • [New Feature] PostgreSQL 9.5 and newer can use "insert on conflict do nothing" for better performance (elong)
  • [Improvement] Change authentication failed from 403 to 659 (elong)
  • [Improvement] Stream LOB uses multiple queries per row when a table has multiple LOB columns (elong)
  • [Improvement] Remove deprecated and unused columns in SYM tables (elong)
  • [Improvement] More aggressive purge settings (elong)
  • [Improvement] Improve visibility of full and partial loads (josh-a-hicks)
  • [Improvement] Data extract and routing fallback to contains_big_lob (elong)
  • [Improvement] Faster two-pass initial load for tables with LOB on Oracle (elong)
  • [Improvement] Initial load large character (varchar 4000) columns and stay under SQL limit (elong)
  • [Improvement] Better handling of low disk space (elong)
  • [New Feature] Ability to ignore incoming error (josh-a-hicks)
  • [Improvement] Additional metrics on table_reload_request and extract_request to support loads (josh-a-hicks)
  • [Improvement] Oracle bulk loader using SQL*Loader sqlldr (elong)
  • [Improvement] Tibero bulk loader using tbLoader (elong)
  • [Improvement] Improve performance and accuracy of DDL retrieval of Oracle Indexes (3.10) (mmichalek)
  • [Bug] Fix DDL creation of ROWID column for Oracle (3.10) (mmichalek)
  • [Improvement] Ability to resolve a row in error on the incoming side and provide resolve data (josh-a-hicks)
  • [Improvement] Trigger capture with fallback to slower use_capture_lob/contains_big_lob (Oracle) (elong)
  • [Improvement] Immediately purge stage files for large loads (elong)
  • [New Feature] Enhance fallback to handle duplicate key and foreign key errors (elong)
  • [Improvement] Upgrade of reload channels max batch size to be 10000 (josh-a-hicks)
  • [Improvement] Defer indexes and foreign key constraints for table creation until after initial load (elong)
  • [Improvement] NodeService.findNode(...) (cached versus non-cached), where to use correct one (pmarzullo)
  • [Improvement] Initial load share extract requests for multiple nodes (elong)
  • [Bug] DbFill cascade and select handle composite and self-referencing foreign key (elong)
  • [Improvement] Improve logging readability and appropriate levels (elong)
  • [New Feature] Support for oracle select hints to run parallel processes during initial load extraction (josh-a-hicks)
  • [Improvement] Increase default of max data to route (elong)
  • [Improvement] Keep alive for slow acknowledgement (elong)
  • [Bug] The 'audit' router should not write rows to the audit table during a load (3.10) (mmichalek)
  • [Bug] MySQL Bulk loader support for BIT data types (josh-a-hicks)
  • [Improvement] Allow manual routing (pre-routing) of batches (elong)
  • [Bug] Registration stuck in "open" even though data still syncing over push link (elong)
  • [Bug] Lost heartbeat when using more than two node groups (elong)
  • [Improvement] Oracle LONG error when creating trigger (elong)
  • [Improvement] Routing run immediately when channel is full (elong)
  • [Improvement] Initial load foreign key error auto resolve (elong)

New in SymmetricDS 3.9.18 (Mar 1, 2019)

  • The 'audit' router should not write rows to the audit table during a load (3.9) (mmichalek)
  • [Bug] MSSQL Bulk loader creates excessive logging when max batch size for the load is greater than max rows to flush (josh-a-hicks)

New in SymmetricDS 3.9.17 (Feb 12, 2019)

  • [Improvement] initial load create: Cascade Delete rule is not syncing as part of the create DDL (pmarzullo)
  • [Bug] System tables should be ignored on MssqlDdlReader (elong)
  • [Bug] Documentation fix: Monitor Events sync on the monitor channel, not the heartbeat channel (elong)
  • [Improvement] Documentation for monitor.events.capture.enabled parameter is vague (elong)
  • [Bug] On startup with Postgres 10, always alters sym_sequence (elong)
  • [Bug] Postgres error column type tsvector but expression is of type character varying (elong)
  • [Bug] Startup on Postgres no relation for gp_id (elong)
  • [Improvement] Initial load use estimated counts (elong)
  • [Bug] Oracle bulk loader issue with a load only target node (josh-a-hicks)
  • [Bug] Table reload request by channel will be treated as a full load and mark all outgoing batches as OK (josh-a-hicks)
  • [Improvement] Oracle raw data type faster load extraction (josh-a-hicks)
  • [Bug] job.purge.first.pass=true does not work on firebird (pmarzullo)
  • [Bug] MSSQL Server datetime2 does not capture null values (josh-a-hicks)
  • [Bug] MSSQL Server datetimeoffset data type not converting to UTC and losing time zone (josh-a-hicks)

New in SymmetricDS 3.9.16 (Dec 28, 2018)

  • [Improvement] MSSQL Support for datetime2 values that are before January 1, 1753 (josh-a-hicks)
  • [Bug] Multiple table reloads are put into single batch (elong)
  • [Bug] NullPointerException when batch in error trying to log SQL details (elong)
  • [Bug] When a database is offline, some symmetricds jobs can stop processing if the parameter cache times out and a job runs. (chenson)
  • [Bug] Windows service installation will not work if the directory contains spaces (along)
  • [Bug] Allow a trigger router to be considered for common batches that sync in one direction even though ... (chenson)
  • [Bug] Symmetric startup is very slow when there are lots of staging files on a SAN (3.9) (mmichalek)
  • [Improvement] Allow override of Symmetric web home (which defaults to '/') (3.9) (mmichalek)
  • [Bug] Router exception can expire gaps that contain data (3.9) (elong)
  • [Bug] DBExport Option for no-foreign-keys not working with XML format (elong)
  • [Bug] Create tables with a source foreign key in a non default catalog and/or schema to a target with default catalog/schema (josh-a-hicks)
  • [Bug] Newer versions of H2 try to alter decimal scale every time because NUMERIC_SCALE is 0. DECIMAL_DIGITS should be used instead (chenson)
  • [Bug] DB2 timestamp columns do not pad year if less than 4 chars (josh-a-hicks)
  • [Improvement] Improve performance and accuracy of DDL retrieval of Oracle Indexes (mmichalek)

New in SymmetricDS 3.8.41 (Nov 29, 2018)

  • [Bug] Auto resolve foreign key can fail when primary keys are not first in table definition (elong)
  • [Improvement] Fix logging of servicing pull requests (elong)
  • [Improvement] XMLType support for Oracle (josh-a-hicks)
  • [Improvement] Allow override of Symmetric web home (which defaults to '/') (mmichalek)
  • [Bug] Symmetric startup is very slow when there are lots of staging files on a SAN (mmichalek)

New in SymmetricDS 3.9.15 (Nov 1, 2018)

  • [Bug] Android SQLite Register NullPointerException (maxwellpettit)
  • [Bug] SLF4J warnings using symadmin (chenson)
  • [Task] The spring core library has a vulnerability. (mmichalek)
  • [Task] The jackson databind library has a vulnerability. (mmichalek)
  • [Bug] Registration gets lost during the registration when File Sync is enabled (mmichalek)
  • [Bug] Monitoring of Heap space memory percent is not firing as expected (mmichalek)
  • [Bug] Table reload request for a table with a foreign to itself and a data row where the row fk is to itself doesn't load any data (josh-a-hicks)
  • [Bug] MySQL documentation needs updated to reflect need to grant the PROCESS priv for transaction id (josh-a-hicks)
  • [Bug] Improper variable replacement for ${sourceNodeId} was being replaced with the group name instead of nodeID (josh-a-hicks)
  • [Bug] Log "Unable to resolve foreign keys" only on full initial load (elong)
  • [Improvement] Symmetric should log full SQL Statement when conflict resolution SQL fails (mmichalek)
  • [Improvement] Log dynamic SQL when logging SQL data load exception (mmichalek)
  • [Bug] Create tables fails if there is a foreign key with multiple referenced columns (josh-a-hicks)
  • [Bug] Stream rows feature in oracle would fail to build insert template (josh-a-hicks)
  • [Bug] Oracle support for ROWID (josh-a-hicks)
  • [Bug] Loading of Oracle Geography/Geometry Type fails when SRID is explicit on the source column (mmichalek)
  • [Bug] If Sym_table_reload_request's router_id is invalid, a full table load occurs (any 'where' clause is ignored) (mmichalek)
  • [Bug] Starting service gets NumberFormatException (elong)
  • [Improvement] Kafka performance improvements (josh-a-hicks)
  • [Bug] On SQL Server 2016 all datetime2 columns are altered on every restart (chenson)
  • [Bug] Cannot inactive table for sync when one of triggers is missing (elong)
  • [Bug] With wildcards, rebuilding specific table trigger can result in multiple active triggers (elong)
  • [Task] Update gradle to support building with Java 11 (mmichalek)

New in SymmetricDS 3.9.14 (Oct 4, 2018)

  • [Improvement] Support row-by-row stream lob for DB2 (elong)
  • [Bug] Individual Table reloads should not clear a node's incoming batches (mmichalek)
  • [Bug] MSSQL 2008 Create table DDL for TIME data type incorrect when coming from a different source database (josh-a-hicks)
  • [Improvement] Batch in error on a reload channel by default blocks all other channels. Should not block config channel though. (josh-a-hicks)
  • [Improvement] Logging for authorization denied (elong)
  • [Bug] Raima dialect support for obtaining last inserted id (josh-a-hicks)
  • [Bug] Extract request should record last update time (elong)
  • [Bug] Gaps taking longer to expire and using slower method of querying sym_data (elong)
  • [Improvement] Purge stranded batches can get deadlock or timeout when outgoing_batches is large (elong)
  • [Bug] 3 Tier registration issue when trigger create before initial load is false. (josh-a-hicks)
  • [Bug] File sync extract batches sometimes show incorrect row counts (mmichalek)
  • [Bug] MSSQL bulk loader fails when truncate table is used as part of the load with a different target database and schema (josh-a-hicks)
  • [Improvement] Raima dialect rebuilds triggers with each restart (josh-a-hicks)
  • [Bug] Stream row with large number of columns on DB2 (elong)
  • [Bug] Extract row count statistics double when staging is cleared (elong)
  • [New Feature] Jdbc Batch bulk data loader (josh-a-hicks)

New in SymmetricDS 3.9.13 (Aug 31, 2018)

  • [Improvement] XMLType support for Oracle (josh-a-hicks)
  • [Improvement] Table xml contains FK source catalog and schema even if same as default (josh-a-hicks)
  • [Improvement] Purge stranded data and batches after channel is deleted (elong)
  • [Bug] Excluded columns that are part of a foreign key the foreign key remains in table object (josh-a-hicks)
  • [Bug] Load Filter Beanshell variables are not properly scoped (mmichalek)
  • [Improvement] Add cached data gaps to snapshot (elong)

New in SymmetricDS 3.9.12 (Aug 21, 2018)

  • Auto resolve foreign key can fail when primary keys are not first in table definition (elong)
  • [Bug] Registration sometimes throws java.lang.InterruptedException (chenson)
  • [Bug] Interrupted Registration results in node which cannot start because of mismatching instance.uuid (mmichalek)

New in SymmetricDS 3.9.11 (Aug 14, 2018)

  • [New Feature] Kafka support in conjunction with a Confluent registry (josh-a-hicks)
  • [Bug] DB2 9.5 on Linux doesn't support to_clob (elong)
  • [Improvement] Bulk loads should not log errors while falling back to default loader (josh-a-hicks)
  • [Bug] If a table doesn't exist, but it has a sym_trigger_hist row and a sym_table_reload_request, it gets a nullpointerexception (chenson)
  • [Bug] RouterService logging too much (mmichalek)

New in SymmetricDS 3.9.10 (Aug 4, 2018)

  • Routing log messages can be excessively long (3.9) (mmichalek)

New in SymmetricDS 3.8.39 (Aug 1, 2018)

  • [Bug] Oracle RAC using sequence noorder can expire last gaps

New in SymmetricDS 3.8.38 (Jul 26, 2018)

  • [Bug] Auto resolve foreign key can fail on Oracle RAC in noorder mode

New in SymmetricDS 3.8.37 (Jul 24, 2018)

  • [Bug] Add better logging and handling for intermittent "Had trouble renaming file" message in the log (mmichalek)
  • [Improvement] Oracle sequence noorder does not need extra index (elong)

New in SymmetricDS 3.9.9 (Jun 22, 2018)

  • 0003595: [Improvement] DBFill improvements for JSONB in Postgres and not filling sym tables (josh-a-hicks)
  • 0003598: [Improvement] Order rows in initial load for table with self-referencing foreign key (elong)
  • 0003599: [Improvement] Read instance.uuid one time for server instance (elong)
  • 0003603: [New Feature] Deleted columns list transform (elong)
  • 0003605: [Improvement] Transforms should return an old value for delete and new value for insert and updates (elong)
  • 0003606: [Improvement] H2 lost data from restart or power failure (elong)
  • 0003609: [New Feature] Kafka support as a load only node (josh-a-hicks)

New in SymmetricDS 3.9.8 (Jun 6, 2018)

  • 0003581: [New Feature] Cassandra support as a load only node (josh-a-hicks)
  • 0003312: [Bug] Compare tablename case insensitiv on SQLite on trigger creation (mmichalek)
  • 0003504: [Improvement] SyncTrigger slow due to synchronized this.getClass() on AbstractDatabasePlatform.getTableFromCache (mmichalek)
  • 0003541: [Improvement] Caches should be cleared on a server restart (mmichalek)
  • 0003544: [Improvement] Not all unique sqlite error message are respected on unique error detection (mmichalek)
  • 0003547: [Improvement] Improve Sqlite DdlBuilder support
  • 0003557: [New Feature] MSSQL support for datetimeoffset data types. (josh-a-hicks)
  • 0003559: [Improvement] Log expiration of data gaps at info level (mmichalek)
  • 0003565: [Improvement] Add a new staging.dir parameter that controls the location of the staging area. (chenson)
  • 0003572: [Improvement] Improve SymmetricDS acknowledgement logging (mmichalek)
  • 0003573: [New Feature] TopSpeed (TPS) Router (josh-a-hicks)
  • 0003574: [Improvement] Improved logging for data truncation issues in Postgres (josh-a-hicks)
  • 0003580: [Improvement] Treat misconfiguration more serious: initial.load.use.extract.job.enabled=true and stream.to.file.enabled=false (mmichalek)
  • 0003583: [Bug] Windows service installer missing config files (elong)
  • 0003584: [Bug] Update BSH variables documentation (elong)
  • 0003585: [Improvement] Default BSH column transform to return old value for deletes (elong)
  • 0003586: [Improvement] Noorder sequence for performance on Oracle RAC (elong)
  • 0003588: [Bug] Configuring a custom job with a cron schedule may result in exceptions in the log and the custom job failing to start (mmichalek)
  • 0003589: [Improvement] Initial load extract job should check file.sync.enabled parameter (elong)
  • 0003590: [Bug] If routing is backed up and a restart happens gaps with data can be expired causing missing data (chenson)

New in SymmetricDS 3.9.7 (May 9, 2018)

  • 0003315: [Bug] Cache hash collision in ColumnsAccordingToTriggerHistory (mmichalek)
  • 0003327: [Improvement] Support SQL Server geography type (mmichalek)
  • 0003363: [Bug] A file reload is produced if an unrelated table reload is requested (mmichalek)
  • 0003509: [Improvement] Postgres support for DDL table creation of JSONB data types (josh-a-hicks)
  • 0003510: [Bug] Service wrapper hanging on start on Windows 2003 server (elong)
  • 0003514: [Improvement] Improve purge performance of sym_data and sym_data_event (elong)
  • 0003515: [Bug] Null pointer in AddForeignKeyChange (josh-a-hicks)
  • 0003516: [Improvement] Support for DDL creation of a Postgres table with a JSONB data type (josh-a-hicks)
  • 0003518: [Bug] Cross database foreign key support during table creation (josh-a-hicks)
  • 0003524: [Improvement] Indicate when the JVM has optimized a stack in the log (mmichalek)
  • 0003525: [Improvement] Service wrapper: remove reliance on SYM_HOME environment variable (elong)
  • 0003531: [Improvement] Add parameter right.trim.char.values to always right trim CHAR fields
  • 0003536: [Improvement] Documentation clarification/warning about clearing staging (josh-a-hicks)
  • 0003538: [Bug] Batch left in status resend (RS) is never loaded on target and marked okay (OK) on source (elong)
  • 0003542: [Bug] Somestimes jobs are loaded and executed on not assigned node groups
  • 0003549: [Improvement] Add log files to snapshot as last operation (elong)
  • 0003550: [Improvement] Timeouts on routing query and purge service (elong)
  • 0003552: [Bug] Snapshot creations fails due to missing table sym_console_event on community edition
  • 0003553: [Bug] NPE in SnapshotUtil due to returning null on getImplementationTitle()

New in SymmetricDS 3.9.6 (Mar 29, 2018)

  • [Bug] Add initial.load.transport.max.bytes.to.sync parameter. transport.max.bytes.to.sync not respected in 3.9 during loads/reload (mmichalek)
  • [Bug] Data Capture Can't Handle Large XMLTYPE Values (josh-a-hicks)
  • [Bug] Executing ISqlTemplate.update() with multiple statements swallows errors (mmichalek)
  • [Bug] Postgres create table with Boolean default value needs to wrap with quotes (josh-a-hicks)
  • [Bug] Multiple channels in error, should sort batches order by oldest first (elong)
  • [Bug] Incoming staging files can be purged by the staging manager before they are processed (gwilmer)
  • [Bug] Batches with status of RS (resend) are flagged as In Error. (gwilmer)
  • [Improvement] Tibero date type columns will not be mapped as timestamp during dml statements (josh-a-hicks)
  • [Bug] Service wrapper not finding process name correctly on Windows 10 (elong)
  • [Improvement] Increase the default values of transport.max.bytes.to.sync and initial.load.transport.max.bytes.to.sync parameters (mmichalek)
  • [Bug] Create/Alter table with a foreign key that crosses catalog or schema (josh-a-hicks)

New in SymmetricDS 3.9.5 (Mar 12, 2018)

  • 0003484: [Improvement] MySQL tinyint columns can be sent as boolean columns through DDL statements (josh-a-hicks)
  • 0003481: [Bug] Postgres create tables with an auto increment column create sequence without respect to schema (josh-a-hicks)
  • 0003441: [Improvement] Update the PostgreSQL JDBC driver. (kstojanovska)
  • 0003464: [Improvement] RemoteNodeStatuses actively waits for completeness (mmichalek)
  • 0003478: [Bug] Sync triggers in MySQL will fail if there is an active trigger history record but the table was removed manually (josh-a-hicks)
  • 0003462: [Improvement] Adjust default parameter value for dataloader.apply.changes.only (josh-a-hicks)
  • 0003465: [Bug] DBFill support for JSON types (josh-a-hicks)
  • 0003466: [Improvement] Upgrade MySQL driver (josh-a-hicks)
  • 0003467: [Bug] DataService insertReloadEvent(TableReloadRequest request, boolean deleteAtClient) fails to route without a channelID (josh-a-hicks)
  • 0003468: [Bug] MySQL does not properly retrieve SYM triggers if they are in a different catalog than the connection catalog (josh-a-hicks)
  • 0003471: [Bug] Transport manager factory not using proper parameter (josh-a-hicks)
  • 0003474: [Bug] java.lang.AbstractMethodError: java/sql/PreparedStatement.setNString (elong)
  • 0003463: [Bug] SyncTrigger via REST call does not return errorcode if trigger creation fails (mmichalek)
  • 0003470: [Bug] Table reload request for specific tables causes sync triggers to run (elong)
  • 0003454: [Bug] Purge of stranded data_events on PostgreSQL is too slow (elong)
  • 0003459: [New Feature] Extension point for registration redirect (elong)
  • 0003457: [Bug] Oracle geometry/geography type fails to insert if geometry data > 4k (mmichalek)
  • 0003455: [Bug] Stage management job does not use cluster locks (mmichalek)
  • 0003451: [Bug] Prevent registration until sync triggers has run (elong)
  • 0003430: [Bug] Service wrapper should verify and kill abandoned processes (elong)
  • 0003431: [Improvement] Recovery options for service wrapper (elong)
  • 0003444: [Bug] Delaying triggers until after initial load when auto creating tables (elong)
  • 0003445: [Bug] Batch extract locks aren't released when "java.lang.IllegalStateException: Had trouble renaming file." occurs. (mmichalek)
  • 0002280: [Improvement] Service stops working after upgrading Java (elong)
  • 0003440: [Improvement] Warning in Java 9 illegal reflective access (elong)
  • 0003435: [Bug] Error during sync triggers can result in dropping triggers (elong)
  • 0003432: [Improvement] Change default start type of windows service to automatic (delayed) (elong)

New in SymmetricDS 3.9.4 (Feb 24, 2018)

  • 0003381: [Bug] symadmin does not always return 1 on failure (kstojanovska)
  • 0003408: [Improvement] Update jackson-databind version (maxwellpettit)
  • 0003404: [Bug] --jmx-disable command line option doesn't disable JMX. (mmichalek)
  • 0003406: [Improvement] Improvements for Timeouts related to slow databases (mmichalek)
  • 0003429: [Bug] Compression of staging with initial load gets IllegalStateException (elong)
  • 0003423: [Bug] Node host stats not working (josh-a-hicks)
  • 0003427: [Bug] Node host channel stats sent count inflated (josh-a-hicks)
  • 0003391: [Bug] dbcompare command throws Null Pointer when no arguments passed. Should print help commands. (kstojanovska)
  • 0003392: [New Feature] Resolve foreign key errors using target database metadata and request rows from source (elong)
  • 0003394: [Bug] Booleans fields fail on Sybase 15 using Sybase 12 query optimizer (mmichalek)
  • 0003395: [Improvement] Evaluate the use of the jsch dependency in SymmetricDS (mmichalek)
  • 0003398: [Bug] new sym_job table causes registration error on clients older than 3.8 (chenson)
  • 0003400: [Improvement] Additional information for snapshot file (elong)
  • 0003405: [Improvement] Default to strong crypto and fall back if not available (elong)
  • 0003416: [Improvement] Raima dialect support for global variables (josh-a-hicks)
  • 0003420: [New Feature] Teradata bulk loader (josh-a-hicks)
  • 0003425: [Improvement] Adding and modifying variables used in initial load and configuration (elong)
  • 0003407: [Improvement] Add ability to specify a date time format for dbcompare (kstojanovska)
  • 0003390: [Bug] DB2 on ZOS error during snapshot: dbexport throws IllegalArgumentException for --compatible db2zos (kstojanovska)

New in SymmetricDS 3.9.2 (Jan 3, 2018)

  • [Bug] Triggers get created on similarly named schemas (schemas with extension of each other) in Oracle database (kstojanovska)
  • [Improvement] Support Cluster Lock refresh for extract in background (kstojanovska)
  • [Bug] Fix boolean handling on ASE 16 (mmichalek)
  • [Bug] FileSyncExtractorService sets IG on non file batches (mmichalek)

New in SymmetricDS 3.9.1 (Dec 24, 2017)

  • [Improvement] Implement SymmetricDS JDBC driver wrapper for optional logging, stats, and other diagnostics. (mmichalek)
  • [Bug] Behaviour changed for `sym_trigger` `use_stream_lobs` and `use_capture_lobs` fields (kstojanovska)
  • [Bug] sym_monitor_event should be row level locked on SQL Server (kstojanovska)
  • [Improvement] Improve PostgreSQL bulk loader to tolerate NULL bytes in incoming data (mmichalek)

New in SymmetricDS 3.9.0 (Dec 16, 2017)

  • 0003196: [Bug] Behaviour changed for `sym_trigger` `use_stream_lobs` and `use_capture_lobs` fields (kstojanovska)
  • 0002909: [Bug] Built in extension points should be marked as built in extension points so they show up as such (chenson)
  • 0002684: [New Feature] Support Custom Jobs (mmichalek)
  • 0002911: [New Feature] Immediate re-pull when data was just pulled (elong)
  • 0002937: [Improvement] Disable and deprecate Grouplets feature in 3.9 (mmichalek)
  • 0003060: [Bug] Data generated by a transform isn't visible to later transforms (when using multiple load transforms on one table) (mmichalek)
  • 0003087: [Improvement] 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" (chenson)
  • 0003114: [New Feature] Update service detects new software versions (elong)
  • 0003142: [New Feature] Sync Columns Between Incoming and Outgoing Batch (maxwellpettit)
  • 0003168: [New Feature] Create CSV Router to route data from a CSV file into a database and update documentation. (kstojanovska)
  • 0003186: [Improvement] Support throttling multi-homed node startup (chenson)
  • 0003209: [Improvement] Delay detection of offline nodes after restart (elong)
  • 0003232: [Improvement] Upgrade Jetty to the latest version. Require Java 8. (chenson)
  • 0003252: [Improvement] When inserting extract in background reload batches record the data_row_count during the insert of the RQ batch (chenson)
  • 0003253: [Bug] ProcessInfo which is used to gather information about processes can be corrupted on push and pull because of threading in 3.8 (chenson)
  • 0003256: [Bug] Extract stats aren't updated on common outgoing batch rows for nodes that did not do the actual extract (chenson)
  • 003260: [Bug] Incoming heartbeat batch can be left stranded in error (chenson)
  • 003261: [Improvement] During the reading of data to route, log every minute the progress to the log file like other processes do (chenson)
  • 003262: [Improvement] Add sym_node_channel_ctl to the snapshot (chenson)
  • 003274: [New Feature] Setting to block or unblock channels during initial load error (elong)
  • 003281: [Improvement] Add caching to FileSyncService (kstojanovska)
  • 003283: [Improvement] Trigger creation fails on some platforms when multiple trigger threads working. (kstojanovska)
  • 003284: [Improvement] Add details to email notifications (kstojanovska)
  • 003291: [Improvement] Disable 3DES ciphers that are vulnerable to Sweet32 Birthday attacks (elong)
  • 003325: [Improvement] Support cluster lock keep-alive for routing (mmichalek)
  • 003328: [Improvement] Detect when more than one instance of SymDS is connected the same DB but not clustered. (mmichalek)
  • 0003333: [Bug] Pull extract is broke when stream.to.file.enabled is set to false (chenson)
  • 0003220: [Improvement] Cannot Register a remote node to another remote node before initial load (chenson)
  • 0003113: [Bug] Typo in sym_service.conf (chenson)
  • 0003115: [Bug] You can miss sym_monitor_event sync's because they are on the heartbeat channel. Create a new "monitor" channel. (chenson)
  • 0002912: [Improvement] Prevent reading out database password via rest api (elong)
  • 0003053: [Improvement] Default handle_key_updates in sym_trigger to 1 (chenson)
  • 0003120: [Task] Upgrade build to the latest version of gradle (chenson)
  • 0003138: [Task] Default monitor.events.capture.enabled to false (chenson)
  • 0003112: [Improvement] Make Outgoing Batch and Incoming Batch Similar (maxwellpettit)
  • 0003092: [Improvement] Remove sym_trigger_router.initial_load_batch_count. It is no longer used. (chenson)

New in SymmetricDS 3.8.33 (Dec 14, 2017)

  • [Bug] Fix sql maps to avoid using hard coded prefixes to tables. (kstojanovska)
  • [New Feature] Extension point during reloads to adjust the active trigger histories (josh-a-hicks)
  • [Improvement] MySql Bulk Writer should not fail on table creation if it already exists. (josh-a-hicks)
  • [Bug] Informix fails to read existing triggers due to invalid sql (josh-a-hicks)
  • [Improvement] Upgrade 3rd Party Libraries to address security concerns (mmichalek)

New in SymmetricDS 3.8.32 (Nov 21, 2017)

  • 0003320: [Bug] Possible NullPointerException during extension registration on a busy system (mmichalek)
  • 0003306: [Bug] MSSQL Server will not retrieve schemas correctly for a different database/catalog (josh-a-hicks)
  • 0003314: [Improvement] Support row-by-row stream lob for Sybase (kstojanovska)
  • 0003317: [Bug] Failed to delete data gaps message in the log (mmichalek)
  • 0003318: [Bug] common batches can get corrupted because of 0003275 and 0003282 (chenson)

New in SymmetricDS 3.8.31 (Nov 7, 2017)

  • 0002886: [Bug] Disabling self signed certificates (elong)
  • 0003275: [Improvement] Allow users to reset batch status to NE to force re-extraction of a batch (mmichalek)
  • 0003277: [Bug] null pointer during sorting of tables for initial load (josh-a-hicks)
  • 0003278: [Bug] Fixes for NuoDB dialect (elong)
  • 0003279: [Bug] Rest services return HTTP response code 200 when disabled, but should return a response code indicating something's wrong. (mmichalek)
  • 0003282: [Bug] Common batch extracts may fail when a cluster is using a shared staging area (mmichalek)
  • 0003285: [Improvement] Move loading of trigger_routers to more specific execution branch to reduce unneeded db calls (chenson)
  • 0003286: [Improvement] dbcompare improvements (mmichalek)
  • 0003288: [Bug] The cancellation of pending heartbeat batches can cause a deadlock on SQL Server (mmichalek)
  • 0003293: [Bug] Resource leak when loading data from transport (chenson)
  • 0003294: [Bug] Loads that use a custom sql (truncate table %s) to not take into account transforms (josh-a-hicks)
  • 0003296: [Improvement] Routing should use a dirtySqlTemplate for getReadyChannels() (mmichalek)
  • 0003297: [Bug] Treat Oracle DATE type as a TIMESTAMP (kstojanovska)
  • 0003298: [Bug] On Sybase ASE, SymmetricDS sometimes fails to detect triggers in different catalog (mmichalek)
  • 0003300: [Improvement] Run fix data gaps by default the first time routing runs after a restart (chenson)
  • 0003301: [Improvement] Don't package snapshot zip like a jar file. Use zip utility instead. (chenson)
  • 0003302: [Improvement] Package all symmetric log files and wrapper log files in a system snapshot (chenson)
  • 0003303: [Improvement] Include more outgoing batch rows in the snapshot (chenson)
  • 0003304: [Improvement] For a failed batch log the channel it was on as well as the batch id. This will be useful to see in the log file (chenson)
  • 0003287: [Bug] Invalid symbols in index name lead to sync error on SQLite (chenson)

New in SymmetricDS 3.8.30 (Oct 9, 2017)

  • 0003258: [Improvement] DB2 support for transaction id (josh-a-hicks)
  • 0002846: [Bug] SymmetricDS blocks on startup when AS400 password expires (elong)
  • 0003210: [Bug] Turkish Locale Problem (elong)
  • 0003212: [New Feature] Add NuoDB Dialect (kstojanovska)
  • 0003224: [Bug] batch_to_send_count does not get reset in hybrid model (kstojanovska)
  • 0003226: [Bug] Enabling File Sync doesn't start jobs on client nodes (maxwellpettit)
  • 0003227: [Improvement] When pushing to a large number of nodes on limited number of thread, only allocate nodes that have pending changes (chenson)
  • 0003234: [Improvement] Ability to store additional statistics by channel (josh-a-hicks)
  • 0003237: [Bug] DB2 zOS does not support to_clob function (josh-a-hicks)
  • 0003239: [Bug] Observed that two load threads are loading the same batch at the same time during a pull (maxwellpettit)
  • 0003240: [Bug] Each time a batch is loaded it uses the same thread name. This can be confusing if the same node is being loaded by two thread (maxwellpettit)
  • 0003246: [Improvement] Check for journaling on DB2 for i (elong)
  • 0003247: [Improvement] Include check for next data_id to ensure within range of sym_data_gap (chenson)
  • 0003249: [Bug] Setting EXTERNAL.ID.IS.UNIQUE can create a race condition that allows to nodes to share registration (gwilmer)
  • 0003250: [Bug] Clustered DataExtractorService re-extracts batches when they have already been extracted by another node in the cluster (gwilmer)
  • 0003259: [Improvement] Retry batch should be flushed when written to the output stream so we don't hit timeouts (chenson)
  • 0003263: [Improvement] Optimize inserting of initial load events for lots of nodes (chenson)
  • 0003264: [Bug] The MySQL Bulk Loader throws a null pointer exception if the table is not found in the target database (chenson)
  • 0003267: [Improvement] Log better error message when SymmetricDS fails to decrypt a db.password (chenson)
  • 0003268: [Bug] symadmin encrypt-text requires a valid properties file that can connect to a database to encrypt new passwords. (chenson)
  • 0003269: [Bug] If a file exists in staging with a done or create suffix and no period to separate the suffix, then the server won't startup (chenson)
  • 0003270: [Improvement] Document how to import a pkcs12 formatted ssl cert into symmetricds (chenson)
  • 0003271: [Bug] Postgres bulk loader will produce a stack overflow error on create tables (josh-a-hicks)
  • 0003272: [Bug] Table reload requests that use the custom sql (for truncates or other) run agains the improper order of tables (josh-a-hicks)
  • 0003273: [Bug] Initial load order was not correct for all cases. (josh-a-hicks)

New in SymmetricDS 3.8.29 (Aug 16, 2017)

  • 0003209: [Improvement] Delay detection of offline nodes after restart (elong) resolved.
  • 0003168: [New Feature] Create CSV Router to route data from a CSV file into a database and update documentation. (kstojanovska) resolved.
  • 0002684: [New Feature] Support Custom Jobs (mmichalek) resolved.
  • 0003060: [Bug] Data generated by a transform isn't visible to later transforms (when using multiple load transforms on one table) (mmichalek) resolved.
  • 0003114: [New Feature] Update service detects new software versions (elong) resolved.
  • 0002937: [Improvement] Disable and deprecate Grouplets feature in 3.9 (mmichalek) resolved.
  • 0003087: [Improvement] 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" (chenson) resolved.
  • 0002909: [Bug] Built in extension points should be marked as built in extension points so they show up as such (chenson) resolved.
  • 0002911: [New Feature] Immediate re-pull when data was just pulled (elong) resolved.
  • 0003115: [Bug] You can miss sym_monitor_event sync's because they are on the heartbeat channel. Create a new "monitor" channel. (chenson) closed.
  • 0003113: [Bug] Typo in sym_service.conf (chenson) closed.
  • 0002912: [Improvement] Prevent reading out database password via rest api (elong) closed.
  • 0003053: [Improvement] Default handle_key_updates in sym_trigger to 1 (chenson) closed.
  • 0003120: [Task] Upgrade build to the latest version of gradle (chenson) closed.
  • 0003138: [Task] Default monitor.events.capture.enabled to false (chenson) closed.
  • 0003112: [Improvement] Make Outgoing Batch and Incoming Batch Similar (maxwellpettit) closed.
  • 0003092: [Improvement] Remove sym_trigger_router.initial_load_batch_count. It is no longer used. (chenson) closed.

New in SymmetricDS 3.8.28 (Jul 20, 2017)

  • 0003197: [Bug] One file trigger that is configured with two routers to two different target locations syncs only to one location (chenson) - closed.
  • 0003200: [Bug] Auto Create Router on Group Link Value Too Long (maxwellpettit) - closed.
  • 0003176: [Improvement] SymDS V3.7 and V3.8 for "sym_context" With INTERBASE (maxwellpettit) - closed.
  • 0003194: [Bug] SymmetricDS fails to start on multi-homed installations using the exact same db.url (mmichalek) - closed.
  • 0003199: [Improvement] Support 'NaN' Datatype for Numeric Columns in Postgres (maxwellpettit) - closed.

New in SymmetricDS 3.8.27 (Jul 8, 2017)

  • - 0003193: [Bug] Sybase ASE - If you turn off selection of old data during routing and use a column match routers an error is thrown (chenson) - closed.
  • - 0003163: [Improvement] Detect situations where there are invalid copies of engines.properties files in the engines directory (mmichalek) - closed.
  • - 0003165: [Bug] Common batch issue when nodes are pushed to or pulled from concurrently (chenson) - closed.
  • - 0003167: [Bug] Sybase ASE Errors Using Multithreaded Sync Triggers (maxwellpettit) - closed.
  • - 0003172: [Bug] Table Name for Triggers on Postgres is Case Sensitive (maxwellpettit) - closed.
  • - 0003174: [Bug] Purge should clean up abandoned sym_data_event rows (elong) - closed.
  • - 0003177: [Bug] Sync config on upgrade can lose registration (elong) - closed.
  • - 0003180: [Bug] When a node is re-registered it can propagate deletes of itself back to the registration effectively unregistering itself (chenson) - closed.
  • - 0003181: [Bug] Corrupt batch on remote target node after an "out of disk space error" (chenson) - closed.
  • - 0003182: [Bug] Resource is not closed after "out of disk space" error on a remote target node (chenson) - closed.
  • - 0003183: [Bug] After a failed extract in background batches should be cleaned up and the batch status should be set back to RQ (chenson) - closed.
  • - 0003184: [Bug] Multi-homed nodes that run out of disk space can end up with zero byte sized files due to the way that copy works (chenson) - closed.
  • - 0003152: [Bug] org.jumpmind.db.sql.SqlException: JZ0NK: Generated keys are not available because either the Statement.NO_GENERATED_KEYS was use (josh-a-hicks) - closed.
  • - 0003179: [Improvement] Make start.sync.config.job, auto.sync.config.at.startup editable on the UI. (mmichalek) - closed.
  • - 0003187: [Bug] Initial load delete first with transforms involving multiple tables (josh-a-hicks) - closed.
  • - 0003188: [Bug] The ddl builder for Sybase ASE is ignoring the unique='true' setting on the column even though the keyword unique does exist (chenson) - closed.
  • - 0003189: [Bug] Null pointer exception when clicking on node in NodePanel (maxwellpettit) - closed.
  • - 0003190: [Task] Update Supported Data Types in SqlServer in Docs (kstojanovska) - closed.
  • - 0003191: [Bug] Sybase useHandleKeyUpdates yields trigger that sets nocount incorrectly (chenson) - closed.
  • - 0003192: [Bug] Sybase ASE Errors in Metadata Using Reserved Words (maxwellpettit) - closed.

New in SymmetricDS 3.8.26 (Jun 20, 2017)

  • 0003157: [Improvement] Allow bulk loaders to fall back to default loader when an error occurs (josh-a-hicks) - resolved.
  • 0003154: [Bug] Reopen registration sets created_at_node_id to be the selected node rather than registration server/managing node (kstojanovska) - resolved.
  • 0003145: [Improvement] Allow $(schemaName) variable in channel expression (elong) - closed.
  • 0003143: [Bug] Table reload request load sql using alias "t" will not work (josh-a-hicks) - closed.
  • 0003147: [Improvement] Create table reload requests by channel (josh-a-hicks) - closed.
  • 0003148: [Bug] Stream rows does not honor sync key names if provided (josh-a-hicks) - closed.
  • 0003150: [Bug] ProcessInfo duration is for the entire sync (versus batch) and the rows/sec is off because it is calculated using the total time (maxwellpettit) - closed.
  • 0003155: [Bug] Refresh the group link cache when node group links are modified. (maxwellpettit) - closed.
  • 0003156: [Improvement] Validate the number of table columns match the number of data elements before attempting to load data (chenson) - closed.
  • 0003146: [Bug] Wildcards for schema and table on Oracle (elong) - closed.
  • 0003162: [Bug] Empty batches are created on load when using subselect router (maxwellpettit) - closed.

New in SymmetricDS 3.8.25 (Jun 5, 2017)

  • 0003130: [Improvement] Guard against case mismatches in trigger id's and router id's when doing table reloads (mmichalek) - resolved.
  • 0003104: [New Feature] Log Conflicts Resolutions (maxwellpettit) - closed.
  • 0003118: [Bug] Only sync pro tables to professional target nodes. (mmichalek) - closed.
  • 0003121: [Bug] Generic JDBC builder improperly handling delimiters (josh-a-hicks) - closed.
  • 0003131: [Bug] null pointer when a table reload request is queued up and there is no sym_node_security row (chenson) - closed.
  • 0002835: [Bug] Cannot access audit tables when db is postgressql (chenson) - closed.
  • 0003129: [Bug] oracle.use.transaction.view=true can cause missing data on busy systems (chenson) - closed.
  • 0003137: [Improvement] Updates to SymmetricDS tutorial (kstojanovska) - closed.
  • 0003133: [New Feature] Stream rows (josh-a-hicks) - closed.
  • 0003127: [Improvement] Add logging to the DBFRouter to log failed line number and field (chenson) - closed.

New in SymmetricDS 3.8.24 (May 13, 2017)

  • [Improvement] The default cluster.lock.timeout.ms is set to 30 minutes. Default to 2 hours instead. (chenson) - closed.
  • [Bug] Status of batches set to resend when error on channel (elong) - closed.
  • [Improvement] Variables in router target catalog and schema (elong) - closed.
  • [Bug] Common batches can get an error if they are in memory and two nodes try to pull with just the right timing. (chenson) - closed.
  • [Bug] target and source node caches don't get refreshed when sym_node is sync'd to other nodes for the first time (chenson) - closed.
  • [New Feature] Add basic DDL replication (elong) - closed.
  • [Bug] Greenplum client won't register properly with master node (gwilmer) - closed.

New in SymmetricDS 3.8.23 (May 5, 2017)

  • 0003085: [Bug] MySQL JSON columns being converted to hex representation on mysql data on extract at source node (chenson) - closed.
  • 0003088: [Bug] The last update time on sym_incoming_batch comes from the app serve while the create time comes from the database (chenson) - closed.
  • 0003089: [Bug] data_event_count is not being set for initial load batches (chenson) - closed.
  • 0002984: [Bug] Batch was corrupted in incoming staging. The beginning of the batch was appended to the middle of the same batch. (chenson) - closed.
  • 0003091: [Bug] A corrupt batch being sent to a target results in a NullPointerException by load writing the batch to staging (chenson) - closed.

New in SymmetricDS 3.8.22 (May 2, 2017)

  • 0003066: [Improvement] Cache frequent use of AppUtils.getHostName() and AppUtils.getIpAddress() (mmichalek) - closed.
  • 0003076: [Bug] MySQL binary collation sequence causes incorrect decoding of text data from source (gwilmer) - closed.
  • 0002964: [Bug] MEDIUMTEXT/LONGTEXT columns being converted to hex representation on mysql data on extract at source node (maxwellpettit) - closed.
  • 0003077: [Task] custom_variable_classes not used in PostgreSQL 9.2+ (maxwellpettit) - closed.
  • 0003075: [New Feature] Sync configuration on upgrade and as periodic job (elong) - closed.
  • 0003079: [Improvement] Add capture only changes support for SQLite (chenson) - closed.
  • 0003081: [Improvement] Give unique names to the data loader and data extractor threads (chenson) - closed.
  • 0003070: [Improvement] Log error details when SymmetricDS is unable to read table metadata (gwilmer) - closed.
  • 0003069: [Improvement] Update documentation for 3.8 load balancers to use sticky sessions (josh-a-hicks) - closed.
  • 0003080: [Improvement] Show failed batch extract errors even if there is problems updating outgoing batch status for the failure (gwilmer) - closed.
  • 0003074: [Bug] Extracted request gets stuck if connection failes while sending batch (chenson) - closed.
  • 0003067: [Improvement] Log information about long running routing similar to extract and load (maxwellpettit) - closed.
  • 0003068: [Bug] MySQL Create Table with Timestamps (josh-a-hicks) - closed.
  • 0003083: [Bug] Support initial load in background with stream to threshold set to a non-zero value (chenson) - closed.
  • 0003073: [Bug] When auto.resolve.foreign.key.violation=true and circular fk dependencies exist SymmetricDS can blow up with an OOM error (chenson) - closed.
  • 0003085: [Bug] MySQL JSON columns being converted to hex representation on mysql data on extract at source node (josh-a-hicks) - closed.
  • 0003086: [Bug] Missing foreign key reference of null is not handled properly in the foreign key recovery code (chenson) - closed.

New in SymmetricDS 3.8.21 (Apr 21, 2017)

  • 0003065: [Bug] DB2 Error: SQLCODE=-574 during Initial Load when default datatype is CURRENT TIMESTAMP (maxwellpettit) - closed.
  • 0003063: [Bug] Keep varchar(max) columns comparable on MSSQL (chenson) - closed.
  • 0003064: [New Feature] Allow the event action on group links to be overridden (elong) - closed.
  • 0003061: [Bug] Sync triggers will not create trigger if function already exists (Postgres) (mmichalek) - closed.

New in SymmetricDS 3.8.20 (Apr 19, 2017)

  • 0003034: [Bug] Failed to extract batch IllegalStateException: There is no content to read (chenson) closed.
  • 0003046: [Bug] Table debug log statement causes slowness (maxwellpettit) closed.
  • 0002967: [Bug] SymmetricDS schema-send (sync) fails to create tables for autoindex-ed SQLite tables (maxwellpettit) closed.
  • 0003042: [Bug] Batch protocol incorrect when reload event with no data is followed by two different change events (chenson) closed.
  • 0002766: [Bug] Version 3.8.3 : Symmtric DS Installation on Interbase (maxwellpettit) closed.
  • 0003056: [Improvement] Make XmlPublisherDatabaseWriterFilter configurable to publish either on batch complete or batch commit (chenson) closed.
  • 0003054: [Bug] Support lower_case_names=1 setting for MySQL (chenson) closed.
  • 0003055: [Improvement] When the default database writer fails to execute a SQL event, the SQL that was executed is not logged (chenson) closed.
  • 0003045: [Bug] Sometimes insert on replicated tables fails on MySQL (maxwellpettit) closed.
  • 0003049: [Improvement] Update the documentation for BeanShell Script Transform to talk about how to access "other" columns (maxwellpettit) closed.
  • 0003058: [Bug] Every sql error causes "There is no content to read. Memory buffer was empty and <file> was not found" (chenson) closed.
  • 0003020: [Bug] Problem after upgrading from version 3.8.8 to version 3.8.18 (chenson) closed.
  • 0003030: [Improvement] Test SymmetricDS with Firebird 3 (maxwellpettit) closed.
  • 0003059: [Bug] 0003027 caused columns of type text on SQL Server to not work with handle_key_updates on (chenson) closed.

New in SymmetricDS 3.8.19 (Apr 6, 2017)

  • [Bug] SymmetricDS schema-send (sync) fails to create tables for autoindex-ed SQLite tables (maxwellpettit) - resolved.
  • [Bug] On Oracle, nvarchar not syncing unicode characters when use_capture_lobs is on (chenson) - closed.
  • [New Feature] Assign MySQL data Types.OTHER to LONGVARCHAR (maxwellpettit) - closed.
  • [Improvement] Support JSON data types (maxwellpettit) - closed.
  • [Bug] Routing still runs with start.route.job=false (maxwellpettit) - closed.
  • [Improvement] Document sendStringParametersAsUnicode=false for improving performance on Sql Server (chenson) - closed.
  • [Bug] host.bind.name not being used (maxwellpettit) - closed.
  • [Improvement] Update the heartbeat (sym_node_host) immediately on an re-opened registration (chenson) - closed.
  • [Bug] null pointer exception on sqlite. jdbc type name can be null on sqlite (chenson) - closed.
  • [Bug] Unable to create trigger for varbinary in MsSql (maxwellpettit) - closed.
  • [Improvement] When jobs.synchronized.enable is true, sync triggers should only use 1 thread (chenson) - closed.
  • [Bug] Sqlite dialect is broken (chenson) - closed.
  • [Bug] A beanshell script transform should be able to return a non string value (which would be translated to a screen) (chenson) - closed.
  • [Bug] When using postgres bulk loader the dataloader.create.table.alter.to.match.db.case setting is not respected (chenson) - closed.
  • [Bug] ConcurrentModificationException while cleaning staging (chenson) - closed.
  • [Bug] Update the documentation for configuration of bulk loaders on the channel (chenson) - closed.
  • [Improvement] Sql Server - default sendStringParametersAsUnicode=false so we use the index when varchar primary keys are used (chenson) - closed.
  • [Bug] Wildcard table names don't work on Informix (chenson) - closed.

New in SymmetricDS 3.8.18 (Mar 16, 2017)

  • Improvements:
  • Don't refresh the sym_node cache on the update of sym_node records (chenson) - closed.
  • During Extract, ORA-01438: value larger than specified precision allowed for this column (mmichalek) - closed.
  • Update the heartbeat (sym_node_host) immediately on registration (chenson) - closed.
  • Add a parameter to enable the old way to purge staging. Default will be stream.to.file.purge.on.ttl.enabled=false (chenson) - closed.
  • Batches get stranded in ready state in staging on a cluster because the ack that moves them to done occurs on a different server (chenson) - closed.
  • Bug:
  • When a node is disabled after it has expired sym_node_host should be deleted as well as sym_node_security (chenson) - closed.
  • The registration ack for registration redirect does not work because the ack url is incorrectly rebuilt for the redirected ack (chenson) - closed.
  • SequenceFactory may issue duplicate outgoing_batch (batch_id) sequence numbers when shared db transactions are rolled back (mmichalek) - closed.
  • Initial Load or Table Reload extract may stall when file.sync.enable=true (mmichalek) - closed.
  • Batches that are behind a transform change batch in the same sync get deleted because of staging purge (chenson) - closed.

New in SymmetricDS 3.8.17 (Feb 28, 2017)

  • Improvement:
  • IllegalStateException - no content found after fixing transform (chenson) - closed.
  • Remove the packaging of symmetric.properties file in the conf directory. (chenson) - closed.
  • Bug:
  • DB2 dialect fails to detect existence of sym tables (mmichalek) - closed.
  • Batch incorrect when a reload event with no data followed by change capture data from a different table in the same batch (chenson) - closed.
  • ddl-utils should not drop tables when it can't update their structure (mmichalek) - closed.

New in SymmetricDS 3.8.16 (Feb 15, 2017)

  • Bugs:
  • C Client FileSync raises an error on empty incoming batches (mmichalek) - closed.
  • Configuration Service master to master only check did not account for both master to master and tiered (josh-a-hicks) - closed.
  • A sql parsing bug was introduced by 2977 (chenson) - closed.
  • Improvements:
  • On registration don't restart jobs if they had not previously been started (chenson) - closed.

New in SymmetricDS 3.8.8 (Nov 9, 2016)

  • [Task] Update the documentation for initial loads (josh-a-hicks) - closed.
  • [Bug] [SQL Server] When capture changes only is enabled, pk is not compared and potential syntax error (elong) - closed.
  • [Improvement] log at the warning level, not the error level when an unrecognized engine is specified or a bad url is used (chenson) - closed.
  • [Improvement] FileSync initial load batches should respect max batch size of the filesync_reload channel (mmichalek) - closed.
  • [Improvement] Provide for BSH scripting when reading properties files (mhanes) - closed.
  • [Bug] DBCompare overrides SQL output when using a single SQL file (mmichalek) - closed.
  • [Improvement] Update sym_service.conf with setting for http server response timeout. Reduce the default timeout from 2 hours to 1 minute (chenson) - closed.
  • [Improvement] For long running batches, log not only the dml count, but the dml count by table (chenson) - closed.
  • [Bug] Abandoned batches in StagingArea if Batch is marked as "OK" (josh-a-hicks) - closed.
  • [New Feature] Remove any staging files that do not associate with a batch in the incoming or outgoing batch table when purged. (josh-a-hicks) - closed.

New in SymmetricDS 3.8.7 (Oct 27, 2016)

  • [Bug] PostgresBulkDatabaseWriter is not preserving spaces (josh-a-hicks) - resolved.
  • [New Feature] Auto resolve foreign key violation by sending missing rows (elong) - closed.
  • [Improvement] Add batch summary to incoming batches (mmichalek) - closed.
  • [Improvement] Avoid locks in extract query with dirty reads (elong) - closed.
  • [Bug] Console event unique key exception on ignore multiple batches (josh-a-hicks) - closed.
  • [Bug] Fix really bad error message when a transform transforms a table name to a name that doesn't exist and the original name does (chenson) - closed.
  • [Improvement] Add getEngine(name) to SymmetricWebServer (elong) - closed.
  • [Bug] Initial loads and reload were not preserving spaces on an empty space field. (josh-a-hicks) - closed.

New in SymmetricDS 3.8.6 (Oct 27, 2016)

  • [Bug] When a common batch is sent to more than one target, subsequent target nodes are sent a retry instead of the batch data (chenson) - closed.
  • [Bug] Clustered system should not cache sequences (elong) - closed.
  • [New Feature] Add a generic jdbc platform and symmetric dialect that will work with jdbc drivers that are not yet supported. (chenson) - closed.
  • [Improvement] Upgrade warning on node communication table (josh-a-hicks) - closed.

New in SymmetricDS 3.8.5 (Sep 30, 2016)

  • [Bug] Ignoring a batch will not send the ignore properly to targets
  • [Bug] Outgoing purge job is slower than it needs to be
  • [Bug] DBCompare should process tables that have a PK mapped in a transform, even if they don't have a physical PK
  • [Improvement] Update cacerts file to latest version
  • [Improvement] Parameter to trust mail server certificate
  • [Bug] Remove monitor event and console event from configuration
  • [Bug] Add debug logging for SMTP session
  • [Improvement] Add an online() call to IOfflineClientListener
  • [Bug] mysql_bulk may cause NullPointerException
  • [Bug] org.jumpmind.symmetric.service.impl.ConfigurationService#channelWindowsByChannelCache filling error
  • [Bug] User Guide misstype
  • [Bug] RouterService is deadlocking on SQLite when clustering enabled
  • [Bug] Unclear meaning of dbcompare's --use-sym-config
  • [Bug] Value too large for router_id in sym_data_event error
  • [Bug] Data with ID = 0 is routed perpetually when using DataGapFastDetector
  • [Improvement] Provide a means to override the default semicolon delimiter for SQL event batches
  • [Bug] Newline converison in data can cause data truncation error
  • [Improvement] Sql server unable to read meta data (tables) from when using other databases
  • [Bug] Batch extraction stuck in loop
  • [Improvement] Reduce checks for old files in stage management

New in SymmetricDS 3.8.4 (Sep 21, 2016)

  • [Bug] MS SQL Server 2000 fails to alter table due to dropping of default constraints
  • [New Feature] isNull, isBlank, and isEmpty Transform Types
  • [Bug] Monitor/console event tables not routing and syncing
  • [Improvement] Repeating startup messages about nodes being rejected
  • [Bug] Monitoring not working Firebird
  • [Bug] MSSQL 2000 fails to alter tables due to default constraint errors
  • [Bug] Batch with committed data_events was OK'd after server died after commit of sym_data_event but before batch status was updated
  • [Bug] Initial load extraction gets into a loop if staging file was deleted before being sent
  • [Bug] Initial load waits for extraction that never happens
  • [Bug] Duplicate data gap immediately after upgrade
  • [Bug] the Table 'sym_trigger' can not be created on informix
  • [Bug] Uninstall fails on version 3.5 database with 3.8 software on Postgres
  • [Improvement] org.jumpmind.db.sql.JdbcSqlReadCursor not using sqlTemplate.getSettings().getResultSetType() for creating statement
  • [Improvement] Loop is continuing even when condition is meet
  • [Bug] 3.5 version of SymmetricDS will not register with a 3.8.3 server
  • [Bug] SQL Lite nodes fail to register 3.8 - 3.8.3
  • [Bug] Sync of monitor events gets unique key violation
  • [Bug] DBCompare leaks database resources
  • [Improvement] Add sym_table_reload_request to support snapshot
  • [Improvement] Add count and is_resolved to monitor events
  • [Improvement] Adjust unrouted data count to not include gaps

New in SymmetricDS 3.8.3 (Sep 21, 2016)

  • [Bug] UI Problems when a row in sym_data has a bad trigger_hist_id (mmichalek)
  • [Bug] Stuck in loop of "Batch is marked as ready but it has been deleted" (elong)
  • [Improvement] Abstract File Parsing Router needs to remove context entries when file is deleted (josh-a-hicks)
  • [Improvement] Allow BSH transforms to control if old data is sent to target (josh-a-hicks)
  • [Bug] New tables in 3.8 will fail to load on systems that have a mix of 3.8 nodes and < 3.8 nodes (josh-a-hicks)
  • [Bug] iSeries can't detect sym tables on startup (elong)
  • [Improvement] Optimize DataExtractorService lookupAndOrderColumnsAccordingToTriggerHistory (elong)
  • [Improvement] Optimize calls from TransformWriter to enhanceWithImpliedColumns (mmichalek)
  • [Improvement] Firebird extract with configurable cast to varchar sizes (elong)
  • [Improvement] Firebird "arithmetic exception, numeric overflow, or string truncation" on extract (elong)

New in SymmetricDS 3.8.2 (Sep 21, 2016)

  • [Bug] Insert of TableReloadRequest fails in Oracle (josh-a-hicks)
  • [Improvement] Incoming batch has a new ignore row count (josh-a-hicks)
  • [Bug] docs have 404 (elong)
  • [Bug] TableReloadRequest does not work when sending data to central (josh-a-hicks)
  • [Improvement] Log Connection Failure Stack Trace (mmichalek)
  • [Bug] "Did not receive an acknowledgement" using sym_table_reload_request (elong)
  • [Bug] The entire list of nodes is looked up during a single node's authentication. This was introduced when caching logic was reverted (chenson)

New in SymmetricDS 3.8.1 (Sep 21, 2016)

  • [Bug] When system is busy, gaps should wait to expire
  • [New Feature] Upgrade Jetty to the latest 9.2 version and enable websockets
  • [Bug] Unable to create HSQLDB node
  • [Improvement] Update the documentation for sym_trigger.use_capture_old_data
  • [Improvement] Record Batch Summaries
  • [Bug] symmetric-ds high cpu usage
  • [Improvement] Buffer Hybrid Pull Status Requests
  • [Bug] Null Pointer on Initial load - sync triggers failed to create trigge
  • [Improvement] Auto configure registration server
  • [Bug] NPE on uninstall using symadmin

New in SymmetricDS 3.8.0 (Sep 21, 2016)

  • [New Feature] Add an api to get trigger text from the ddl utils IDdlReader and implement it for databases that support triggers (rsunderhaus)
  • Remove old heap dumps on startup (elong)
  • [Bug] REST postRegisterNode (postRegisterNodeByEngine) using GET method (elong)
  • Improve performance of the transfer to and from staging (elong)
  • [Bug] File sync sometimes not deleting files with delete_after_sync option (elong)
  • [New Feature] Add arbitrary text at the beginning of the trigger (elong)
  • DbFill cascade foreign key dependencies (elong)
  • Disable file sync by default (elong)
  • Heartbeat batches build up when node offline (elong)
  • Add transactions to DbFill (elong)
  • [New Feature] Throttle network bandwidth usage on channel (elong)
  • Allow send-schema to send all tables when no tables as arguments (elong)
  • [New Feature] Table trigger configuration to provide included columns setting (josh-a-hicks)
  • Add built-in variables for use in beanshell extensions (elong)
  • Make unrouted data collection optional (elong)
  • [New Feature] Add VoltDB Dialect (mmichalek)
  • New data loader type on channels "bulk" to represent any bulk loader if support by platform (josh-a-hicks)
  • Perform locking in-memory when clustering is disabled (elong)
  • Perform node communication locks in-memory when clustering is disabled (elong)
  • Reduce number of times parameters are reread during startup (elong)
  • Cache offline node database parameters used by node communication (elong)
  • Parallelize the synchronization of triggers to improve performance in a system with lots of tables (elong)
  • Use node identity cache (elong)
  • Only update sym_node_channel_ctl when using extract millis on channel (elong)
  • Use node group link cache for source and target nodes (elong)
  • Route for only channels that have data waiting to route (elong)
  • Send keepalive during push or pull to prevent connection timeout (elong)
  • Use node security cache (elong)
  • High CPU for routing to determine common batch status on channels (elong)
  • Add event logging to service wrapper start up (elong)
  • Avoid updating status of outgoing batch for small batches (elong)
  • Only query incoming_error for batch being retried (elong)
  • Cache outgoing batch sequences (elong)
  • [New Feature] dbcompare feature (mmichalek)
  • Separate thread for transfer and loading or extract (elong)
  • Retry batches from staging instead of sending them again (elong)
  • [New Feature] Initial load defaults to initial load extract in background (josh-a-hicks)
  • [New Feature] Ability to add extension point for the purge service (josh-a-hicks)
  • Support File Sync on Android (mmichalek)
  • Copy directly to staging when nodes are on same server (elong)
  • Improve performance of data gap detection (elong)
  • [New Feature] Notification of system event problems (elong)
  • Misc performance improvements (mmichalek)
  • Use node cache (elong)
  • Disable Offline Push/Pull By Default. (mmichalek)
  • High CPU usage from Table.getFullyQualifiedTableName() (elong)
  • AbstractDatabasePlatform.parseTimestamp should always return the Timestamp type (rsunderhaus)
  • [New Feature] Hybrid Pull Feature (mmichalek)
  • [New Feature] Partial initial loads (josh-a-hicks)
  • Service fails after Java upgrade (elong)
  • Add command line options to sym that allow me to run a single push or pull (elong)
  • Outgoing load summary was designed to only retrieve "reload" channel. (josh-a-hicks)

New in SymmetricDS 3.7.37 (Aug 9, 2016)

  • [Bug] Transform with null update action loses updates
  • [Bug] Fix NPE in XmlPublisherDataRouter when publishing delete event type
  • [Bug] C Client sends empty subsequent batches when max batch size is exceeded
  • [Bug] C Client doesn't properly parse quote characters in incoming data.

New in SymmetricDS 3.7.32 (Apr 7, 2016)

  • 0002550: [Bug] Typo in trigger text broke trigger generation on SQL Server (elong) - closed.
  • 0002551: [Bug] Derby sync BLOBs when PK is character type (elong) - closed.

New in SymmetricDS 3.7.31 (Apr 7, 2016)

  • 0002524: [Improvement] Data gap detection slow when trying to expire gaps (elong) - closed.
  • 0002535: [Bug] Some SQL has sym_ hardcoded in table name (elong) - closed.
  • 0002532: [Bug] Some Windows environments unable to command line sym and symcc (elong) - closed.
  • 0002534: [Improvement] Allow user to override transaction isolation level (elong) - closed.
  • 0002536: [Bug] RT batches are left abandoned if routing fails (chenson) - closed.
  • 0002541: [Bug] The SqlScript class should not try to run blank lines (chenson) - closed.

New in SymmetricDS 3.7.30 (Mar 15, 2016)

  • 0002499: [New Feature] Add variable transform for system_timestamp_utc (elong) - closed.
  • 0002501: [Improvement] File sync performance on large file system (elong) - closed.
  • 0002513: [Bug] Extensions don't load for new nodes until restarted (elong) - closed.
  • 0002516: [Bug] Extensions are static to server but should be local to engine (elong) closed.
  • 0002515: [Improvement] Allow configuration of sym_data create_time timezone (mmichalek) - closed.
  • 0002514: [Improvement] Reduce Noisy Logging (mmichalek) - closed.
  • 0002504: [New Feature] DBF reader support through file sync which will read to database (josh-a-hicks) - closed.
  • 0002490: [Bug] Oracle ddl reader not escaping "_" (josh-a-hicks) - closed.

New in SymmetricDS 3.7.29 (Feb 12, 2016)

  • 0002474: [Improvement] Support json/jsonb types with indexing for sending schema (elong)
  • 0002479: [Bug] Data gaps expire immediately, data is never routed (elong)
  • 0002480: [Bug] Rest API uninstall does not completely uninstall a node. (mmichalek)
  • 0002452: [Bug] Unable to synchronize longvarchar from MySQL (elong)
  • 0002478: [Bug] Failed to route and batch on channel (elong)
  • 0002483: [Bug] Xml Publisher: data not legal for JDOM (elong).
  • 0002484: [Bug] Failed to route and batch on channel (latest changes) (elong)
  • 0002486: [Bug] Initial Load Purge Statement doesn't honor Transforms (mmichalek)
  • 0002469: [Bug] routing.largest.gap.size is limited to an integer sized value, but should be a long. (mmichalek)
  • 0002471: [Improvement] Wrapper logs incorrect current working directory (elong)
  • 0002472: [Bug] Wrapper not restarting server process (elong)

New in SymmetricDS 3.7.28 (Dec 16, 2015)

  • 0002468: [Improvement] Set push.thread.per.server.count to 1. It should not have been bumped up to 100 in 2.7.22 (chenson) - resolved.
  • 0002460: [Improvement] Redshift driver support (josh-a-hicks) - resolved.
  • 0002453: [Bug] Make the precision of the fractional millisecond capture on oracle timestamps configurable or default to FF (versus FF3) (chenson) - resolved.
  • 0002467: [Bug] Issue 0002367 broke insert transformations (chenson) - resolved.
  • 0002464: [Bug] If individual column templates are changed in a trigger template from release to release, triggers are not rebuilt (chenson) - resolved.
  • 0002466: [Improvement] Add property to disable setting the the h2.basedir system property (chenson) - resolved.
  • 0002465: [Improvement] Add support for Oracle's XMLType (chenson) - resolved.
  • 0002462: [Bug] Replication does not restart after network reconnection between servers (chenson) - resolved.
  • 0002328: [Bug] Error during use of dbexport feature on PostgreSQL database (chenson) - resolved.
  • 0002463: [New Feature] Redshift support for converting clobs to varchar max size (josh-a-hicks) - resolved.
  • 0002433: [Bug] "TIMESTAMP(6) WITH TIME ZONE" is not supported by Data Loader Type of "Oracle bulk loader." (mmichalek) - resolved.
  • 0002459: [Bug] Timestamp Values may get exported with invalid format (mmichalek) - resolved.
  • 0002456: [Bug] Use unicode for bulk insert file on SQL-Server (elong) - resolved.
  • 0002454: [Bug] Use DATETIME2 in DDL when available on SQL-Server (elong) - resolved.
  • 0002455: [Improvement] Use current_timestamp instead of current_date for defaults (elong) - resolved.
  • - 0002443: [Bug] Node communication stops running a push thread for a node (elong) - resolved.

New in SymmetricDS 3.7.27 (Nov 21, 2015)

  • 0002425: [Bug] SymmetricDS Android has a dependency on MySQL libraries (chenson) - closed.
  • 0002432: [Bug] SymmetricDS can not create trigger for the table with column type of "TIMESTAMP(0) WITH TIME ZONE" (mmichalek) - closed.
  • 0002433: [Bug] "TIMESTAMP(6) WITH TIME ZONE" is not supported by Data Loader Type of "Oracle bulk loader." (mmichalek) - closed.
  • 0002435: [Improvement] Warning about "Skipping index" should be debug level (elong) - closed.
  • 0002437: [Bug] Loading a 'timestamp with time zone' field into a 'timestamp' column appears to mangle the time. (mmichalek) - closed.
  • 0002441: [Bug] Failed to read table on Firebird (elong) - closed.
  • 0002443: [Bug] Node communication stops running a push thread for a node (elong) closed.
  • 0002444: [Bug] DbExport fails when using "MSSQL" Type. (mmichalek) - closed.
  • 0002447: [Bug] Redshift create tables does not support identity columns (josh-a-hicks) - closed.

New in SymmetricDS 3.7.26 (Nov 21, 2015)

  • 0002431: [Bug] Linux service installer fails to install (gwilmer) - closed.
  • 0002430: [Bug] Windows Service Fails to Start from sym_service start command when install directory has space in name (gwilmer) - closed.
  • 0002424: [Bug] Lookup Router expression is not considered valid without line breaks. (josh-a-hicks) - closed.
  • 0002427: [Improvement] Update postgres jdbc jar file to the latest version (chenson) - closed.
  • 0002428: [Improvement] Log who has the sync triggers job locked if it is cluster locked and another node attempts to sync triggers (chenson) - closed.
  • 0002429: [Bug] new data is bound as old data in the load filter extension point (chenson) - closed.

New in SymmetricDS 3.7.25 (Nov 21, 2015)

  • 0002408: [Bug] Error while starting sym with Java 7 (chenson) - closed.
  • 0002416: [Improvement] Remove jmx.agent.enabled and jmx.agent.port from symmetric-server.properties (chenson) - closed.
  • 0002421: [Bug] as400 triggers fail to execute with some clob datatypes (chenson) - closed.
  • 0002296: [Bug] MySQL bulk loader produced invalid data file if the first column in table is binary. (chenson) - closed.
  • 0002297: [Bug] Column names in MySQL bulk loader should be quoted (chenson) - closed.
  • 0002409: [Improvement] Cache the sym_node_group_channel_wnd table for use during batch extract (chenson) - closed.
  • 0002410: [Bug] Offline jobs should be initialized in the sym_lock table (chenson) - closed.
  • 0002411: [Improvement] Order outgoing and incoming batches by create time desc in the snapshot so we get the last 5000 batches (chenson) - closed.
  • 0002414: [Improvement] Log the sync url in debug mode (chenson) - closed.
  • 0002419: [Improvement] When comparing column names in the model comparator case should be ignored when db.metadata.ignore.case=true (chenson) - closed.

New in SymmetricDS 3.7.24 (Nov 21, 2015)

  • 0002407: [Bug] Default generated ssl cert doesn't work with newly upgraded jetty (chenson) - closed.

New in SymmetricDS 3.7.23 (Nov 20, 2015)

  • 0002404: [Improvement] Adjusted setup installation to work with PDQ deployer (josh-a-hicks) - closed.
  • 0002401: [Improvement] Support clobs in the oracle bulk loader (chenson) - closed.
  • 0002402: [Bug] Oracle bulk loader should flush before processing an update or a delete (chenson) - closed.
  • 0002403: [Bug] NodeCommunicationService can get stuck if a socket timeout occurs when acquiring the lock (chenson) - closed.

New in SymmetricDS 3.7.22 (Nov 20, 2015)

  • 0002311: [Improvement] Don't use 503 when SymmetricDS is unavailable as some proxies return that as well. (chenson) closed.
  • 0002312: [Improvement] Return different error codes for when an engine is stopped or starting versus the server is too busy (chenson) closed.
  • 0002320: [Improvement] Bump up the default amount of memory from 256 to 1024 (chenson) closed.
  • 0002323: [Improvement] Don't select row_data, old_data or pk_data when routing if only default routers are assigned (chenson) closed.
  • 0002329: [Improvement] set http.push.stream.output.enabled=true as the default setting (chenson) closed.
  • 0002395: [Improvement] Delay routing exception logged as error (elong) closed.
  • 0002317: [Improvement] Upgrade Jetty to version 9.3.3.v20150827 (chenson) closed.
  • 0002363: [Bug] CHAR(x) Column Padding with whitespaces won't work if character conversion is needed to (chenson) closed.
  • 0002367: [New Feature] TableTransformation operation change support for UPDATE-DML (in addition to DELETE) (chenson) closed.
  • 0002372: [Improvement] allow SQL-LookupColumnTransform access to OLD-Column values (chenson) closed.
  • 0002375: [New Feature] LoadFilter with SQL-Script support (chenson) closed.
  • 0002396: [Improvement] Provide functionality to not require context table on sqlite for threadsafe data capture (chenson) closed.
  • 0002397: [Improvement] Add support for Oracle interval data type (chenson) closed.
  • 0002399: [Bug] Oracle bulk loader should respect dataloader.max.rows.before.commit and execute database writer filters (chenson) closed.
  • 0002400: [Bug] Unwanted warning: Starting a new process even though the previous 'Database Pull' process ... (chenson) closed.
  • 0002393: [Bug] NVARCHAR limit on SQL Server is a size of 4000 (chenson) closed.

New in SymmetricDS 3.7.21 (Nov 20, 2015)

  • 0002388: [Bug] SQLServer 2008 does not correctly create remote tables with fields of type nvarchar(max) (chenson) closed.
  • 0002392: [Bug] SqlScriptReader has a bug where if multiline literals in a statement have a comment at the end of the line, the comment is lost (chenson) closed.
  • 0001575: [New Feature] Offline data synchronization (elong) closed.
  • 0002368: [Bug] Null key value causes additive transform not to work (chenson) closed.
  • 0002374: [Bug] Memory being held up unnecessarily in StagingManager and StagedResource (chenson) closed.
  • 0002376: [Improvement] Add MSSQL 2008 type for datetimeoffset (chenson) closed.
  • 0002377: [Bug] SQLServer 2008 does not correctly create remote tables with fields of type varbinary(max) (chenson) closed.
  • 0002378: [Improvement] Protect against duplicate sym_data_gap entries (chenson) closed.
  • 0002379: [Improvement] Expose access to the SymmetricEngineHolder from the ServerSymmetricEngine (chenson) closed.
  • 0002383: [Bug] Audit Table Router does not handle column name case sensitivity for SQL Server (joshahicks) closed.
  • 0002385: [Improvement] No need to create functions and enable and disable triggers on greenplum where triggers are not supported (chenson) closed.
  • 0002386: [Improvement] Add logging of data rows that failed to load for the oracle bulk loader (chenson) closed.
  • 0002387: [Improvement] Make oracle.bulk.load.max.rows.before.flush so that it does not require a restart (chenson) closed.
  • 0002389: [Improvement] Make sym_node.external_id bigger. Support an external.id of up to 255 characters. (chenson) closed.
  • 0002390: [Bug] Prevent the extract in background job from going into an endless loop if request extracting takes more than 30 seconds (chenson) closed.
  • 0002391: [Bug] File sync hangs forever when the tracker job breaks a hung shared lock (chenson) closed.

New in SymmetricDS 3.7.20 (Aug 9, 2015)

  • 0002313: [Bug] When SymmetricDS is stopped via REST or jmx, auto.start.engine should be set to false so the node won't restart automatically (chenson) - closed.
  • 0002314: [Bug] dbimport of xml (XmlDataReader) does not handle xsi:nil correctly (chenson) - closed.
  • 0002315: [Bug] Generated ddl should always escape ' with ''. MySQL and Postgres currently do not. (chenson) - closed.
  • 0002316: [Bug] On SQL Server a default value of '' is exported as '''' (chenson) - closed.
  • 0002318: [Improvement] Performance improvements in gap detection during routing. Improves routing performance with lots of gaps. (chenson) - closed.
  • 0002326: [Bug] Empty reload batch causes batch to end prematurely (chenson) - closed.
  • 0002327: [Improvement] Add an install method to the REST api that takes a properties file and installs it in the engines directory and starts the node (chenson) - closed.
  • 0002332: [Improvement] Better logging for bsh load filter errors (chenson) - closed.
  • 0002333: [Bug] Audit router inserts failing due to case sensitive collation (chenson) - closed.
  • 0002334: [Bug] create triggers should take into account that the catalog or schema could be blank in database versus null (chenson) - closed.
  • 0002335: [Improvement] Make the ISyncUrlExtension more flexible by always calling a registered ISyncUrlExtension (chenson) - closed.
  • 0002341: [Improvement] Add the ability to use parameter values in catalog and schema for trigger, router, and transform configuration. (elong) - closed.
  • 0002343: [Bug] A load script doesn't fire the error script if the schema is left blank on Oracle (chenson) - closed.
  • 0002344: [Improvement] Geography data type support (josh-a-hicks) - closed.
  • 0002350: [Bug] setting suspend=1 on sym_node_channel_ctl gets set back to 0 when extract happens (chenson) - closed.
  • 0002351: [Improvement] Order configuration export for diff reporting (elong) - closed.
  • 0002357: [Improvement] Need to be able to set the field terminator and record terminator for the mssql bulk loader (chenson) - closed.
  • 0002359: [Bug] Handle nvarchar default values on sql server that start with N' during schema creation (chenson) - closed.
  • 0002360: [Bug] Initial loads not working from source to target in the multiple source to single targets profile (chenson) - closed.
  • 0002361: [Bug] Ignore sqlite_autoindex_ indexes in the sqliteddlreader (chenson) - closed.
  • 0002364: [Improvement] DBExport ability to produce drop only statements (josh-a-hicks) - closed.
  • 0002365: [Bug] dbexport incorrectly blanks out the schema when the schema is the default schema and the catalog is not (chenson) - closed.
  • 0001620: [Improvement] Move SymmetricDS to Github (chenson) - closed.

New in SymmetricDS 3.7.19 (Jun 1, 2015)

  • 0002308: [Bug] Bsh variables were removed from bsh column transform accidentally. Readding support
  • 0002306: [Improvement] Add a trim() column transform
  • 0002307: [Bug] Outgoing batches are missing the sql message sometimes

New in SymmetricDS 3.7.18 (Jun 1, 2015)

  • [Bug] AckUriHandler has an incorrect Comparator code
  • [New Feature] Add new extension point that allows batches to be filtered prior to sending them

New in SymmetricDS 3.7.17 (May 19, 2015)

  • [Bug] If an incoming batch is marked as IG when it is loading and the batch fails, then the IG status is lost
  • [Bug] Deadlock for additive transform. It should use the same transaction that the default writer uses.
  • [Bug] Postgres bulk writer throws a null pointer error versus logging what is going on when the target table cannot be found
  • [Bug] sym_node_group_channel_wnd functionality is broken
  • [Improvement] Improve the bean shell database filter. pk data should be bound on deletes.

New in SymmetricDS 3.7.16 (May 4, 2015)

  • [Improvement] When a node is removed, clear out its sym_incoming_batch table (versus just setting batches to OK)
  • [Bug] The file directory listing in the snapshot is inaccurate
  • [Bug] Multiplier transform isn't working
  • [Improvement] Slight performance improvement in reading table metadata on Firebird

New in SymmetricDS 3.7.15 (Apr 24, 2015)

  • [Improvement] Add create.table.without.foreign.keys setting that removes foreign keys on table definitions being used during database creation
  • [Bug] Fix misleading warning. "None of the target nodes specified in the data.node_list field ({}) were qualified nodes"
  • [Bug] Auto calculate of number of required batches an extract in background extract should use the initial load select
  • [Improvement] Don't log a warning when there is a missing column data for a transform due to a delete when capture old data is turned off

New in SymmetricDS 3.7.14 (Apr 17, 2015)

  • [Bug] Xml Publisher fails when delete comes through. Null Pointer Exception.
  • [Improvement] Log when an initial load or reverse initial load is queued up
  • [Bug] If a row is marked as IG and an ACK comes in with an ER status the IG status is overwritten
  • [Bug] Common batch mode not detected if trigger router is defined that does not use the default router and is on the same link

New in SymmetricDS 3.7.13 (Apr 11, 2015)

  • [Bug] Trigger is not able to be created

New in SymmetricDS 3.7.12 (Apr 6, 2015)

  • [Bug] Column match router should not do work during initial load if initial load select is used
  • [Bug] Alter script broken on Sybase ASE because SqlScript parser leaves ; in the script
  • [Improvement] If the ack response does not come back with a 200 error code, the throw an error. Before we looked for only 4 error codes.
  • [Improvement] Re-add a buffer flush at the end of a push and at the end of a file push.

New in SymmetricDS 3.7.11 (Mar 30, 2015)

  • Improvement: Add new auto.sync.triggers.after.config.loaded property that allows sync triggers to be turned on on client when config changes
  • Bug: Router service fails due to Syntax error
  • Bug: The xml publisher removes '-' from the key data so 'This is a test" and 'This-is-a-test' are equivalent. This is wrong.
  • Bug: Routing fails with null pointer exception (NPE)
  • Bug: SQL Server fails to create triggers

New in SymmetricDS 3.7.10 (Mar 24, 2015)

  • [Bug] Android zip contains superflous slf4j jars
  • [Bug] ; in sql scripts in sql content aren't properly parsed
  • [Bug] Insert fails due to error in Trigger

New in SymmetricDS 3.7.9 (Mar 7, 2015)

  • [Bug] HSQLDB ddl builder doesn't creates a varbinary instead of a blob when the type in xml is blob
  • [Bug] Replication of rows with NULL in large object column on PostgreSQL throws exception
  • [Bug] When Primary key is binary; SymmetricDS fails capture changes.
  • [Bug] BSH transform context variables overwrite column variables
  • [Bug] platform should pass in setting for whether to use autocommit for ddl in createDatabase and dropDatabase.
  • [Bug] When external.id.is.unique.enabled=false calling symadmin open-regsitration only works for the first two nodes with the same id
  • [Bug] JMX method openRegistration should behave like the command line openRegistration command
  • [Bug] Sql Server 2000's default schema is the user. We had hardcoded dbo as the schema which only worked for dbowner accounts
  • [Bug] Initial load create first does not support the creation of REAL columns for sqlite

New in SymmetricDS 3.7.8 (Feb 25, 2015)

  • [Bug: You should be able to request an initial load from a server by setting the initial_load_enabled flag on the client node.
  • Improvement: Don't insert file sync initial load batch if there are no file trigger routers configured
  • Bug: getOutgoingBatchStatus only returns pending batches for one status. It should return multiple summaries.
  • Bug: Missing space in ORDER BY CLAUSE

New in SymmetricDS 3.7.7 (Feb 18, 2015)

  • [Bug] Subselect router arguments are encoded on reload
  • [Bug] Unrouted batches end up with a status of NE and never get purged
  • [Bug] Conflict resolution of FALLBACK transforms update to insert although row exists
  • [Improvement] Only run the check for abandoned batches check once after the server starts, not everytime we route
  • [Bug] postgres geometry types broken by issue 1996
  • [Improvement] Bsh Data Router: Bind in nodeIds for nodes that would normally be routed to. Useful for implementing default behavior.
  • [Bug] Right before a node loads registration configuration, clear out sym_data on the config channel
  • [Bug] Microsoft JDBC maps nvarchar(max) and varchar(max) to a varchar with a size. Should be mapped to a longvarchar or longnvarchar.

New in SymmetricDS 3.7.6 (Feb 11, 2015)

  • Improvement: DB2 iSeries - Change the sym_data row_data storage to CLOB to support longer row data
  • Bug: auto create tables doesn't support comment characters in quoted column and table names
  • Bug: Create Initial Table for MySQL - TINYTEXT
  • Improvement: Improved trigger performance on Sql Server

New in SymmetricDS 3.7.5 (Feb 10, 2015)

  • Improvement: "arithmetic exception, numeric overflow, or string truncation" on firebird due to row_data being > 10k. Log a better error msg.
  • Bug] Redshift Bulkloader - S3 regions that require v4 of the authentication protocol get an error
  • Improvement: Package jt400 ibm as400/iSeries jar file with SymmetricDS
  • Bug: iSeries - Any tools that insert into sym_data cause errors because of invalid query to lookup last identity record
  • Bug: When a case sensitive collation is used on sql server alters to prevent page lock escalation fail with a warning
  • Improvement: Allow the use of wildcards in catalog and schema for load filters

New in SymmetricDS 3.7.4 (Feb 2, 2015)

  • Bug: Ignore case not working due to bug in ignore case feature for schema and catalog in table lookup

New in SymmetricDS 3.7.3 (Jan 29, 2015)

  • [Bug] DDL errors on DB2 i5 AS/400
  • [Improvement] Support foreign keys in ddl builder for sqlite
  • [Bug] When checking for gap expiration compare data create times against the database time, not against the symmetric server time
  • [Improvement] Reduce updates to sym_node_communication
  • [Improvement] Snapshot util should just package up all files with the .log extension in the log directory
  • [Improvement] Add database time and server time to support snapshot
  • [Improvement] Interrupt working threads when a symmetric engine is stopped. Also check for interrupted threads when processing data.
  • [Bug] Configured extension with a node group id of ALL is not working

New in SymmetricDS 3.7.2 (Jan 20, 2015)

  • [Bug] bsh column transform can pick up source columns from previous tables in the batch
  • [Bug] Changing a primary key with an implied transform does not work
  • [Improvement] Log original conflict error message if available. Makes it easier to identify root cause conflict issues.
  • [Improvement] When transformed data is retransformed it should only try to match the key values if more than one transformed data is returned
  • [Improvement] Do a better job of table lookup when case is suppose to be ignored. Lookup across catalogs and schemas is now case insensitiv
  • [Improvement] Add validation and better error message if the parsed tokens doesn't match the column count of the last parsed table

New in SymmetricDS 3.7.1 (Jan 14, 2015)

  • [Bug] Tinyint is 0 to 255 on Sql Server. JTDS treats it as -128 to 127. The driver throws an error for values > 127.
  • [Bug] SQL Anywhere capturing wrong date format

New in SymmetricDS 3.7.0 (Jan 8, 2015)

  • [Bug] dbimport doesn't handle relative pathnames
  • [Bug] NullPointerException when setting replication for an unsupported table in PostgreSQL
  • [New Feature] Expressions for target_schema_name
  • [Improvement] Move SymmetricDS to Gradle
  • [New Feature] Reverse initial load with symadmin
  • [Improvement] Update jTDS driver from 1.2.4 to 1.2.8
  • [Improvement] Valuemap transform syntax for passing values through
  • - 0002020: [Bug] Log4j cannot be configured to send errors by email
  • [Improvement] Can't set windows service dependencies in sym_service.conf
  • [Improvement] Add extension service that can read extensions from database
  • [Improvement] Option for delayed start of Windows service
  • [Bug] dropping a table before dropping trigger causes NPE
  • [Improvement] The sync triggers cluster lock is being grabbed every ten seconds (so initial load events are not inserted during trigger sync)
  • [Improvement] We currently log data sent and received from jobs at INFO level. Do the same from the server side.
  • [Improvement] Remove the getName() method from the IColumnTransform interface
  • [Bug] Snapshot fails when run on nodes that are not registered
  • [Bug] Should be able to remove mongo and amazon jar files and the application should still work
  • [Improvement] Remove double logging of exception messages to improve log readability
  • [Improvement] Add processinfo to track when symmetricds is "inserting load events" on the route job thread
  • [Improvement] Upgrade sqlite jdbc library version to latest version
  • [Bug] Stream lobs doesn't work with tables in a different schema when router.use_source_catalog_schema is set to 0
  • [Bug] common batch mode incorrectly detected if a table syncs bidirectionally on different channels
  • [Improvement] Remove deprecated Data Gap Purge Job
  • [Bug] The addition of a new symds configuration table makes registration incompatible with previous versions
  • [Bug] Trigger creation fails on Sybase ASE database for CLOB,BLOB,BINARY,VARBINARY,LONGBINARY

New in SymmetricDS 3.6.17 (Dec 27, 2014)

  • [Bug] Service wrapper unsatisfied link error
  • [Bug] Informix installations fail when existing SymmetricDS tables exist due to case sensitive comparisons
  • [Bug] Row deletion is not synced if table has conflict resolution by timestamp
  • [Bug] getChannelStatus REST call is broken
  • [Improvement] Add a property that instructs symmetricds to use PK from target tables when creating update and delete statements
  • [Bug] Create table to check and allow for identity columns that are not part of PK.
  • [Improvement] Add feature to turn off the use of default values in the create schema first feature
  • [Bug] Error code 2601 on Sql Server should be treated like other unique constraint errors
  • [Bug] Initial load extract in background can fail when purge is set aggressively
  • [Bug] Trigger creation fails on Sybase ASE database for CLOB,BLOB,BINARY,VARBINARY,LONGBINARY
  • [Bug] On firebird ddl fails if table column switches from NOT NULL to NULLABLE
  • [Improvement] When big transactions are interspersed routing requires a lot of memory which can result in OOM errors
  • [Bug] When lots of unrouted data exists with small transactions, the peek ahead queue can get big and cause out of memory errors
  • [Bug] sqlite trigger fails to capture data when a blank string is inserted into a datetime field

New in SymmetricDS 3.6.16 (Dec 11, 2014)

  • Bug: Table structure changes, sym_trigger is updated and old table structure is used for new trigger
  • Bug: Informix installations fail when existing SymmetricDS tables exist due to case sensitive comparisons
  • Bug: sync triggers gets called during and initial load

New in SymmetricDS 3.6.15 (Dec 5, 2014)

  • Bug: Extract initial load in background doesn't work with wildcard catalogs and schemas

New in SymmetricDS 3.6.14 (Dec 2, 2014)

  • [Improvement] Support sql dialect 1 for firebird
  • [Bug] Slow SYM_DATA reads on Firebird
  • [Bug] NVARCHAR field is not mapped in MySQL DDL Builder
  • [Bug] Newer wins conflict resolution does not work on Android
  • [Bug] SymmetricLauncher references a MySQL string utils class. The MySQL jdbc jar file should not be required (
  • [Bug] MySQL DDL Builder for auto increment columns, decimal type is not valid must be bigint
  • [Bug] Synchronization is not performed if datetime column has changes in fractional seconds part
  • [Bug] Sql Server and MySQL bulk database writer should use quoted identifiers around table names
  • [Improvement] Disable SSLv3

New in SymmetricDS 3.6.13 (Nov 10, 2014)

  • [Bug] Remove transform when used on a primary key without the pk column checked fails
  • [Bug] Fallback to insert fails when transform is configured as update first on the LOAD side. Data is retransformed as an update.
  • [Bug] NullPointerException happens during file sync pull
  • [Improvement] Do not blindly update outgoing batch where status = RT at start of routing. Select first to see if the update is needed.

New in SymmetricDS 3.6.12 (Nov 10, 2014)

  • [Bug] When old data is off and a primary key is updated in the same batch where a primary key is not updated will result in a failure
  • [Improvement] For initial load deletes, provide BOTH source and target node replacement variables
  • [Improvement] Resolve table name in create trigger statement with default catalog and schema if source catalog and schema are not specified
  • [Improvement] When a router fails to route a data row, no information is logged about the failed data row
  • [Bug] Initial load failing on Interbase because of "Implementation limit exceeded. Block size exceeds implementation restriction
  • [Bug] Create of data_id trigger on sym_data fails on firebird and interbase if db.delimited.identifier.mode=false
  • [Bug] The "other" data type template for Postgres should escape string values just like the string template.
  • [Improvement] Add left and bleft column transforms

New in SymmetricDS 3.6.11 (Oct 28, 2014)

  • Bug: Java column transform cannot compile inner classes
  • Bug: Firebird detection of auto increment columns should look for existence of trigger, not the generator itself
  • Bug: Failed to create trigger when table contains timestamp with time zone column in Oracle
  • Bug: Initial load failing on Firebird because of "Implementation limit exceeded. Block size exceeds implementation restriction"
  • Improvement: Automatically handle conversion from Time to Timestamp during data load
  • Bug: Stopping service from sym_service on Windows does not stop wrapper
  • Bug: On some platforms (sybase) sql fails when numeric column names are used in the where clause of initial load sql .
  • Improvement: Log the DDL that installs functions required for SymmetricDS as it is being installed (similar to the way we log table DDL)
  • Improvement: Translate sql server's getdate() function to current_timestamp when used as a default value in building ddl for other platforms
  • Improvement: Add redshift.append.to.copy.command which allows the options to be passed to the copy command for the red shift bulk loader
  • Bug: bsh router is broken when capture old data is turned off
  • Bug: Should not have to specify properties file for symadmin command if only one properties file exists

New in SymmetricDS 3.6.10 (Oct 9, 2014)

  • [Bug] Excessive logging from PropertiesFactoryBean
  • [Bug] Support ntext type on sql server with the JTDS driver
  • [Bug] Server can hang when database is unavailable while attempting to handle connection attempt from client
  • [Bug] SymmetricDS startup fails. Check for existence of sym tables isn't limited to the default catalog and schema at start up
  • [Bug] delete and update transforms are broken when dealing with compound primary keys
  • [Bug] Multiplier transforms don't use correct old data
  • [Improvement] Add dataloader.apply.changes.only property that control whether update statements will update all columns or only changed column

New in SymmetricDS 3.6.9 (Sep 30, 2014)

  • [Bug] PostGIS initial load fails unless you set initial.load.concat.csv.in.sql.enabled=true
  • [Bug] Integer conversion between Oracle and PostgreSQL maps to wrong type
  • [Bug] The bean shell router swallows errors and does not route the data
  • [Bug] NullPointerException in ColumnsToRowsValueColumnTransform
  • [Bug] Broken replication on tables with uuid field
  • [Improvement] Report script line number for bsh transforms and bsh routers
  • [Improvement] Better document reverse initial load
  • [Bug] Wrong key values can be returned when load transforms don't put keys at beginning of transform list
  • [Improvement] REST call for reading parameters
  • [Improvement] Add extension for filtering parameters as they are saved
  • [Bug] Default values for ARRAY types on Postgres cause create tables to fail
  • [Bug] Switching cluster locks off causes initialization error
  • [Improvement] Add support for composite data types in postgres
  • [Bug] Time columns in postgres should be captured as time only. Date is currently captured which breaks the postgres bulk loader
  • [Improvement] Support JSON data type. Map all Types.OTHER to LONGVARCHAR for Postgres.
  • [Improvement] Allow override of startup parameters

New in SymmetricDS 3.6.8 (Sep 18, 2014)

  • [Bug] Reinsert of sym_data_gap after it has been purged can fall outside of captured sym_data range
  • [Bug] Transform column value to NULL removes column
  • [Improvement] Add feature where character data can be modified by an property expression in order to support "weird" character issues
  • [Bug] Routing does not stop when sym_channel.max_data_to_route is reached and batch_algorithm is set to nontransactional
  • [Bug] Log the actual values that were passed to prepared statement in the default data loader (currently logs those passed in csv)
  • [Bug] Memory issue on nontransactional channel during routing
  • [Bug] Upgrade from 3.1.5 to 3.6 fails on MySQL
  • [Bug] Initial load uses wrong case on Oracle to PostgreSQL table creation.
  • [Improvement] Add better logging when a subselect router query fails. Log table and event for which the query failed.
  • [Bug] Oracle LONG types don't work when stream_to_lob is turned on
  • : [Bug] Missing AWS java SDK needed for Redshift bulk load
  • [Bug] Use LSB-compliant dependency in init script
  • [Bug] fallback to update fails with implied load transform that adds to pk
  • [Bug] Push service continues to quickly attempt to push data on failure to read ack condition during initial load

New in SymmetricDS 3.6.7 (Sep 3, 2014)

  • [Bug] On MySQL sym_transaction_id_post_5_1_23 function should not be checking the autocommit session variable
  • [Bug] ConcurrentModificationException due to timing issue in OutgoingBatchService

New in SymmetricDS 3.6.6 (Aug 27, 2014)

  • [New Feature] Redshift database dialect
  • [Bug] The symmetric wrapper kills the process when an OOM error occurs before the heap can be dumped
  • [Improvement] Add the ability to republish xml messages via jmx
  • [Bug] Too many connections when network environment is bad. Bug in DBCP.
  • [Improvement] SymmetricDS should find tables in schemas and catalogs other than the default schema/catalog when schema/catalog is left blank
  • [Bug] While sending a batch, if a batch is set to IG and an error occurs, then the batch gets set to ER and the IG status is ignored
  • [Bug] Incorrect conversion of values of type BIT in SQL Server 2005 to SQLite
  • [Bug] Send Table Schema uses cached tables
  • [Improvement] Add dataloader.fit.to.column that when set will truncate data to fit in the target column
  • [Bug] Routing reader can get stuck if an Error is thrown during the close of the read cursor
  • [Bug] Upgrade from 3.5 to 3.6 of Sybase ASA fails
  • [Improvement] Upgrade mongodb java client
  • [Improvement] Add the ability to copy a node to a new node id

New in SymmetricDS 3.6.5 (Aug 12, 2014)

  • [Bug] PostGIS Spatial data replication fails with SRID problem - closed.
  • [Bug] symmetric-wrapper should not include the version number, otherwise the service needs to be reinstalled on each upgrade - closed.
  • [Bug] Introduce a more accurate way to get a machine's hostname - closed.
  • [Improvement] Include directory listing of symmetricds installation in snapshot - closed.
  • [Bug] Control Center doesn't start on Windows if not Administrator - closed.
  • [Improvement] Add extensions.xml property which can be used to configure symmetric extensions (like jms) via database configuration - closed.
  • [Bug] Process status can be stranded in non-ok or non-error status on pull if an io expection occurs in the uri handler - closed.
  • [Bug] Database upgrade fails on sql server because drop index doesn't allow database name in the ddl - closed.
  • [Bug] MS Azure does not support the sysconstraints view - closed.
  • [Bug] SymmetricDS upgrade on Azure fails. - closed.
  • [Bug] http.concurrent.workers.max doesn't prevent the same node from over pulling on itself - closed.
  • [Improvement] Improve stagedresource - closed.
  • [Improvement] Add reverse version of initial load before/after sql - closed.
  • [Bug] New version of Postgis fails to replicate - closed.
  • [Improvement] Log information about failed column transform to make it easier to debug transforms - closed.
  • [Improvement] Make lookup transform column names case insensitive when used as named parameters in sql - closed.
  • [Improvement] Add support for token replacement for $(sourceCatalogName) and $(sourceSchemaName) in lookup table transform - closed.

New in SymmetricDS 3.6.4 (Aug 4, 2014)

  • [Bug] When a table has multiple transforms, the order of execution should be reversed when a delete comes through the system - closed.
  • [Improvement] Clear staging if transformation changes come through the data loader or data router - closed.
  • [Bug] Bsh variables for transformedData and transformColumn not being updated - closed.
  • [Bug] Initial load is broken for the master to master sync scenario - closed.
  • [Improvement] Document that a -1 node id in outgoing batch means that the batch was unrouted - closed.
  • [Bug] Triggers get blown away when saving a link for an individual table. broke with 0001827 fix - closed.

New in SymmetricDS 3.6.3 (Jul 30, 2014)

  • 0001845: [Bug] The transaction id for sybase ase isn't always unique - closed.
  • 0001846: [Improvement] Update router helper methods that get column values use a case insensitive map - closed.
  • 0001805: [Improvement] Add support for mysql enums in dbfill - closed.
  • 0001806: [Bug] dbfill only inserts 1 char for char fields. It should respect the size of the char field - closed.
  • 0001807: [Bug] dbfill mishandles clob fields - closed.
  • 0001808: [Bug] '0000-00-00 00:00:00' fails when initial.load.concat.csv.in.sql.enabled=false and db.treat.date.time.as.varchar.enabled=true - closed.
  • 0001812: [Bug] bit type in should be mapped to a bit type in mysql. not a tinyint(1) - closed.
  • 0001814: [Bug] NullPointerException in AbstractTriggerTemplate.createInitalLoadSql - closed.
  • 0001818: [Bug] sym script error with Java 5 detection - closed.
  • 0001820: [Improvement] Add property that instructs symmetric to keep the same node_password for a node on re-registration - closed.
  • 0001821: [Improvement] Add the ability, through configuration, to specify a system commands to dump and load a database's schema during initial load. - closed.
  • 0001829: [Bug] dbexport doesn't respect "use quoted identifiers" for schema exports - closed.
  • 0001830: [Bug] sql server needs to explicitly ALLOW_PAGE_LOCKS = OFF if mssql.allow.only.row.level.locks.on.runtime.tables is set - closed.
  • 0001831: [Improvement] Add new property that instructs the data loader to alter the case of db artifacts being created to the default case of the db. - closed.
  • 0001832: [Bug] Null values aren't being passed through transforms - closed.
  • 0001619: [Improvement] Stabilize the Sybase unit tests. - closed.
  • 0001811: [Improvement] Add new transform types that will put the source catalog, schema or table names into a column - closed.
  • 0001823: [Improvement] DB2 sync trigger variables should use prefix - closed.
  • 0001827: [Bug] Long Oracle tables generate ORA-04095 on trigger creation - closed.
  • 0001833: [Bug] ASE 12.5 create triggers in a multi-statement fails - closed.
  • 0001836: [Bug] The removal of a node isn't synchronized to other nodes in a master to master scenario - closed.
  • 0001837: [Bug] If the engine isn't found, the logging context should be '?', not the previously handled symmetric engine name for that thread closed.
  • 0001839: [Improvement] Global BSH script for transforms - closed.
  • 0001841: [Bug] Update registration request doesn't work on sql server with the latest microsoft jdbc driver - closed.
  • 0001842: [Improvement] Additional transform variables for bsh - closed.
  • 0001843: [Bug] Oracle dialect has static "sym" prefix on objects - closed.
  • 0001844: [Improvement] Make picking conflict detection strategy case independent when matching tables - closed.

New in SymmetricDS 3.6.2 (Jul 14, 2014)

  • 0001755: [Bug] XML Data (schema and data) is not properly escaped. - closed.
  • 0001758: [Bug] PostgreSQL default value for 'uuid' field type - closed.
  • 0001781: [Bug] Uninstall fails if file sync is configured - closed.
  • 0001782: [Bug] initial.load.create.first fails for tables with a unique index on the primary key - closed.
  • 0001783: [Bug] A default value of (sysdate) should not translate to '(sysdate)' in the create statement when initial.load.create.first is on - closed.
  • 0001785: [Bug] Hard coded EXECUTE AS OWNER in Sql Server triggers causes issues if the tables are created under another account - closed.
  • 0001787: [Bug] Reverse initial load is broken in 3.6 - closed.
  • 0001789: [Bug] external.id.is.unique.enabled property is defined backwards. It is being used opposite of the definition. - closed.
  • 0001790: [Improvement] Add REST service to send schema changes - closed.
  • 0001793: [Bug] When the stream.to.file.threshold.bytes is reached and the staging manager writes the buffer to a file the buffer is not removed - closed.
  • 0001794: [Bug] Fix null pointer on busy system during staging area clean - closed.
  • 0001795: [Bug] DDL modification in schema different than symetricds one - closed.
  • 0001796: [Bug] Unable to parse ISO-8601 datetime on sqlite - closed.
  • 0001797: [Bug] sym_table_reload_request should be cleaned up when a node is deleted - closed.
  • 0001798: [Improvement] Add support for wildcarded catalogs and schemas - closed.
  • 0001801: [Bug] DbExport does not handle timestamp(9) on Oracle - closed.
  • 0001802: [Bug] DbExport does not handle BLOB on DB2 - closed.
  • 0001803: [Bug] Removing a node using engine.removeAndCleanupNode method on a master to master cluster does not send the remove to other nodes - closed.
  • 0001804: [Bug] sym_node_host on the heartbeat channel can cause FK errors when a node is removed - closed.

New in SymmetricDS 3.6.1 (Jun 27, 2014)

  • [Bug] Add support for ansi literal default date values. Also support well known sql 92 function types for the default values - closed.
  • [Bug] Custom IColumnTransform weren't being marked as installed. - closed.
  • [Bug] Postgres should auto commit ddl changes. Otherwise, if a ddl fails to run it cannot continue to move forward. - closed.

New in SymmetricDS 3.6.0 (Jun 17, 2014)

  • [New Feature] Add ability to sync on control file
  • [New Feature] Create a delete_after_sync function for file sync
  • [New Feature] Integrate changes to support spatial data replication using http://postgis.refractions.net/ [^]
  • [New Feature] Add support for multiple channels for file sync
  • [Improvement] File sync mutex limits scaling multiple clients
  • [Improvement] Refactor databasewriter into abstractdatabasewriter and defaultdatabasewriter so we can subclass off of abstract databasewriter
  • [Bug] Triggers referencing tables with case sensitive schemas fail to create on H2
  • [Improvement] Support multiple reload channels
  • [New Feature] Create a Java router, transform, and load filter that uses compiled Java code
  • [New Feature] Add support for choosing the channel a trigger/table will use dynamically
  • [Improvement] Allow downgrades within same minor version
  • [Bug] Restarting server crashes due to primary key violation
  • [Bug] host.bind.name has no effect when running stand-alone
  • [Improvement] PostgreSQL server side prepared statements causing slow query processing.
  • [Improvement] Add sync triggers by table to REST API
  • [Improvement] Add a drop triggers feature
  • [Bug] trigger creation failed with MSSQL database column of nvarchar and ntext data type using the microsoft jdbc driver
  • [New Feature] Create bulk loader for MySQL
  • [Improvement] Add BLOB support to PostgreSQL bulk loader
  • [Bug] Data can be skipped due to aggressive purge on some platforms
  • [Bug] No way to send schema changes in schema other, than public
  • [New Feature] Create dialect for DB2 z/OS
  • [Improvement] Add setting to sym_node_group_link to prevent clients from updating configuration
  • [Improvement] Create event should not store XML is row data
  • [Improvement] SQL Optimizations
  • [Bug] Table creation generates wrong syntax when source is SQLServer
  • [Improvement] Parameter to collect router statistics
  • [Improvement] Upgrade JDBC drivers
  • [Improvement] Make trigger id column size larger
  • [Improvement] While routing config changes sync triggers by id that haven't already been sync'd versus calling syncTriggers()
  • [Improvement] Additional Logging for compliance
  • [Bug] Changing Trigger results in Error om Tables with an uppercase letter
  • [Improvement] Parameterized the node Id assignment directly from external Id
  • [Improvement] Re-add support for db.spring.bean.name .
  • [Improvement] Improve initial load query performance
  • [Bug] Trigger for all tables * is not creating triggers for some of the tables (chenson) - closed.
  • [Improvement] IReloadListener should be passed the current loadId for use
  • [Bug] If a node is deregistered by deleting it's sym_node* records and it is registered it will route and sync the deletes (chenson) - closed.
  • [Improvement] Heartbeat immediately after registration so node information doesn't have to wait for next heartbeat to show up at reg server
  • [Bug] 100% CPU when expiring SYM_DATA_GAP with missing SYM_DATA
  • [Task] Remove dependency on java service wrapper
  • [Improvement] Figure out a way to make the usage of source schema and catalog more user friendly
  • [New Feature] Create a MongoDB data loader for SymmetricDS
  • [Improvement] Unique constraint violation is not logged for tables declared for conflict detection
  • [Bug] create of table with a varchar/char column with a default values of: ('N') fails to create table on client side
  • [Improvement] Transforms write out the start of a table before every row which is inefficient and causes bulk loaders to become unusable
  • [Improvement] Trim numeric values before parsing into primitive to handle situations where the source db might have whitespace prepended
  • [Improvement] Introduce a new columntransform type that returns both new and old data. use it for the copy transform
  • [Bug] Fix SQLServer 2005 issue where defaults for BIGINT's are being read with an extra "." at the end.
  • [Improvement] package android dependency jars in zip under the libs directory. not lib. it is misleading because eclipse adk requires libs
  • [Improvement] NodeService.deleteNode should remove delete from all ancillary tables (in addition to node, node_security and node_host)
  • [Improvement] Add jdbc driver version to sym_node_host
  • [Task] Remove auto increment from sym_trigger_hist and sym_extract_request. Use sym_sequence to get the pks.
  • [Bug] Incoming ProcessInfo is not marked as ERROR when a batch ERROR occurs. It is marked as OK.
  • [Task] Upgrade the spring framework to the latest released version
  • [Improvement] Date format setting in triggers
  • [Bug] java.lang.NumberFormatException w/ MSSQL and BIT column
  • [Bug] PostgreSqlTriggerTemplate not handling timezone fractional minutes properly when timezone minute < 10
  • [Improvement] increase channel_id size
  • [Bug] old data showing up as an array of nulls versus an array that is null causes a code path to be missed that strips out pks
  • [Improvement] Add parameter to disable sync triggers at server startup
  • [Bug] Uninstalling symmetric from the database staging area doesn't get wiped out
  • [Bug] nvarchar data can be corrupted when the default database collation is set to a value that does not support double byte character
  • [Improvement] On sql server build triggers with "execute as owner" so less grants are need for application users

New in SymmetricDS 3.5.22 (May 29, 2014)

  • [Bug] null pointer at startup when sync.url is null in the database (chenson) - resolved.
  • [Bug] Trigger errors for large numerics on SQL Server: Arithmetic Overflow Error (josh-a-hicks) - resolved.
  • [Improvement] Add initial.load.before.sql and initial.load.after.sql which can contain sql that runs on the client before and after a load (chenson) - resolved.
  • [Improvement] Cache node group links (chenson) - closed.
  • [Improvement] Disable page level locking and enable row level locking on sym_data and sym_data_event (chenson) - closed.
  • [Bug] The keystore type should be settable via a system property. It is currently hardcoded. (chenson) - closed.
  • [Improvement] Add a new column transform that can be used to set a column to the value from a SymmetricDS parameter (chenson) - closed.
  • [Improvement] MSSQL Bulk Loader support for UNC paths (elong) - closed.
  • [Bug] When trigger.update.capture.changed.data.only.enabled is enabled on SQL Server and old data capture is off, updates don't work (chenson) - closed.
  • [Improvement] MSSQL Bulk Loader support for columns in different order (elong) - closed.

New in SymmetricDS 3.5.21 (May 27, 2014)

  • [Bug] Extract millis aren't captured on outgoing batch when initial.load.use.extract.job.enabled is true
  • [Improvement] Transforms should be case insensitive when matching catalog, schema, tablename and columns to make configuration much easier
  • [Improvement] Default auto.reload.sym.tables.on.upgrade to false
  • [Bug] network_millis on outgoing batch is incorrect
  • [Bug] snapshot functionality null pointers in open source
  • [Improvement] Passing the correct data type to select data statement improves performance on Postgres
  • [Bug] early commit doesn't work when data rows are in conflict. the [Improvement] Provide the ability to pass the load time and network time to be populated in outgoing batch via the rest service

New in SymmetricDS 3.5.20 (Apr 17, 2014)

  • [Improvement] Support capturing only changed data (trigger.update.capture.changed.data.only.enabled) on SQL Server (chenson) - closed.
  • [Bug] MySQL and SQL-Server bulk loaders handle BLOBs between different platforms (elong) - closed.
  • [Bug] SqlUtils is not thread safe. Can result in OOM errors. (chenson) - closed.
  • [Bug] NullPointer with MSSQL Bulk Loader (elong) - closed.
  • [Bug] SQL Server bulk loader does not handle comma (elong) - closed.

New in SymmetricDS 3.5.19 (Mar 17, 2014)

  • [Improvement] SQL Server bulk loader option to fire triggers
  • [Bug] SQL Server bulk loader extra spaces causes truncation error
  • [Bug] CSV is missing "columns" row when two different sets of columns are being used with three different inserts or updates
  • [Bug] SQL Server bulk loader does not handle BLOB
  • [Bug] MySQL bulk loader error with Windows-based server
  • [Improvement] Snapshot utility properties show changes, remove passwords, and sort
  • [New Feature] Add capture changed data only to Postgres
  • [Improvement] REST call for client to know how many batches and rows are waiting
  • [Improvement] MySQL and SQL-Server bulk loaders loading rows multiple times
  • [Bug] MySQL bulk loader does not load NULL
  • [Bug] MySQL bulk loader columns out of order

New in SymmetricDS 3.5.18 (Mar 6, 2014)

  • [Bug] Stage manager doesn't check to see if a file is actually deleted when it qualifies for cleaning.
  • [Bug] Background initial load extract can get stuck.
  • [Bug] Overlapping database pull processes after connection outage - Default pull.thread.per.server.count=1
  • [Improvement] Add Map-based methods to TransformData so one can more easily lookup target transform data
  • [Improvement] Allow old source values to be accessible to other column transforms than just copy column
  • [Improvement] Create new 'copy if the value has changed' column transform
  • [Improvement] Create a set of two transforms that can map a series of columns to a series of rows based on a Map
  • [Improvement] Reduce default purge retention period
  • [Bug] CopyIfChangedTransform should only evaluate on non-delete DML

New in SymmetricDS 3.5.17 (Feb 17, 2014)

  • [Task] Generate parameter documentation automatically from symmetric-default.properties.
  • [Bug] Jobs can lock up if jobs.synchronized.enable is on and routing.peek.ahead.window.after.max.size is smaller then data rows
  • [Improvement] Column match router support for "contains" and "not contains"
  • [Improvement] symadmin reload-table - pass multiple tables
  • [Bug] NullPointerException when initial.load.create.first is on using wildcard trigger definitions on postgres
  • [Bug] Audit tables don't get created .
  • [Improvement] Firebird trigger should be created at a position other than 0 so that users can define triggers that fire before the sym trigger
  • Routing using TransactionId causes bad routing when H2 DB is restarted
  • [Bug] Ambiguous reference to sysindexes
  • [Bug] Transforms that are symmetric aware can get the wrong symmetric engine when multi-homed
  • [Bug] System clock goes too fast
  • [Bug] Windows Problem Calling sym.bat from Another Drive .
  • [Bug] Peek ahead window smaller than expected
  • [Bug] Too many routers are run when file sync targets more than one node group
  • [Improvement] File Sync's default batch algorithm should be nontransactional
  • [Bug] target_base_dir can be null in file_trigger. causes null pointer in filesyncservice save of snapshot due to / replacement
  • [New Feature] Expose the relative target directory as a variable that can be scripted in order to flatten the directory structure in file sync
  • [Improvement] Create new value map column transform

New in SymmetricDS 3.5.16 (Feb 7, 2014)

  • [Improvement] If there are no primary keys defined when the database writer is processing an update or delete report an error. - closed.
  • [Improvement] Allow the sym commands to be added to PATH and be called from any location - closed.
  • [Improvement] Need a math transform for transforming columns. - closed.
  • [Bug] Upgrade of schema from 3.3 to 3.5 on H2 fails - closed.
  • [Bug] API - transactions aren't being committed in the sequence service api for applications (outside of symmetricds) that use the api - closed.
  • [Improvement] Unlock should use symmetricds server time, not database time, for consistency. - closed.
  • [Bug] Table definition does not update correctly (postgresql) - closed.
  • [Bug] Subdirectories with file sync from Windows to Linux has backslashes - closed.
  • [Bug] Delete of file is not synced - closed.
  • [Bug] Sybase ASE : Lost precision from Datetime fields - closed.
  • [Bug] REST API HEARTBEAT returning NotAllowException - closed.
  • [Bug] API - ddl of type CLOB for sql server tries to change the column type on restarts - closed.
  • [Bug] Wildcard triggers for tables with same name in different catalog/schema - closed.
  • [Bug] Columns in old data are not transformed causing conflict detection - closed.
  • [Improvement] Add the ability to use the old column value to the list of variable column transform options - closed.
  • [Task] Example of configuring log4j to send errors over email - closed.

New in SymmetricDS 3.5.15 (Feb 7, 2014)

  • [Bug] Symmetric databases install fails on Postgres - resolved.
  • [Improvement] Change to sync.url not picked up - closed.
  • [Bug] Target schema and catalog are not picked up on second router to the same node if different from the first router - closed.
  • [Bug] Fix *nix sym and setenv shell scripts after bug introduced in 3.5.14 - closed.

New in SymmetricDS 3.5.14 (Feb 7, 2014)

  • [Improvement] Build up classpath differently so path too long error isn't encountered in windows - closed.
  • [Bug] rebuild of trigger hist fails on some platforms (postgres, firebird, oracle) when upgrading from 3.1 to 3.5 - closed.
  • [Improvement] Add further details about Linux installation as a service options - closed.
  • [Improvement] For system snapshot capture not only outbound table definitions, but also incoming table definitions - closed.
  • [Improvement] When applying a SQL event, support multiple SQL statements. Support additional replacement tokens. - closed.
  • [Improvement] Add information about data gaps to the snapshot - closed.
  • [Bug] Routing can get stuck if there are lots of gaps that range across a large amount of data that has already been routed - closed.
  • [Bug] isDataGapExpired() in DataGapDectector can leave old gaps if the next data id is not present - closed.
  • [Bug] integer value logged correctly at server, but inserted as different value at client - closed.
  • [Bug] Unable to create trigger if primary key column excluded - closed.
  • [Bug] API - createTriggersOnChannelForTables() fails when it encounters a table name that is longer than 50 characters - closed.

New in SymmetricDS 3.5.13 (Jan 7, 2014)

  • [Bug] Triggers not created when "handle key updates" enabled (mhanes) - closed.
  • [Improvement] Assign a load id to batches that contain reload events when the batch is created during routing (chenson) - closed.
  • [Task] Add blurb about the resolve_row_only column's functionality in the NEWER_WINS resolve type documentation. (chenson) - closed.
  • [Bug] NullPointerException on Android when INTENTKEY_PROPERTIES is not provided in the Intent when starting service (chenson) - closed.
  • [Improvement] API Improvement - Added getTableTypes() to IDdlReader (chenson) - closed.
  • [Bug] Firebird TIME fields don't synchronize properly because of the fractional seconds component (chenson) - closed.
  • [Bug] sqlscriptreader has bug where tokens aren't replaced if the script has a single sql statement with no end of statement token (chenson) - closed.
  • [Improvement] Add API Operation description to the REST API (mhanes) - closed.
  • [Bug] Stream Lobs for SQL Server fails with bad trigger syntax (mhanes) - closed.
  • [Bug] Time and Timestamp field issues on Firebird and Postgres databases (chenson) - closed.
  • [Bug] Table reload broken on Sybase ASA 9 (elong) - closed.
  • [Improvement] Add variables to initial load delete SQL (elong) - closed.

New in SymmetricDS 3.5.12 (Dec 30, 2013)

  • REST API - default schema and/or catalog are filled in for generated sql statement even if they are blank in sym_trigger (chenson) - closed.
  • REST API - setting the target schema and/or catalog does not work when using the REST API (chenson) - closed.
  • trigger creation failed with MSSQL database column of nvarchar and ntext data type using the microsoft jdbc driver (chenson) - closed.
  • Sync triggers on Oracle: Maximum open cursors exceeded (elong) - closed.
  • Reload from TABLE_RELOAD_REQUEST does not support deletes (elong) - closed.
  • Node Ids don't work in URLs if they have spaces in them. Need to urlencode the node id. (chenson) - closed.
  • Oracle DDL Util issue isn't correctly recognizing varchar2() columns (chenson) - closed.
  • sync blocks with java error when a field with affinity 'INTEGER' contains a (empty) string (chenson) - closed.
  • When using DmlStatement if columns are not provided then generate a select * for the SELECT_ALL type (chenson) - closed.
  • SymmetricEngineHolder doesn't update engine count when installing a new engine (mhanes) - closed.
  • Updates and Deletes can fail when a transform exists that have PKs where the source and target column names are different (chenson) - closed.
  • Replication From Branch to Central Broken (Firebird at Both Ends) (chenson) - closed.
  • If a create event and update event for a file happen in the same batch the building of the zip file fails (chenson) - closed.
  • Don't log stack trace on a file sync conflict. Just log the message. (chenson) - closed.
  • File Sync "sync_on_delete" not honored. (chenson) - closed.
  • Background extract process currently just handles one request at a time. Change to handle multiple requests. (chenson) - closed.
  • Mark outgoing batches as OK during the start of an initial load can hang until the config channel has been pulled (chenson) - closed.
  • Staging manager bases purging of staging files based on create time of the resource, not the last modified time of the file. (chenson) - closed.

New in SymmetricDS 3.5.11 (Nov 16, 2013)

  • [New Feature] Update ddl utils xml to support specific database types so create schema commands replicate the same schema on same databases (chenson) - closed.
  • [Improvement] Provide global parameter to specify that BSH database writer filters will handle missing tables (mhanes) - closed.
  • [Improvement] Add support for allowing a database writer filter to change the target tables catalog, schema and table name (chenson) - closed.
  • [Bug] ignore case parameter should apply to only the table (not schema and catalog) for now in the load filter (chenson) - closed.
  • [Improvement] Expose apis to prefix a Database and read a list of Table from the physical database (chenson) - closed.
  • [Bug] PostgreSQL timestamp with timezone columns won't sync for very old, European dates. (mhanes) - closed.
  • [Improvement] Add support for Oracle's TIMESTAMP WITH LOCAL TIME ZONE data type (chenson) - closed.
  • [Bug] On postgres, when sync triggers is run from symadmin tool the generated triggers put null into the transaction id field (chenson) - closed.
  • [Bug] Stored procedure with NOCOUNT is rolled back (elong) - closed.

New in SymmetricDS 3.5.10 (Oct 21, 2013)

  • [Bug] sym_pkg is hard coded in the oracle dialect so the prefix parameter doesn't work on Oracle (chenson) - closed.
  • [Improvement] Improve memory footprint usage when big lobs are in flight (chenson) - closed.
  • [Improvement] Implement simple conflict resolution for file sync (chenson) - closed.
  • [Bug] Statements are being prepared too often. Results in poor data loading performance on Firebird (and possibly other platforms) (chenson) - closed.
  • [Improvement] Change error message if a batch fails to transport because of an EOF error to be more intuitive. (chenson) - closed.

New in SymmetricDS 3.5.9 (Oct 12, 2013)

  • When a file is modified on Windows it is not unpacked at the target of a file sync (chenson)
  • SQLite primary keys only recognized when they are in column position 1. (mhanes)
  • Expose api so a single sym table and single trigger can be installed without other SymmetricDS configuration (chenson)
  • Set table name on processinfo before attempting extract query for initial load (chenson)
  • Multi-homed temp file system should be keyed by engine name to prevent collisions (mhanes)

New in SymmetricDS 3.5.8 (Sep 26, 2013)

  • [Bug] Postgres datetime with timezone not formatted correctly when timezone_hour offset = 0 and timezone_minute offset < 0 (gwilmer) - closed.

New in SymmetricDS 3.5.7 (Sep 17, 2013)

  • [Bug] USE_STREAM_LOBS=1 in Oracle does not replicate LOB data (chenson) - closed.
  • [Improvement] TriggerRouterService should cache a list of TriggerRouter's for each channel instead of querying db each time. (abrougher) - closed.
  • [Bug] Numeric(15,5) type columns are truncated when written to Sybase dialects. (abrougher) - closed.

New in SymmetricDS 3.5.6 (Sep 9, 2013)

  • [Bug] money field type with PostgreSQL (chenson) - closed.
  • [Bug] When USE_CAPTURE_OLD_DATA is not set, the database writer will not update non null columns to null. (abrougher) - closed.
  • [Bug] The database uninstall feature does not remove the sym_ H2 trigger tables. (abrougher) - closed.

New in SymmetricDS 3.5.5 (Sep 9, 2013)

  • [Improvement] Add db.read.strings.as.bytes to turn on functionality to better control character encoding on MySQL (chenson) - closed.
  • [Bug] transform_table.target_table_name should be optional according the documentation. the transform code requires that is be set (chenson) - closed.
  • [Improvement] When data is transformed the old values are not retained. (abrougher) - closed.
  • [Bug] Null pointer in log message when initial load extract job is turned on and a table takes longer than 60 seconds to extract (chenson) - closed.
  • [Bug] Config and heartbeat batches can be lost if initial load is scheduled (chenson) - closed.
  • [Bug] If sym_trigger_router.initial_load_delete_stmt is not set, then the initial.load.delete.first.sql property should be used (chenson) - closed.
  • [Bug] Implied transforms are not implying individual DML transforms. (abrougher) - closed.
  • [Improvement] Conflict detection mechanism USE_CHANGED_DATA should be able to specify columns to ignore. (abrougher) - closed.

New in SymmetricDS 3.5.4 (Aug 21, 2013)

  • [Bug] Setting a batch to status of IG causes exception when initial.load.use.extract.job.enabled is set to true (chenson) - closed.
  • [Bug] When initial.load.use.extract.job.enabled is set to true the byte count and data count aren't being captured (chenson) - closed.
  • [Bug] dbexport doesn't work with SQL Anywhere (abrougher) - closed.
  • [Bug] "The current version of 3.5.3 is newer than the last running version of 3.4.5" prints out many times in the log file at INFO (chenson) - closed.
  • [Bug] Postgres alter to add a default varchar value to a column without a default value fails (chenson) - closed.
  • [Bug] Not routing configuration properly when a source node group has multiple target node groups (chenson) - closed.
  • [Bug] The issue with jConnect JDBC, SQL Anywhere and decimal value (chenson) - closed.
  • [Bug] Bad external_dataThe bean shell router should unbind external data if it is void because the interpreter is reused (chenson) - closed.

New in SymmetricDS 3.5.3 (Aug 13, 2013)

  • [Bug] DB2 table needs reorg after dropping a column. (abrougher) - closed.
  • [Bug] Alter generated by table upgrade that requires a rebuild of the table, and includes the addition or removal of columns, fails (chenson) - closed.
  • [Bug] On extraction retries the data_event_count is not reset (chenson) - closed.
  • [Improvement] When initial loads are configured to extract in the background, multiple load requests can queue up on top of each other (chenson) - closed.
  • [Bug] dropping a column with a default value fails on sql server because of default constraint (chenson) - closed.
  • [Bug] The primary key constraint name needs to be quoted when dropping a PK on Postgres (chenson) - closed.
  • [Bug] DB2 dropping column that is part of a composite primary key on a table causes error (chenson) - closed.
  • [Bug] RestService handleError method should be public. Exceptions are not being serialized to the client properly (chenson) - closed.
  • [Bug] alterTables(boolean continueOnError, Table... desiredTables) in platform should use isRequiresAutoCommitForDdl (chenson) - closed.
  • [Improvement] When SymmetricDS starts, schedule the first run of the periodic jobs the period amount away from the last run (chenson) - closed.

New in SymmetricDS 3.5.2 (Aug 5, 2013)

  • [Bug] SQL Server DateTime2 type does not work with conflict resolution. (abrougher) - closed.
  • [Bug] If a custom column transformation isn't found the engine silently ignores it. An error should be thrown. (chenson) - closed.
  • [Improvement] Speed up bsh column transform by evaluating a transform as a method once and then call that method for each data element (chenson) - closed.
  • [Improvement] Print out statistics if data rows in associated with a table/batch take longer than 60 seconds to process (chenson) - closed.
  • [Bug] reloadTable JMX method and command should always route to the node_list (chenson) - closed.
  • [Bug] Initial load ignores subselect routers and routes to all nodes. (chenson) - closed.
  • [Bug] Table object passed to DatabaseWriterFilters do not have types on them any more (chenson) - closed.
  • [Bug] Push batch not getting acked when multiple batches exist and it passed the transport.max.bytes.to.sync threshold (chenson) - closed.
  • [Bug] PK transform columns transformations run twice (chenson) - closed.
  • [Bug] The batch URL feature is broken (chenson) - closed.
  • [Bug] rest service should set the engine name for logging (chenson) - closed.
  • [Bug] StagedResource.setState should support setting the state to itself without failing (chenson) - closed.
  • [Bug] Background initial load extract was allowing the client to start pulling data for a table that was currently extracting (chenson) - closed.

New in SymmetricDS 3.5.1 (Jul 25, 2013)

  • The issue with jConnect JDBC, SQL Anywhere and decimal value (abrougher) - closed.
  • Upgrade to 3.5.0 causes sym_trigger_hist to be rebuilt (chenson) - closed.
  • alter of default column value on postgres is not working (chenson) - closed.
  • Sybase ASE can not return columns with the alias "count". (abrougher) - closed.
  • The reload table JMX method and command isn't working (chenson) - closed.
  • When using PayloadType.SQL Symmetric doesn't pay attention to target database catalog and schema rules (gwilmer) - closed.

New in SymmetricDS 3.5.0 (Jul 23, 2013)

  • Restart of Android job manager fails when job parameters are changed in the database (chenson) - closed.
  • Allow users to insert custom trigger text in the Symmetric triggers. (abrougher) - closed.
  • Inserting leading or trailing spaces in column ROUTER_EXPRESSION on table ROUTER produce ER in outgoing batch (chenson) - closed.
  • Unrouted batches can't be extracted http://localhost:31415/batch/-1-50 [^] gets a 404 (chenson) - closed.
  • rename snapshot files from yyyyMMddhhmmss.jar to {engine.name}-yyyyMMddhhmmss.zip (chenson) - closed.
  • Use a constant router_id for the virtual sym_ tables instead of an ever incrementing number (chenson) - closed.
  • Implement file synchronization (chenson) - closed.
  • SymmetricDS support for Sybase Database (abrougher) - closed.
  • Install a default ssl cert if none exists when ssl is turned on so that ssl works by default (chenson) - closed.
  • Add interactive command line sql tool. dbsql (chenson) - closed.
  • Open source the android client implementation (chenson) - closed.
  • EXCLUDED COLUMNS in triggers can't participate in lookuptable router expressions (chenson) - closed.
  • Invalid target node on "lookup table data router", trouble cache key resolution (chenson) - closed.
  • Wildcards don't work on Derby, DB2, and HSQLDB (chenson) - closed.
  • bind a logger as the "log" variable to the beanshell router, column transform and load filter to make debugging easier (chenson) - closed.
  • db. properties are not overridable as -D system properties (chenson) - closed.
  • Table sym_node_group_channel_window exceeds the max table name length for Sybase ASE 12. (chenson) - closed.
  • Bind initialLoad flag to the beanshell data router so it can making routing decisions on initial load (chenson) - closed.
  • JdbcSqlTransaction not logging sql and args for some methods (chenson) - closed.
  • Mariab driver doesn't recognize tables in a different database (chenson) - closed.
  • Change license to GPL 3.0 (chenson) - closed.
  • Add REST API methods to allow a "Pull Only" client (gwilmer) - closed.
  • A null pointer happens when trying to schedule load when sync triggers has never run (chenson) - closed.
  • Locally suspended channels are ignored when a node is pushing during extraction. (abrougher) - closed.
  • Update sqlite jdbc driver to the latest version to fix result set metadata issue. Allows unit tests to pass. (chenson) - closed.
  • Table creation on reload creates columns with default of 'NULL' incorrectly. (chenson) - closed.
  • Add new parameter to dbexport to request that dates and time NOT be in JDBC format (chenson) - closed.
  • Do not query the RECYCLEBIN while reading table metadata to see if the table has been recycled. (chenson) - closed.
  • SymmetricDS cannot operate on Oracle tables with dollar sign in name (chenson) - closed.
  • NPE during conflict resolution (use_version -> newer_wins) (chenson) - closed.
  • The IDatabaseWriterFilter should always be passed the source table, not the target table (chenson) - closed.
  • reload table doesn't work with wildcard triggers (chenson) - closed.
  • the sendSql JMX method and command can end up with multiple batches due to timing issue (chenson) - closed.
  • Add support for the MySQL POINT data type. (abrougher) - closed.
  • Numeric type on postgres should be read in as a JDBC decimal type (chenson) - closed.
  • Prevent invalid size DDL of (0) or (0,0) to be written for data types that have size (chenson) - closed.
  • BSH Load filter will not execute unless table exists on the target database. (abrougher) - closed.
  • Speed up queries against sym_data, sym_data_gap and sym_outgoing_batch on postgres (chenson) - closed.
  • Sync on incoming batch causes ping-back when in common batch mode (chenson) - closed.
  • (Firebird) 64-bit Sym_UDF.dll (chenson) - closed.
  • Hash trigger text in sym_trigger_hist so we know when triggers change to force a rebuild. (abrougher) - closed.
  • The load filter target table value should only be case sensitive on case sensitive databases. (abrougher) - closed.
  • REST API doesn't return heartbeat interval properly when getting node status (gwilmer) - closed.
  • Reload node events are not taking place in the correct order. (chenson) - closed.
  • Bind column names using original case versus requiring router expressions to reference them in UPPER case. (abrougher) - closed.
  • Bind column names using original case and UPPER case for load filters. (abrougher) - closed.
  • Attempt recovery from corrupt trigger_hist table by looking up trigger_hist rows by table name when the table name mismatches (chenson) - closed.
  • node_communication locks don't time out (chenson) - closed.
  • Add sym_registration_request to the purge process (chenson) - closed.
  • ArrayOutOfBoundsException - during removal of column (chenson) - closed.
  • stream.to.file.threshold.bytes and stream.to.file.ttl.ms were documented as overridable in the database but weren't really (chenson) - closed.
  • The /batch url always extracts from the database. It should extract the same way the pull does (use staging). (chenson) - closed.
  • Transforms with a source column containing an empty string or white space fail. (abrougher) - closed.

New in SymmetricDS 3.4.9 (Jul 17, 2013)

  • [Bug] Missing columns at target table can cause columns after the missing columns to not be updated

New in SymmetricDS 3.4.8 (Jul 4, 2013)

  • [Bug] Transforms can cause an error when attempting to use the create tables feature of SymmetricDS (chenson) - closed.
  • [Bug] Possible lock up during extraction. If the max number of locks are reached on a batch the extract method can hang forever (chenson) - closed.
  • [Improvement] Add setting in web.xml to allow the engines to be stored statically so multiple wars in an ear can reference the same engine (chenson) - closed.

New in SymmetricDS 3.4.7 (Jul 4, 2013)

  • [Bug] StackOverflowError can happen when a transform exists and the primary keys mismatch causing conflicts on both update and insert (chenson) - closed.
  • [Bug] If an Error (versus an Exception) happens during the data load process, the database transaction can be left hanging (chenson) - closed.
  • [Bug] EXTERNAL_DATA is not available for routing for event types other than I, U, or D (chenson) - closed.

New in SymmetricDS 3.4.6 (Jul 4, 2013)

  • [Bug] Mariadb driver is chosen even though the MySQL driver is specified (chenson) - closed.
  • [Bug] Oracle NUMBER datatype is incorrectly mapped to an Integer data type. (abrougher) - closed.
  • [Bug] Node communication records can be stranded (chenson) - closed.
  • [Improvement] Allow additional paramters min idle and max idle on connection pool (gwilmer) - closed.
  • [Improvement] Add a parameter that turns off writing to sym_incoming_batch altogether unless there is an ER (chenson) - closed.
  • [Bug] common batches report data_event_count on outgoing_batch only on the first batch (chenson) - closed.
  • [Bug] When an incoming_batch is finished, it's status is updated twice. (chenson) - closed.
  • [Improvement] Add JMX method to extract batches to a file for a node and time and channel ranges (chenson) - closed.

New in SymmetricDS 3.4.5 (Jul 4, 2013)

  • [Bug] lookup column transform throws null pointer when used during extract (chenson) - closed.
  • [Bug] Backwards compatibility change. Use the client's Charset-Accept http header to decide what encoding to use. (chenson) - closed.
  • [Bug] reloadTable race condition (chenson) - closed.
  • [Bug] The initial load sql is not overridden in the reloadTable method (chenson) - closed.
  • [Bug] Wrong number of sym_data_events being logged when routing common batch (chenson) - closed.
  • [Bug] Reading of MySQL tables can sometimes include the PRIMARY index if the primary key columns aren't at the start (chenson) - closed.
  • [Bug] NullPointerException in BshDataRouter for reload events (chenson) - closed.
  • [Bug] DataService.insertData(Data data) should populate external_data (chenson) - closed.
  • [Bug] https settings in symmetric-server.properties not working with sym_service (chenson) - closed.
  • [Bug] Issue with detecting whether batch is common or not. (chenson) - closed.
  • [Improvement] Add the ability to NOT add triggers to a client database until initial load has finished (chenson) - closed.
  • [Bug] ping_back settings broken for conflict resolution. class cast exception. (chenson) - closed.

New in SymmetricDS 3.4.4 (May 13, 2013)

  • [Bug] DB2 text column default value metadata values are quoted. Need to remove quotes when reading table metadata from database.
  • [Bug] dataloader.ignore.missing.tables not working for initial load when initial.load.delete.first=true

New in SymmetricDS 3.4.3 (May 11, 2013)

  • Wild card expressions are currently broken (chenson) - closed.

New in SymmetricDS 3.4.2 (May 3, 2013)

  • [Improvement] Remove file sync tables. They should not have been released yet. (chenson) - closed.

New in SymmetricDS 3.4.1 (May 3, 2013)

  • [Improvement] Verify that NOCOUNT is off for SQL Server before starting SymmetricDS. When NOCOUNT is turned on SymmetricDS won't work. (chenson) - closed.
  • [Improvement] Add new property db.init.sql that allows sql to be run against a database connection right after it is created (chenson) - closed.
  • [Improvement] Record ProcessInfo for server side registration process so it can more easily be monitored for errors (chenson) - closed.

New in SymmetricDS 3.4.0 (May 3, 2013)

  • [Bug] Allow wild card load filters to work on tables sharing the same prefix as the symmetric tables. (chenson) - resolved.
  • [Improvement] MySQL trigger throwing error on special characters (chenson) - closed.
  • [Bug] registration_enabled doesn't get set to 0 when node is really registered (chenson) - closed.
  • [Bug] There are 2 log4j-1.2.16.jar files in the symmetricds deployment (chenson) - closed.
  • [Improvement] Make the 3.x use 1.x protocol for backwards compatibility (chenson) - closed.
  • [Improvement] Exclude sym_ tables from being effected by wildcard load filters (chenson) - closed.
  • [Improvement] Add new web.xml setting that controls whether the symmetric engine(s) are started (chenson) - closed.
  • [Improvement] Bind all of the symmetric properties to the spring context for use in extensions points (chenson) - closed.
  • [Bug] Registration can fail when multiple sym_node records exist with a null created_at_node_id value (chenson) - closed.
  • [Bug] Triggers not removed when sym_trigger source_ catalog, schema or table name changed (chenson) - closed.
  • [Bug] MySQL upgrade issueColumns not modified when symmetricds table columns type or size change (chenson) - closed.
  • [New Feature] Add option to dbexport to NOT use quoted identifiers when exporting data as SQL (chenson) - closed.
  • [Bug] sym_data_gap referenced directly instead of using sync.table.prefix (chenson) - closed.
  • [Bug] Ignore batch is not working for an initial load batch that was failing to extract because of a bad initial_load_select (chenson) - closed.
  • [New Feature] JNDI DataSource Support (chenson) - closed.
  • [Improvement] Provide a way to blank out the target schema/catalogs in sym_router (chenson) - closed.
  • [Improvement] Allow the sync.url to be blank. Past versions of SymmetricDS allowed this and defaulted to using the registration.url (chenson) - closed.
  • [Bug] When dead triggers are disabled SymmetricDS attempts to delete triggers that don't exist. Causes warning in log file. (chenson) - closed.
  • [New Feature] Add a new "remove" column transform type that can be used with implied table transforms to remove a column completely. (chenson) - closed.
  • [Improvement] Add support to use the jboss.binding.address system property in JBoss 7 for the cluster.server.id (chenson) - closed.
  • [Improvement] Add new parameter to make heartbeat at server startup optional. Defaulting heartbeat at startup to off. (chenson) - closed.
  • [Bug] Null pointer happens if trigger router is removed for a reload event that has not been sent. Should just skip the reload event. (chenson) - closed.
  • [New Feature] Expose information about the processes that are currently running via an api to be used to inspect what is going on in an engine (chenson) - closed.
  • [Bug] Log error message when an invalid sync_key_name column is specified. If no columns match, then return the original keys. (chenson) - closed.
  • [Improvement] Make the max_batch_size for the config channel bigger (2000) than its current default of 100 (chenson) - closed.
  • [Bug] Marking of old incoming batches as OK during initial load should also include the setting of the error_flag to 0 (chenson) - closed.
  • [Improvement] Set the default fetch size to 100. 1000 is a little big for smaller installations or for database with very BIG rows. (chenson) - closed.
  • [Improvement] Reuse nodes when auto.registration is turned on so you don't end up with a bunch of stranded nodes (chenson) - closed.
  • [Bug] If a database error occurs while initializing SymmetricDS the error bubbles out of a startup thread and is logged to std err (chenson) - closed.
  • [Bug] If a protocol error happens during extract (corrupted staging file), then delete the staging file so it will be reextracted (chenson) - closed.
  • [Bug] For an initial load on push, exit out of load loop if one of the batches failed (chenson) - closed.
  • [Improvement] Add DbFill support for PostgreSQL 'text' and 'active_inactive' column types. (chenson) - closed.
  • [Bug] Audit router throws NPE on Oracle and PostgreSQL. (chenson) - closed.
  • [Bug] Selection of batches is short circuited when a channel is encountered that is missing or disabled (chenson) - closed.
  • [Bug] Don't refresh the ParameterService cache if the database is unavailable because you can end up misconfigured for a timeperiod (chenson) - closed.
  • [Improvement] Add reload_id and create_by to sym_outgoing_batch (chenson) - closed.
  • [Improvement] Add support for MariaDB's Jdbc Driver (chenson) - closed.
  • [Bug] Parameters are not refreshed right after registration (chenson) - closed.

New in SymmetricDS 3.3.7 (Apr 16, 2013)

  • [Improvement] Performance ImprovementMany calls are being made to the file system to check if file exists while extracting big batches (chenson)
  • [Bug] postgres - Syncing slow for tables with bigint keys (chenson)
  • [Bug] postgres - Inserts fail on reverse reload events when a table contains duplicate rows. (chenson)

New in SymmetricDS 3.3.6 (Apr 16, 2013)

  • [Bug] SQL Server 2000 triggers are being created using the 'max' keyword, which 2000 does not support. (abrougher)
  • [Bug] NPE in conflict resolution when detecting a conflict using TIMESTAMP and existing row doesn't exist (gwilmer)
  • [Bug] Multiple reverse reloads can be queued up because of timing issues (chenson)
  • [Bug] An incoming batch can be left stranded in the ER state after an initial load sets the outgoing batch to OK (chenson)
  • [Bug] symmetric-server.properties enable flags for ssl are not working (chenson)
  • [Bug] Prevent invalid warning that expected ack was not received (chenson)
  • [Bug] When a reload is queued up the outgoing batches should be marked as OK in reverse order so as to not cause FK issues (chenson)
  • [Bug] NullPointerException can happen on reload events queued up by sym_table_reload_request during an upgrade (chenson)
  • [Bug] Audit router causes NPE on MySQL. (chenson)
  • [Bug] Fatal Error (like OOM) could possibly cause a reload event to be stranded in sym_data and routed to all child nodes (chenson)
  • [Bug] Don't allow api status methods if the engine isn't registered (gwilmer)

New in SymmetricDS 3.3.5 (Apr 16, 2013)

  • [Improvement] Add support for Sql Server 2000 (abrougher)

New in SymmetricDS 3.3.4 (Apr 16, 2013)

  • [Bug] If engine.name isn't used, then some services are not available. Should be available as long as there is only one node deployed (chenson)
  • [Bug] sync_keys isn't used to create triggers which causes a SQL Server table w/out primary keys and sync_keys to not capture updates (chenson)
  • [Bug] sqlite create tables quotes create_timestamp default values (chenson)
  • [Bug] sqlite create tables doesn't work because a transaction is in process and the database is locked (chenson)

New in SymmetricDS 3.3.3 (Apr 16, 2013)

  • [Bug] MySQL - error calling unknown function sym_transaction_idnull() (chenson)
  • [Improvement] Children node are selected from the database each heartbeat but not necessarily used, can be time consuming w. lots of children (chenson)
  • [Bug] Reload and config channel should never be "common" channels (chenson)
  • [Bug] Registration slow on Oracle with lots of nodes (chenson)

New in SymmetricDS 3.3.2 (Apr 16, 2013)

  • [Bug] SymmetricDS has to be restarted to recognize a change in the data load filter table. (chenson)
  • [Improvement] Allow sym_load_filter.target_table_name to be left blank so that filters are applied to all tables (chenson)
  • [Improvement] Updates of primary keys are not captured on SQL Server (gwilmer)
  • [Bug] Upgrade from 3.0.9 to 3.3.1 fails. Fix the oracle dialect so it can run alter statements to change column sizes (chenson)
  • [Improvement] Incoming Error's cur_data columns should reflect values at moment of conflict, not values prior to start of transaction (mhanes)
  • [Improvement] Introduce conf/symmetric-server.properties which contains http/https/jmx port/enabled settings and other server specific setting (chenson)
  • [Bug] --jmx-port and --jmx-disabled command line help is not available (chenson)
  • [Bug] Postgres datetime with timezone not formatted correctly when timezone offset < 0 and timezone offset has minutes (gwilmer)
  • [Improvement] Support synchronization of Oracle Synonyms (chenson)
  • [Bug] syncTriggers called multiple times when multiple batches have queued up for the client and at least one has config changes (chenson)
  • [Bug] Timestamps are not exported correctly using dbexport. (abrougher)
  • [Bug] DbExport allows --sql option without a table name argument. (abrougher)
  • [Improvement] Provide access to include-on and source dml type in bean shell transforms (mhanes)
  • [Bug] Reverse initial load may be computed and routed before triggers are done synchronizing when a client first registers (chenson)
  • [Improvement] Add new extension point ILoadSyncLifecycleListener which gets callbacks before and after a load sync (chenson)
  • [Bug] If trigger table name changes and the new trigger table name doesn't exist, the old triggers don't get remove from the old table (chenson)
  • [Improvement] Column transforms are being called even if the includeOn does not match. Only effects custom transforms that take some action. (chenson)
  • [Bug] sym_node_channel_ctl should not be included in the list of tables to load during registration (chenson)
  • [Improvement] Turn on sym_trigger.use_capture_lobs and sym_channel.contains_big_lobs by default for sym tables and the config channel (chenson)
  • [Bug] Update transform that falls back to insert does not retransform (chenson)

New in SymmetricDS 3.3.1 (Apr 16, 2013)

  • [Improvement] If an outgoing_batches status is set back to NE, then always re-extract it versus using the already staged batch. (chenson)
  • [New Feature] MariaDB Dialect (gwilmer)
  • [Bug] dataloader.error.save.curval=true doesn't work (chenson)
  • [Bug] Map of semaphores used to prevent concurrent extraction of individual batches are not cleaned up (chenson)

New in SymmetricDS 3.3.0 (Apr 16, 2013)

  • [Bug] When use_stream_lobs is on use_changed_data conflict resolution doesn't work because the lobs old data is always null (chenson)
  • [Improvement] Update Users Guide to describe how to deploy to separate machines (tutorial is multi-homed) (chenson)
  • [Bug] Error is not getting recorded in outgoing batch if there isn't a line number (chenson)
  • [Improvement] Default dataloader.ignore.missing.tables to false instead of true (chenson)
  • [Bug] syncTriggers should not abort when metadata cannot be read due to db permissions for just one trigger (chenson)
  • [New Feature] Include conflict_id reference in sym_incoming_error table to crossreference the type of conflict that occurred (chenson)
  • [Bug] stream.to.file.enabled=false is broken (chenson)
  • [Bug] Documentation for outgoing_batch is missing IG and has RE instead of RT and QE instead of QY (chenson)
  • [New Feature] Add the "current" (conflicting) data to a column in sym_incoming_error (chenson)
  • [Improvement] Before allocating push/pull jobs check to see if thread count has changed and if so, restart thread pool (chenson)
  • [Bug] Exception in clustered firebird environment (chenson)
  • [New Feature] Add last_update_by, last_update_time, create_time to transform_*, parameter, channel, node_group, and node_group_link (chenson)
  • [New Feature] Add new refresh cache job that can be turned on in a clustered environment to check for configuration changes (chenson)
  • [Bug] Unknown table "INFORMATION_SCHEMA.SESSION_STATUS" error for MySQL 5.0.XX (chenson)
  • [Improvement] Log better messages when server node is unavailable giving users a clue as to what action needs to be taken (admin)
  • [Improvement] BshDatabaseWriterFilter should bind the error to use in a HANDLE_ERROR script (chenson)
  • [Improvement] Don't write STOPPED for the last server id in sym_lock when releasing an infinite lock (chenson)
  • [Bug] Data event count and insert event count get lost for big reload batches because status is requeried and overwrites the values (chenson)
  • [New Feature] Add a mechanism for a remote node to request a table reload. This is helpful while rolling out new tables. (chenson)
  • [New Feature] Grouplets - Add a feature to specify a subset of nodes for which a router is enabled to allow piloting of configuration. (chenson)
  • [Improvement] Use the symmetric table name as the virtual trigger name instead of a hashcode of the table name (chenson)
  • [Improvement] Don't log staging area cleanup at the info level. Change logging to debug level (chenson)
  • [New Feature] If the minor version is upgraded, then (if you aren't the reg server) request a reload of key symmetric tables (chenson)
  • [New Feature] Add the ability to enable or disable trigger routers with an enabled column (chenson)