View Issue Details

IDProjectCategoryView StatusLast Update
0002993SymmetricDSBugpublic2017-02-24 09:18
ReportermmichalekAssigned Tommichalek 
PriorityhighSeveritymajorReproducibilitysometimes
Status closedResolutionfixed 
Product Version3.8.17 
Target Version3.8.17Fixed in Version3.8.17 
Summary0002993: ddl-utils should not drop tables when it can't update their structure
DescriptionIf ddl-utils detects a situation where it thinks it can't update a table structure, it will simply drop and re-create the table. This could lead to unexpected data loss. Originally the plan was to abort, but it turns out this situation occurs during an upgrade from 3.7 to 3.8:
Data cannot be retained in table sym_node_communication because of the addition of the required column queue

So in this situation we'll create a backup table, (sym_node_communication_), and copy the data from the old table to the backup (sym_node_communication -> sym_node_communication_) and create the new table with the new structure. A warning will be logged and for now it's up to the user to migrate the data from the backup table to the new table and cleanup the backup table.

Reported on open source forum: https://sourceforge.net/p/symmetricds/discussion/739236/thread/469ff295/?limit=25#311b
TagsNo tags attached.

Activities

mmichalek

2017-02-21 17:18

administrator   ~0000970

This may break upgrades from 3.7. This needs to be tested in an upgrade situation, since upgrading from 3.7 causes this:

2017-02-21 15:44:03,067 WARN [SymmetricDS] [MsSql2008DdlBuilder] [symmetric-engine-startup-0] Data cannot be retained in table sym_node_communication because of the addition of the required column queue

Related Changesets

SymmetricDS: 3.8 7a577f11

2017-02-10 10:00:21

mmichalek

Details Diff
0002993: ddl-utils should not drop tables when it can't update their
structure

0002993
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File

SymmetricDS: 3.8 662582f4

2017-02-23 15:13:22

mmichalek

Details Diff
0002993: ddl-utils should not drop tables when it can't update their
structure

0002993
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File

Issue History

Date Modified Username Field Change
2017-02-10 09:58 mmichalek New Issue
2017-02-10 09:58 mmichalek Status new => assigned
2017-02-10 09:58 mmichalek Assigned To => mmichalek
2017-02-10 09:58 mmichalek Summary ddl-utils should drop tables when it can't update the DDL => ddl-utils should not drop tables when it can't update the DDL
2017-02-10 09:59 mmichalek Summary ddl-utils should not drop tables when it can't update the DDL => ddl-utils should not drop tables when it can't update their structure
2017-02-10 10:00 mmichalek Severity minor => major
2017-02-10 10:00 mmichalek Status assigned => resolved
2017-02-10 10:00 mmichalek Resolution open => fixed
2017-02-10 10:00 mmichalek Fixed in Version => 3.8.17
2017-02-10 11:00 mmichalek Changeset attached => SymmetricDS 3.8 7a577f11
2017-02-21 17:18 mmichalek Note Added: 0000970
2017-02-21 17:18 mmichalek Status resolved => feedback
2017-02-21 17:18 mmichalek Resolution fixed => reopened
2017-02-23 15:18 mmichalek Description Updated View Revisions
2017-02-23 15:19 mmichalek Description Updated View Revisions
2017-02-23 15:20 mmichalek Status feedback => resolved
2017-02-23 15:20 mmichalek Resolution reopened => fixed
2017-02-23 16:00 mmichalek Changeset attached => SymmetricDS 3.8 662582f4
2017-02-24 09:18 chenson Status resolved => closed