View Issue Details

IDProjectCategoryView StatusLast Update
0004974SymmetricDSBugpublic2021-05-28 20:40
Reporterelong Assigned Toelong  
Status closedResolutionfixed 
Product Version3.12.0 
Target Version3.12.10Fixed in Version3.12.10 
Summary0004974: Routing and extracting had X columns but expected Y
DescriptionWhen user removes sym_trigger_hist entries, the router service will generate a new entry based on the current table definition. If the column names don't match the row values that were already captured, then an error can occur in either routing or during extraction that complains that the data "Had X columns but expected Y".

[server] - DataExtractorService - The batch 1-25 appears corrupt in staging, so removing it. (The extracted row for table sym_console_user had 16 columns but expected 23. Corrupted row for data ID 32:

[server] - RouterService - Failed to route and batch data on 'config' channel org.jumpmind.symmetric.SymmetricException: Failed to route data: 33 for table: sym_node_security.
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(
    at org.jumpmind.symmetric.service.impl.RouterService.selectDataAndRoute(
    at org.jumpmind.symmetric.service.impl.RouterService.routeDataForChannel(
    at org.jumpmind.symmetric.service.impl.RouterService.routeDataForEachChannel(
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(
    at org.jumpmind.symmetric.job.RouterJob.doJob(
    at org.jumpmind.symmetric.job.AbstractJob.invoke(
    at java.util.concurrent.Executors$
    at java.util.concurrent.FutureTask.runAndReset(
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(
    at java.util.concurrent.ScheduledThreadPoolExecutor$
    at java.util.concurrent.ThreadPoolExecutor.runWorker(
    at java.util.concurrent.ThreadPoolExecutor$
Caused by: The router row for table sym_node_security had 13 columns but expected 15.
    at org.jumpmind.symmetric.route.AbstractDataRouter.testColumnNamesMatchValues(
    at org.jumpmind.symmetric.route.AbstractDataRouter.getDataAsString(
    at org.jumpmind.symmetric.route.AbstractDataRouter.getNewDataAsString(
    at org.jumpmind.symmetric.route.AbstractDataRouter.getDataMap(
    at org.jumpmind.symmetric.route.ConfigurationChangedDataRouter.routeToNodes(
    at org.jumpmind.symmetric.service.impl.RouterService.routeData(
    ... 15 more
Steps To ReproduceThis test was run on Oracle.
1. Install SymmetricDS 3.11 and get it running with server and client
2. Stop it and delete from sym_trigger_hist
3. Upgrade to SymmetricDS 3.12 and get it running
4. Observe changes for sym_node_security and sym_console_user will get errors


There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.12 c6c57581

2021-05-04 14:31:23


Details Diff
0004974: Routing and extracting had X columns but expected Y Affected Issues
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/model/ Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ Diff File

Issue History

Date Modified Username Field Change
2021-05-04 14:23 elong New Issue
2021-05-04 14:23 elong Status new => assigned
2021-05-04 14:23 elong Assigned To => elong
2021-05-04 14:23 elong Tag Attached: routing
2021-05-04 14:31 elong Status assigned => resolved
2021-05-04 14:31 elong Resolution open => fixed
2021-05-04 14:31 elong Fixed in Version => 3.12.10
2021-05-04 15:00 admin Changeset attached => SymmetricDS 3.12 c6c57581
2021-05-28 20:40 admin Status resolved => closed