| Version |
Date |
Description |
| 1.5.0
|
2008-12-31 |
Column level synchronization support, DB2 dialect and synchronize configuration out to nodes |
| 1.4.3
|
2008-11-24 |
Patch Release |
| 1.4.2
|
2008-11-20 |
Patch Release |
| 1.4.1
|
2008-10-21 |
Patch Release |
| 1.4.0
|
2008-10-08 |
Lets add some polish |
| 1.3.4
|
2008-07-31 |
Patch release |
| 1.3.3
|
2008-04-22 |
Patch release |
| 1.3.2
|
2008-04-01 |
Patch release |
| 1.3.1
|
2008-03-29 |
a brave new frontier, patched |
| 1.3.0
|
2008-03-12 |
a brave new frontier |
| 1.2.0
|
2008-01-23 |
New dialects and bug fix release |
| Type |
Changes |
By |
 |
Added a DB2 Dialect. Fixes aid=1834030&atid=997727
. |
erilong
|
 |
Column level synchronization to merge rows that do not conflict. Fixes aid=1945266&atid=997727
. |
erilong
|
 |
Send all of SymmetricDS configuration in one batch during registration. Purge configuration tables
before inserts so we do not rely on fallback for configuration updates. Also removed the requirement for
SymmetricDS configuration table rows in sym_trigger. |
chenson42
|
 |
All SymmetricDS configuration tables (with the exception of node, node_security and node_identity) now
have SymmetricDS triggers created for them. A new out-of-the-box filter has been added to the data
loader to detect changes to the trigger table. If changes are detected triggers will be synchronized
automatically. |
chenson42
|
 |
Prevent registration before the node itself is registered Fixes aid=2450121&atid=997724
. |
erilong
|
 |
Added a hash of the trigger table row values into the trigger_hist table so if the trigger table values
change triggers will be regenerated. |
chenson42
|
 |
Fix decimal support between two servers with different locales Fixes aid=2162610&atid=997724
. |
erilong
|
 |
Support reserved column names on MySQL by quoting identifiers with a backtick (`) Fixes aid=2478888&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
"prepare" and "clean up" in the load() method of the IDataLoader as it is transactional. This is in
support of fixing MSSQL to not leave a table's identity insert state in the identity insert state of
off. |
chenson42
|
 |
Support ntext binary data type on SQL-Server Fixes aid=2322967&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
cleanupAfterDataLoad() at the batch commit instead of in close() in the CsvLoader. close() is called
outside the transaction and could be called on a different connection altogether in the connection pool. |
chenson42
|
 |
If auto.reload is set to true and the 'client requests' a new registration this means that the client
will also be expecting a new reload, even if the client has previously received one. |
chenson42
|
 |
Only add javax.servlet.Filter classes that implement IExtensionPoint to the list of SymmmetricFilter
filters. This should help applications that have their own Spring context that includes Spring managed
Filters. |
chenson42
|
 |
Use JDOM in XmlPublisherFilter to format the XML document. If you are upgrading and are currently doing
the escaping characters for XML, you'll probably want to remove that logic. |
chenson42
|
 |
The SQL-Server dialect was broken for the sync_on_incoming_batch feature. Fixes aid=2216936&atid=997724
. |
erilong
|
 |
The sample database was missing a trigger that prevented the demo initial load. |
erilong
|
 |
Quote column names so keyword names can be used Fixes aid=2171726&atid=997724
. |
erilong
|
 |
Use UTF-8 for transport reader to support Chinese and other charsets Fixes aid=2263359&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Batches were not being ordered correctly during the extraction when a channel was in error. |
chenson42
|
 |
Loss of precison with Float type on Oracle Fixes aid=2155736&atid=997724
. |
erilong
|
 |
Support base64 encoding on PostgreSQL. Fixes aid=2037604&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Added support for locale specific decimals numbers that use ',' for the decimal points. |
erilong
|
 |
Support for boolean data type on all platforms (support for tinyint(1) on MySQL) Fixes aid=2001909&atid=997724
. |
erilong
|
 |
Support binary data in MySQL BLOB columns Fixes aid=2174941&atid=997724
. |
erilong
|
 |
Fix batch errors hiding actual error on Postgres Fixes aid=2221304&atid=997724
. |
erilong
|
 |
Enhanced the RSS functionality a bit by adding published date field as the batch creation date, added
SQL error information if it exists and the number of times a batch errored out. |
chenson42
|
 |
Log the SQL error code and message and mark the outgoing batch as in 'ER' if the error happens on the
extract side. |
chenson42
|
 |
Clear out unsent events when an initial load is queue'd up. Fixes aid=1917203&atid=997724
. |
chenson42
|
 |
Fixed trigger creation issue for tables with no primary keys. Fixes aid=1944227&atid=997724
. |
chenson42
|
 |
Sorted outgoing batch in code to reduce stress on database. |
erilong
|
 |
Change index on sym_data_event to (batched, node_id, channel_id), which is how we are accessing the
table. |
erilong
|
 |
Improve performance by doing a multi-row count and update during batching. If the count is greater than
the max batch size, then we fall back to the peek ahead result set scrolling. |
erilong
|
 |
Cache channels query - we run this too much on high activity systems. |
erilong
|
 |
Went through code to make sure ALL literals in SQL were parameterized (even the ones that are not
variable). This makes a big difference on Oracle. |
erilong
|
 |
By default, the DataLoader uses fallback logic. (If an insert violates the primary key, perform an
update instead. If an update affects no rows, perform an insert instead.) Addd a runtime property that
lets you disable the fallback logic. Fixes aid=1985814&atid=997724
. |
chenson42
|
 |
Support an initial load pushed from client to server. Fixes aid=1956188&atid=997724
. |
chenson42
|
 |
Inactivating a sym_trigger by setting the inactive_time column to a non-null value was fixed. |
chenson42
|
 |
Fixed null pointer for blank my.url property. We now default my.url to blank in
symmetric-default.properties. |
chenson42
|
 |
Added IP address authorization. |
dmichels2
|
 |
Use MX4J's HTMLAdaptor for the stand-alone SymmetricDS instance so we have a nice JMX console. |
chenson42
|
 |
Added new extension architecture which allows extension points to be register automatically when they
are in the classpath and the META-INF/services/symmetric-*-ext.xml Spring file is found. Also added an
interface which allows extension points to be targeted for specific node groups. |
chenson42
|
 |
Change the property names to remove the inconsistent symmetric. and symmetric.runtime. prefixes. This
change keeps backwards compatibility with the old property names. |
chenson42
|
 |
Add the ability to override the Spring bean name used for an embedded DataSource. This allows users to
define their own DataSource. |
chenson42
|
 |
Register from the pull thread if the pull job has been enabled. This will allow an unregistered
SymmetricDS client to fully deploy to an application server without being registered. Fixes aid=1964509&atid=997724
. |
chenson42
|
 |
Drop foreign keys from the SymmetricDS configuration tables. They seem to get in the way for some
people. |
chenson42
|
 |
Make a push a two step process. First use a HEAD to see if the server is available, next do the actual
PUT. This solves an issue we have observed where the client PUSHES an entire pay load before the
response is sent. This solution relies on HTTP keep-alive. Fixes aid=1979581&atid=997724
. |
chenson42
|
 |
Added a new plug-in point, the IBatchListener. This new interface gives the end user a chance to do
something with a group of data rows that are in the same batch. See XmlPublisherFilter for an usage
example. |
chenson42
|
 |
Added a new plug-in point, the IExtractorFilter. This new filter can be useful to capture and react to
application events (for example a store close.) |
chenson42
|
 |
Pass the IDataLoaderContext into the IColumnFilter interface. Fixes aid=1961240&atid=997727
. |
chenson42
|
 |
Don't include the keys in data loader update statement if they haven't changed. This feature is turned
off by default and can be enabled by the new dont.include.keys.in.update.statement parameter. Fixes aid=1955378&atid=997727
. |
chenson42
|
 |
Add a stop() method to the SymmetricEngine API. Fixes aid=1955383&atid=997727
. |
chenson42
|
 |
Supported runtime configuration from the sym_parameters table and the periodic rereading of parameters
from the file system (as long as the ParameterService is being used.) Fixes aid=&atid=997727
. |
chenson42
|
 |
When db is unavailable during startup, add retry logic Fixes aid=1954979&atid=997727
. |
chenson42
|
 |
Recorded the timezone in sym_node for reporting purposes Fixes aid=1874255&atid=997727
. |
chenson42
|
 |
Added configuration setting for https's HostnameVerifier Fixes aid=1938886&atid=997727
. |
chenson42
|
 |
Added support for configuring the source table's catalog. Fixes aid=1953442&atid=997727
. |
chenson42
|
 |
Don't specify the schema in triggers if the schema/catalogs are specified in the trigger configuration. Fixes aid=1946085&atid=997727
. |
chenson42
|
 |
Upgrade to Spring Framework 2.5.5. |
chenson42
|
 |
Make changes to the filter and servlet configuration so the web.xml does not contain dynamic
configuration information. From this point forward we will provide a standard web.xml and configuration
is in the same place as all the other SymmetricDS configuration. |
knaas
|
 |
Support BLOB syncing on Oracle. Fixes aid=1826895&atid=997724
. |
chenson42
|
 |
Handle Oracle TIMESTAMP(9) data types. |
chenson42
|
 |
Fixed a bug with the SQL Server filter that removes identity columns from updates. When syncing from
other databases the column case may not match. We need to try to match regardless of case on the
columns. |
chenson42
|
 |
Preserved the original case of table names, table prefix, and foreign keys. Fixes aid=1916017&atid=997724
. |
chenson42
|
 |
Fixed the update trigger and the initial load for the HSQLDB dialect. Fixes aid=1940365&atid=997724
. |
chenson42
|
 |
Bug in selectDataIdSql. data_id was not qualified. Fixes aid=1944507&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Fixed peek ahead logic so that the max batch size limit is respected. Fixes aid=1950045&atid=997724
. |
chenson42
|
 |
Create function error on MySQL version before 5.019 Fixes aid=2025080&atid=997724
. |
erilong
|
 |
Use target schema when loading data across schemas Fixes aid=1963349&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Removed extra comma in mssql.xml trigger text. Fixes aid=1945207&atid=997724
. |
chenson42
|
 |
Multi-row updates don't work for the Sql Server Dialect. Fixes aid=1948790&atid=997724
. |
chenson42
|
 |
Time portion of DATE column not syncing. Fixes aid=1948109&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Make buildOutgoingBatches use only one connection from the connection pool vs the previous two it used. Fixes aid=1930496&atid=997724
. |
chenson42
|
 |
Don't put all ACKs in the same transaction. Fixes aid=1929400&atid=997724
. |
chenson42
|
 |
Introduce a compression filter that does not read an entire stream into memory before compressing. Fixes aid=1929395&atid=997724
. |
chenson42
|
 |
Fixed the isInitialLoadComplete JMX method so it works with the new asynchronous reload. Fixes aid=1918310&atid=997724
. |
chenson42
|
| Type |
Changes |
By |
 |
Queries need to alias columns on PostgreSQL in case reserved words like "limit" are used as a column
name. Fixes synchronization for Adempiere. Fixes aid=1924351&atid=997724
. |
erilong
|
 |
Fixed the PostgreSQL dialect to query for existence of triggers correctly, which was causing it to try
creating them on every startup. Fixes aid=1922524&atid=997724
. |
erilong
|
 |
Fixed the population of the failed_data_id on sym_outgoing_batch_hist, which was always zero. It should
link to the sym_data. Fixes aid=1913260&atid=997724
. |
erilong
|
 |
The oracle dialect should select from user_objects vs. all_objects to determine if the package variable
has been installed. Fixes aid=1914242&atid=997724
. |
chenson42
|
| Type |
Changes |
By |
 |
Changed Version.java to reference the pom.properties version that is packaged in the jar during a Maven
build. |
chenson42
|
 |
Only log node concurrency rejects every 10 minutes. |
chenson42
|
 |
Log fallback update/deletes at debug level instead of at the warn level. |
chenson42
|
 |
Don't log socket exceptions and HTTP 503 errors as stack traces, instead log as warnings. |
chenson42
|
 |
Make DataService.reloadNode(node_id) transactional. If it isn't we run the risk of inserting only half
of an initial load. |
chenson42
|
 |
Added an additional optional properties file that can put in the classpath to override properties values
called symmetric-override.properties. |
chenson42
|
 |
Moved channel_id and transaction_id from the data table to the data_event table. It makes it much more
efficient to create batches when data is backed up because you don't need to join between data and
data_event. |
chenson42
|
 |
Added the configurable number of times to attempt a 'resend' of the 'status' on a pull. |
chenson42
|
 |
Added the removal of all incoming batch rows when reloading a node. This is to prevent the loss of data
should the symmetric.runtime.incoming.batches.skip.duplicates property be set to true. |
chenson42
|
 |
Made the purge of incoming and outgoing batches exclusive. Also made sure if one fails, the other will
still be able to run. |
chenson42
|
 |
Make the AbstractJob configurable so that it can reschedule itself. If we do this, then we get natural
randomness in the push, pull cycles. |
kbajaj01
|
 |
Transaction ids can be interleaved by different processes. The batching algorithm needs to take this
into account. Also, cap the max number of batches that can be sent per channel in one sweep. |
chenson42
|
 |
We had a few places where we were not closing Statements and ResultSets. |
chenson42
|
 |
Fixed integrity violation when updating a primary key with an empty value between database systems that
handle char padding differently Fixes aid=1891508&atid=997724
. |
erilong
|
 |
Fixed SafetySwitch error when parsing large columns Fixes aid=1903641&atid=997724
. |
erilong
|
 |
Fixed cross schema trigger creation for PostgreSQL Fixes aid=1903635&atid=997724
. |
erilong
|
 |
reloadTable() JMX function to delete and reload a table for a node Fixes aid=1903649&atid=997727
. |
erilong
|
 |
Timings for network, filter, and database on incoming batches. Fixes aid=190874&atid=997727
. |
erilong
|
 |
Addition of optional compression on push. Fixes aid=1861766&atid=997727
. |
erilong
|
 |
Case sensitive schema and table names on MySQL for Unix Fixes aid=1907627&atid=997724
. |
erilong
|
 |
Extract can send batches out of order when channel is in error Fixes aid=1907658&atid=997724
. |
erilong
|
| Type |
Changes |
By |
 |
Add support to auto create the tables that are being synced Fixes atid=997727&aid=1825801
. |
erilong
|
 |
Implement the HSQLDB Dialect Fixes atid=997727&aid=1861088
. |
chenson42
|
 |
Implement the Apache Derby Dialect Fixes atid=997727&aid=1825799
. |
erilong
|
 |
Make the concurrent worker count by servlet instead of across all servlets Fixes atid=997727&aid=1877262
. |
chenson42
|
 |
Support the automatic detection of http compression Fixes atid=997727&aid=1861764
. |
chenson42
|
 |
Add support for automatically sending initial load Fixes atid=997727&aid=1852586
. |
erilong
|
 |
Add cluster support by providing a ClusterService Fixes atid=997727&aid=1851161
. |
chenson42
|
 |
Add promiscuous registration mode Fixes atid=997727&aid=1851159
. |
erilong
|
 |
Add curTriggerValue variable for use in sym_trigger definitions Fixes atid=997727&aid=1849379
. |
chenson42
|
 |
To many data events can be purged in the same transaction Fixes atid=997724&aid=1861090
. |
chenson42
|
 |
SQL Server Initial Load broke when 'text' fields are used Fixes atid=997724&aid=1858083
. |
chenson42
|
 |
The JMX showBatch and writeBatchRangeToFile broken in 1.1 Fixes atid=997724&aid=1854418
. |
erilong
|
 |
Trigger name is too long ... Fixes atid=997724&aid=1851065
. |
chenson42
|
 |
To many data events can be purged in the same transaction Fixes atid=997724&aid=1861090
. |
chenson42
|
 |
Don't output a WARN if the sync_url is null Fixes atid=997724&aid=1849767
. |
chenson42
|
 |
Bug introduced in refactoring of SqlScript Fixes atid=997724&aid=1849763
. |
chenson42
|