View Issue Details

IDProjectCategoryView StatusLast Update
0004957SymmetricDSBugpublic2021-11-04 14:58
Reporterrichard@squarepeg.co.za Assigned Torudiejd  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.12.6 
Target Version3.12.12Fixed in Version3.12.12 
Summary0004957: Recording status of Batch with large payloads fails on Derby
DescriptionWhen processing an insert that contains large binary payload, it fails while recording the batch status because the sym_data:row_data column can only accept 32,700 characters.
Steps To ReproduceSee attached log files.
Tagsdialect: derby

Relationships

has duplicate 0005072 closedrudiejd Conflict resolution on Derby for batch with large payloads fails with SQLException 

Activities

richard@squarepeg.co.za

2021-04-20 10:55

reporter  

sym.log (7,055 bytes)   
2021-04-20 11:57:26,376 ERROR (kied4mxq-dataloader-1) [org.jumpmind.symmetric.service.impl.ManageIncomingBatchListener] Failed to record status of batch home-14155297
org.jumpmind.db.sql.SqlException: An IOException was thrown when reading a 'java.lang.String' from an InputStream.
	at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:313) ~[symmetric-db-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302) ~[symmetric-db-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:398) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction.prepareAndExecute(JdbcSqlTransaction.java:328) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.symmetric.service.impl.DataLoaderService.insertIncomingError(DataLoaderService.java:916) ~[symmetric-core-3.12.6.jar:3.12.6]
	at org.jumpmind.symmetric.service.impl.ManageIncomingBatchListener.batchInError(ManageIncomingBatchListener.java:322) [symmetric-core-3.12.6.jar:3.12.6]
	at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:152) [symmetric-io-3.12.6.jar:3.12.6]
	at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1085) [symmetric-core-3.12.6.jar:3.12.6]
	at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1061) [symmetric-core-3.12.6.jar:3.12.6]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_271]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_271]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_271]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_271]
Caused by: java.sql.SQLException: An IOException was thrown when reading a 'java.lang.String' from an InputStream.
	at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.executeUpdate(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:335) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:328) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:396) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	... 10 more
Caused by: org.apache.derby.client.am.SqlException: An IOException was thrown when reading a 'java.lang.String' from an InputStream.
	at org.apache.derby.client.am.ClientStatement.completeExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.StatementReply.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.flowExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.executeUpdateX(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.executeUpdate(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:335) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:328) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:396) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	... 10 more
Caused by: org.apache.derby.client.am.SqlException: Java exception: 'A truncation error was encountered trying to shrink LONG VARCHAR '<stream-value>' to length 32700.: org.apache.derby.iapi.services.io.DerbyIOException'.
	at org.apache.derby.client.am.ClientStatement.completeExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.StatementReply.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.readExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.flowExecute(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.executeUpdateX(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.derby.client.am.ClientPreparedStatement.executeUpdate(Unknown Source) ~[derbyclient-10.14.2.0.jar:?]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) ~[commons-dbcp-1.4.jar:1.4]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:335) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction$4.execute(JdbcSqlTransaction.java:328) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:396) ~[symmetric-jdbc-3.12.6.jar:3.12.6]
	... 10 more
sym.log (7,055 bytes)   
0014155297.done (283,521 bytes)
derby.log (38,133 bytes)   
Tue Apr 20 11:57:26 CAT 2021 Thread[DRDAConnThread_7,5,derby.daemons] (XID = 1577539), (SESSIONID = 15), (DATABASE = data/KIED4MXQ), (DRDAID = ????????.????-796009615225097139{8}), Failed Statement is: insert into sym_data ( table_name, event_type, row_data, pk_data, old_data, trigger_hist_id, channel_id, external_data, node_list, is_prerouted, transaction_id, source_node_id, create_time) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) with 13 parameters begin parameter #1: document :end parameter begin parameter #2: I :end parameter begin parameter #3: "69d85e6a-94d7-4361-beab-f51e3e3909ab",,"JVBERi0xLjYNJeLjz9MNCjggMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgMjEwNjQ4L08gMTAvRSAyMDQxMDEvTiAyL1QgMjEwMzY5L0ggWyAxMDc2IDI2NV0+Pg1lbmRvYmoNICAgICAgICAgICAgICAgDQp4cmVmDQo4IDM5DQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDEzNDEgMDAwMDAgbg0KMDAwMDAwMTU1MiAwMDAwMCBuDQowMDAwMDAxOTczIDAwMDAwIG4NCjAwMDAwMDMxMTcgMDAwMDAgbg0KMDAwMDAwMzMwNCAwMDAwMCBuDQowMDAwMDAzNTg1IDAwMDAwIG4NCjAwMDAwMDM4MDUgMDAwMDAgbg0KMDAwMDAxNjk4MiAwMDAwMCBuDQowMDAwMDE3MTA4IDAwMDAwIG4NCjAwMDAwMTcxODYgMDAwMDAgbg0KMDAwMDAxODM3OCAwMDAwMCBuDQowMDAwMDE5NDYwIDAwMDAwIG4NCjAwMDAwMTk1NDkgMDAwMDAgbg0KMDAwMDAxOTY0NiAwMDAwMCBuDQowMDAwMDIwMjg5IDAwMDAwIG4NCjAwMDAwMjAzODMgMDAwMDAgbg0KMDAwMDAyMDgwMSAwMDAwMCBuDQowMDAwMDIxMjA1IDAwMDAwIG4NCjAwMDAwMjE2MTEgMDAwMDAgbg0KMDAwMDAyMjA1NiAwMDAwMCBuDQowMDAwMDIyNTAyIDAwMDAwIG4NCjAwMDAwMjI1OTEgMDAwMDAgbg0KMDAwMDAyMjY4MCAwMDAwMCBuDQowMDAwMDIzMjcwIDAwMDAwIG4NCjAwMDAwMjM4OTMgMDAwMDAgbg0KMDAwMDEyNTk4OSAwMDAwMCBuDQowMDAwMTI2MDIxIDAwMDAwIG4NCjAwMDAxMjYwNTMgMDAwMDAgbg0KMDAwMDEyNjA4MSAwMDAwMCBuDQowMDAwMTI2MTA5IDAwMDAwIG4NCjAwMDAxMzQ0ODkgMDAwMDAgbg0KMDAwMDEzODIxMiAwMDAwMCBuDQowMDAwMTQ2NTkyIDAwMDAwIG4NCjAwMDAxNTAzMTUgMDAwMDAgbg0KMDAwMDE1MzI4OSAwMDAwMCBuDQowMDAwMTU3OTU5IDAwMDAwIG4NCjAwMDAxNTg2OTggMDAwMDAgbg0KMDAwMDAwMTA3NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDQ3L1Jvb3QgOSAwIFIvSW5mbyA3IDAgUi9JRFs8NTMwNzhFNUY3MEMyMjM3RTE0NzMzRUU0N0FBQUI5RTQ+PDkxRDU4N0MxMzdFMUJDNEI4MzJBOUYyODZFRTM2MTJCPl0vUHJldiAyMTAzNTk+Pg0Kc3RhcnR4cmVmDQowDQolJUVPRg0KICAgICAgICAgICAgICAgDQo0NiAwIG9iag08PC9GaWx0ZXIvRmxhdGVEZWNvZGUvSSAyMDIvTGVuZ3RoIDE3OC9TIDY3L1YgMTczPj5zdHJlYW0NCmjeYmBgYGJgYGVnYGNg4DzHIMSAAEIMLGDI0cFwOPIAA8NnqDjXbQYGxrSOjo4GNrA4ElCBYgYGGQZBhiON4gzCD/gvsDGcLWE4wmDE5MbI3sC+gCVA2IKRg5mHsYJhL0OGg4kD8wXGFxwnWJb3bQG6hRGkm5GVwXKPowNfPutBlo6GiNfCH2A2MDMwq3ExgB3NsBTkGAZWrjzFCcusQJLsDMzGh0Hagfg1QIABABDHI48NCmVuZHN0cmVhbQ1lbmRvYmoNOSAwIG9iag08PC9BY3JvRm9ybTw8L0RBKC9IZWx2IDAgVGYgMCBnICkvRFI8PC9FbmNvZGluZzw8L1BERkRvY0VuY29kaW5nIDE4IDAgUj4+L0ZvbnQ8PC9Db3VyIDE3IDAgUi9IZWx2IDMgMCBSL1phRGIgNCAwIFI+Pj4+L0ZpZWxkc1sxMSAwIFIgMTkgMCBSXS9TaWdGbGFncyAzPj4vTWV0YWRhdGEgNiAwIFIvUGFnZXMgNSAwIFIvVHlwZS9DYXRhbG9nPj4NZW5kb2JqDTEwIDAgb2JqDTw8L0Fubm90c1sxMSAwIFIgMTkgMCBSXS9Db250ZW50c1syMiAwIFIgMjQgMCBSIDI1IDAgUiAyNiAwIFIgMjcgMCBSIDI4IDAgUiAzMSAwIFIgMzIgMCBSXS9Dcm9wQm94WzAgMCA1OTUgODQyXS9NZWRpYUJveFswIDAgNTk1IDg0Ml0vUGFyZW50IDUgMCBSL1Jlc291cmNlczw8L0V4dEdTdGF0ZTw8L0dTMSAzNCAwIFIvR1MyIDM1IDAgUi9YaTEgMzYgMCBSL1hpNSAzNyAwIFI+Pi9Gb250PDwvRjEgMjAgMCBSL0YyIDIxIDAgUi9GMyAyMyAwIFIvWGkwIDI5IDAgUi9YaTQgMzAgMCBSPj4vWE9iamVjdDw8L1hpMiAzOCAwIFIvWGkzIDM5IDAgUi9YaTYgNDAgMCBSL1hpNyA0MSAwIFIvaW1nMCA0MiAwIFIvaW1nMSA0MyAwIFIvaW1nMiA0NCAwIFIvaW1nMyA0NSAwIFI+Pj4+L1JvdGF0ZSAwL1R5cGUvUGFnZT4+DWVuZG9iag0xMSAwIG9iag08PC9BUDw8L04gMTIgMCBSPj4vREEoL0NvdXIgMCBUZiAwLjU4OCAwLjU4OCAwLjU4OCByZykvRiAxMzIvRlQvU2lnL01LPDwvQkNbMSAxIDFdL0JHWzEgMSAxXT4+L1AgMTAgMCBSL1JlY3RbMzUgMjUgMTYwIDc1XS9TVjw8L0ZmIDEvRmlsdGVyL1Byb3NlbnNlLkltcHJlc3Npb24vUmVhc29uc1soQ1Rva2VuOjpQSGh0YkQ0OGMybG5iaUIwWVdKc1pYUTlKM1J5ZFdVbklHWnBibWRsY25CeWFXNTBQU2RtWVd4elpTY2diM1J3UFNkbVlXeHpaU2NnWTJ4cFkyc3ljMmxuYmowblptRnNjMlVuSUdOb2IyOXpaV05sY25ROUoyWmhiSE5sSnlCallYTmpZV1JsWDJGMWRHZzlKMlpoYkhObEp5QjBjMkU5SjJaaGJITmxKeUJzZEhZOUoyWmhiSE5sSnlCbGJXSmxaRjl5WlhadlkyRjBhVzl1UFNkbVlXeHpaU2MrUEM5emFXZHVQanh0WlhOellXZGxJR1JwYzNCXA1zWVhrOUoyNXZKejVQU0ZBOEwyMWxjM05oWjJVK1BITm9iM2RYYVc1a2IzYytabUZzYzJVOEwzTm9iM2RYYVc1a2IzYytQR3h2WTJ0RGIyNTBaWGgwUG1aaGJITmxQQzlzYjJOclEyOXVkR1Y0ZEQ0OFptbGxiR1J6UGp4bWFXVnNaQ0JrYVhOd2JHRjVQU2Q1WlhNbklHMWhibVJoZEc5eWVUMG5ibThuSUhKbFlXUlBibXg1UFNkNVpYTW5QanhzWVdKbGJENXphV2R1WVhSdmNuazhMMnhoWW1Wc1BqeDJZV3gxWlQ1UFNGQThMM1poYkhWbFBqd3ZabWxsYkdcDVErUEdacFpXeGtJR1JwYzNCc1lYazlKM2xsY3ljZ2JXRnVaR0YwYjNKNVBTZDVaWE1uSUhKbFlXUlBibXg1UFNkNVpYTW5QanhzWVdKbGJENWtZWFJsUEM5c1lXSmxiRDQ4ZG1Gc2RXVStXMFJCVkVWVVNVMUZYVHd2ZG1Gc2RXVStQQzltYVdWc1pENDhMMlpwWld4a2N6NDhkMkYwWlhKdFlYSnJRWEJ3WldGeVlXNWpaU0JzYjJkdlBTZG1ZV3h6WlNjK1BHTnZiRzkxY2lCeVBTY3hOVEFuSUdjOUp6RTFNQ2NnWWowbk1UVXdKeUF2UGp4bWIyNTBJRzVoYlwNV1U5SjBOdmRYSnBaWEluSUhOcGVtVTlKekV3SnlBdlBqeGhiR2xuYm0xbGJuUWdhRzl5YVhOdmJuUmhiRDBuYkdWbWRDY2dkbVZ5ZEdsallXdzlKM1J2Y0NjZ0x6NDhMM2RoZEdWeWJXRnlhMEZ3Y0dWaGNtRnVZMlUrUEM5NGJXdyspXS9UeXBlL1NWPj4vU3VidHlwZS9XaWRnZXQvVChvaHApL1R5cGUvQW5ub3QvViAzMyAwIFI+Pg1lbmRvYmoNMTIgMCBvYmoNPDwvQkJveFswLjAgMC4wIDEyNS4wIDUwLjBdL0Zvcm1UeXBlIDEvTGVuZ3RoIDcvTWF0cml4WzEuMCAwLjAgMC4wIDEuMCAwLjAgMC4wXS9SZXNvdXJjZXM8PC9YT2JqZWN0PDwvRlJNIDEzIDAgUj4+Pj4vU3VidHlwZS9Gb3JtL1R5cGUvWE9iamVjdD4+c3RyZWFtDQovRlJNIERvDQplbmRzdHJlYW0NZW5kb2JqDTEzIDAgb2JqDTw8L0JCb3hbMC4wIDAuMCAxMjUuMCA1MC4wXS9MZW5ndGggMTEzL1Jlc291cmNlczw8L1hPYmplY3Q8PC9uMCAxNCAwIFIvbjEgMTUgMCBSL24yIDE1IDAgUi9uMyAxNiAwIFI+Pj4+L1N1YnR5cGUvRm9ybS9UeXBlL1hPYmplY3Q+PnN0cmVhbQ0KcSAxIDAgMCAxIDAgMCBjbSAvbjAgRG8gUQpxIDEgMCAwIDEgMCAwIGNtIC9uMSBEbyBRCnEgMSAwIDAgMSAwIDAgY20gL24yIERvIFEKcSAwLjQ1IDAgMCAwLjQ1IDQwIDIuNSBjbSAvbjMgRG8gUQoNCmVuZHN0cmVhbQ1lbmRvYmoNMTQgMCBvYmoNPDwvQkJv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DWVuZG9iag0xNyAwIG9iag08PC9CYXNlRm9udC9Db3VyaWVyL0VuY29kaW5nIDE4IDAgUi9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udD4+DWVuZG9iag0xOCAwIG9iag08PC9EaWZmZXJlbmNlc1syNC9icmV2ZS9jYXJvbi9jaXJjdW1mbGV4L2RvdGFjY2VudC9odW5nYXJ1bWxhdXQvb2dvbmVrL3JpbmcvdGlsZGUgMzkvcXVvdGVzaW5nbGUgOTYvZ3JhdmUgMTI4L2J1bGxldC9kYWdnZXIvZGFnZ2VyZGJsL2VsbGlwc2lzL2VtZGFzaC9lbmRhc2gvZmxvcmluL2ZyYWN0aW9uL2d1aWxzaW5nbGxlZnQvZ3VpbHNpbmdscmlnaHQvbWludXMvcGVydGhvdXNhbmQvcXVvdGVkYmxiYXNlL3F1b3RlZGJsbGVmdC9xdW90ZWRibHJpZ2h0L3F1b3RlbGVmdC9xdW90ZXJpZ2h0L3F1b3Rlc2luZ2xiYXNlL3RyYWRlbWFyay9maS9mbC9Mc2xhc2gvT0UvU2Nhcm9uL1lkaWVyZXNpcy9aY2Fyb24vZG90bGVzc2kvbHNsYXNoL29lL3NjYXJvbi96Y2Fyb24gMTYwL0V1cm8gMTY0L2N1cnJlbmN5IDE2Ni9icm9rZW5iYXIgMTY4L2RpZXJlc2lzL2NvcHlyaWdodC9vcmRmZW1pbmluZSAxNzIvbG9naWNhbG5vdC8ubm90ZGVmL3JlZ2lzdGVyZWQvbWFjcm9uL2RlZ3JlZS9wbHVzbWludXMvdHdvc3VwZXJpb3IvdGhyZWVzdXBlcmlvci9hY3V0ZS9tdSAxODMvcGVyaW9kY2VudGVyZWQvY2VkaWxsYS9vbmVzdXBlcmlvci9vcmRtYXNjdWxpbmUgMTg4L29uZXF1YXJ0ZXIvb25laGFsZi90aHJlZXF1YXJ0ZXJzIDE5Mi9BZ3JhdmUvQWFjdXRlL0FjaXJjdW1mbGV4L0F0aWxkZS9BZGllcmVzaXMvQXJpbmcvQUUvQ2NlZGlsbGEvRWdyYXZlL0VhY3V0ZS9FY2lyY3VtZmxleC9FZGllcmVzaXMvSWdyYXZlL0lhY3V0ZS9JY2lyY3VtZmxleC9JZGllcmVzaXMvRXRoL050aWxkZS9PZ3JhdmUvT2FjdXRlL09jaXJjdW1mbGV4L090aWxkZS9PZGllcmVzaXMvbXVsdGlwbHkvT3NsYXNoL1VncmF2ZS9VYWN1dGUvVWNpcmN1bWZsZXgvVWRpZXJlc2lzL1lhY3V0ZS9UaG9ybi9nZXJtYW5kYmxzL2FncmF2ZS9hYWN1dGUvYWNpcmN1bWZsZXgvYXRpbGRlL2FkaWVyZXNpcy9hcmluZy9hZS9jY2VkaWxsYS9lZ3JhdmUvZWFjdXRlL2VjaXJjdW1mbGV4L2VkaWVyZXNpcy9pZ3JhdmUvaWFjdXRlL2ljaXJjdW1mbGV4L2lkaWVyZXNpcy9ldGgvbnRpbGRlL29ncmF2ZS9vYWN1dGUvb2NpcmN1bWZsZXgvb3RpbGRlL29kaWVyZXNpcy9kaXZpZGUvb3NsYXNoL3VncmF2ZS91YWN1dGUvdWNpcmN1bWZsZXgvdWRpZXJlc2lzL3lhY3V0ZS90aG9ybi95ZGllcmVzaXNdL1R5cGUvRW5jb2Rpbmc+Pg1lbmRvYmoNMTkgMCBvYmoNPDwvRiA0L0ZUL1NpZy9NSzw8L0JDWzEgMSAxXS9CR1sxIDEgMV0+Pi9QIDEwIDAgUi9SZWN0WzMxMCAyNSA0MzUgNzVdL1NWPDwvRmYgMS9GaWx0ZXIvUHJvc2Vuc2UuSW1wcmVzc2lvbi9SZWFzb25zWyhDVG9rZW46OlBIaHRiRDQ4YzJsbmJpQjBZV0pzWlhROUozUnlkV1VuSUdacGJtZGxjbkJ5YVc1MFBTZG1ZV3h6WlNjZ2IzUndQU2RtWVd4elpTY2dZMnhwWTJzeWMybG5iajBuWm1Gc2MyVW5JR05vYjI5elpXTmxjblE5SjJaaGJITmxKeUJqWVhOallXUmxYMkYxZEdnOUoyWmhiSE5sSnlCMGMyRTlKMlpoYkhObEp5QnNkSFk5SjJaaGJITmxKeUJsYldKbFpGOXlaWFp2WTJGMGFXOXVQU2RtWVd4elpTYytQQzl6YVdkdVBqeHRaWE56WVdkbElHUnBjM0JcDXNZWGs5SjI1dkp6NVBUVkE4TDIxbGMzTmhaMlUrUEhOb2IzZFhhVzVrYjNjK1ptRnNjMlU4TDNOb2IzZFhhVzVrYjNjK1BHeHZZMnREYjI1MFpYaDBQbVpoYkhObFBDOXNiMk5yUTI5dWRHVjRkRDQ4Wm1sbGJHUnpQanhtYVdWc1pDQmthWE53YkdGNVBTZDVaWE1uSUcxaGJtUmhkRzl5ZVQwbmJtOG5JSEpsWVdSUGJteDVQU2Q1WlhNblBqeHNZV0psYkQ1emFXZHVZWFJ2Y25rOEwyeGhZbVZzUGp4MllXeDFaVDVQVFZBOEwzWmhiSFZsUGp3dlptbGxiR1wNUStQR1pwWld4a0lHUnBjM0JzWVhrOUozbGxjeWNnYldGdVpHRjBiM0o1UFNkNVpYTW5JSEpsWVdSUGJteDVQU2Q1WlhNblBqeHNZV0psYkQ1a1lYUmxQQzlzWVdKbGJENDhkbUZzZFdVK1cwUkJWRVZVU1UxRlhUd3ZkbUZzZFdVK1BDOW1hV1ZzWkQ0OEwyWnBaV3hrY3o0OGQyRjBaWEp0WVhKclFYQndaV0Z5WVc1alpTQnNiMmR2UFNkbVlXeHpaU2MrUEdOdmJHOTFjaUJ5UFNjeE5UQW5JR2M5SnpFMU1DY2dZajBuTVRVd0p5QXZQanhtYjI1MElHNWhiXA1XVTlKME52ZFhKcFpYSW5JSE5wZW1VOUp6RXdKeUF2UGp4aGJHbG5ibTFsYm5RZ2FHOXlhWE52Ym5SaGJEMG5iR1ZtZENjZ2RtVnlkR2xqWVd3OUozUnZjQ2NnTHo0OEwzZGhkR1Z5YldGeWEwRndjR1ZoY21GdVkyVStQQzk0Yld3KyldL1R5cGUvU1Y+Pi9TdWJ0eXBlL1dpZGdldC9UKG9tcCkvVHlwZS9Bbm5vdD4+DWVuZG9iag0yMCAwIG9iag08PC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL1N1YnR5cGUvVHlwZTEvVHlwZS9Gb250Pj4NZW5kb2JqDTIxIDAgb2JqDTw8L0Jhc2VGb250L0hlbHZldGljYS1PYmxpcXVlL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udD4+DWVuZG9iag0yMiAwIG9iag08PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDU3Mz4+c3RyZWFtDQpIiZxTXW/TMBR996+4Twik1vVnHJcXoNtaYIVtjQQS4iFL3TYjTdbEFaK/nht3W8rEtEIS6dq+x+ee3I8NgU37vUuIjCBmESRzcpqQS7IhDDgXEta4YFAQY9WDDY6CrMgXUhIOP4mA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/Vo2ta209e46eyS0S5lmRIgo4SAGIhrEUBEpk0iKY2zIgowy0p8xYByyNaFREqciAdqt7jsZYm6oIHkUQ1YdCl8t2matcg0PV/db3Shf1laZh+sevNHlpvCuB+ParkuLeIstJp4xBUnxd0kuovQkOdG5UQepCwY5jZj8xeAh/h+DdBil7CT3Vu1a7dCPtaXd9OBuAratlrqBZMg445LHeIX2YNtoh11Hp+u6AQWVXpW5MqC/qaq0gReUh/s8b7fPjcKqyvgCFrVpux0H557+EZmngzNkJvtU9DnlLHpJtSGLUh6q4YhRmoaaI+XQGVrwhQZ02hqPtOsQeu0wwPdH4+g67Ll2+ahzD4VysNTaYlNau4LZXRbas2r9Pnx0udvalaE9WO+dygscFziMU9dID+PR+CU+BunRR3AwU85rqxucyVFtPHwwyvqzBs1xAczJDheKhJLQbEj/c0lh0KkJCUNs9AoHv4ngplJ2pRDZF3v9+uLLvm8bh2MDfbjttPGg29GdKgpiYQYbR3ZoRgY1SfEPAwzyCvBUwKRGoAPJx1t0K+GJiBh4jFcSkBzfAmf7D+TxMzmjR/SpKb+rpUa6eaH36sQif2fBWz9hksswOCCXaH4IMADA5jISDQplbmRzdHJlYW0NZW5kb2JqDTMzIDAgb2JqDTw8L0J5dGVSYW5nZVsgMCAyNDAwMyAzODM1NyAxNzIyOTFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9Db250YWN0SW5mbyhPSFApL0NvbnRlbnRzPDMwODIwMzJlMDYwOTJhODY0ODg2ZjcwZDAxMDcwMmEwODIwMzFmMzA4MjAzMWIwMjAxMDEzMTBmMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMzAwYjA2MDkyYTg2NDg4NmY3MGQwMTA3MDFhMDgyMDIxODMwODIwMjE0MzA4MjAxN2RhMDAzMDIwMTAyMDIxMGVlYWU4MDAyZWM3ZmY0YjY0MjM5Zjg4MzQ0Mzk2MDU4MzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDQwNTAwMzAxZTMxMWMzMDFhMDYwMzU1MDQwMzEzMTM1MDcyNmY3MzY1NmU3MzY1MjA1NDY1NjM2ODZlNmY2YzZmNjc3OTMwMWUxNzBkMzEzMzMwMzUzMjMzMzEzMjMzMzUzMjM5NWExNzBkMzMzOTMxMzIzMzMxMzIzMzM1MzkzNTM5NWEzMDFlMzExYzMwMWEwNjAzNTUwNDAzMTMxMzUwNzI2ZjczNjU2ZTczNjUyMDU0NjU2MzY4NmU2ZjZjNmY2Nzc5MzA4MTlmMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDEwNTAwMDM4MThkMDAzMDgxODkwMjgxODEwMGJkYzI0ZmI1MmRlYjJiOWYzZjA3ODdkNWExMjZ :end parameter begin parameter #4: NULL :end parameter begin parameter #5: NULL :end parameter begin parameter #6: 210 :end parameter begin parameter #7: KIED4MXQ :end parameter begin parameter #8: NULL :end parameter begin parameter #9: NULL :end parameter begin parameter #10: 1 :end parameter begin parameter #11: NULL :end parameter begin parameter #12: home :end parameter begin parameter #13: 2021-03-31 15:03:49.381 :end parameter 
ERROR XCL30: An IOException was thrown when reading a 'java.lang.String' from an InputStream.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.iapi.types.SQLChar.getString(Unknown Source)
	at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
	at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.InsertResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
	at org.apache.derby.impl.drda.DRDAStatement.execute(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Caused by: org.apache.derby.iapi.services.io.DerbyIOException: A truncation error was encountered trying to shrink LONG VARCHAR '<stream-value>' to length 32700.
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.checkSufficientData(Unknown Source)
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.fillBuffer(Unknown Source)
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.read(Unknown Source)
	at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)
	at org.apache.derby.iapi.types.SQLChar.readExternal(Unknown Source)
	... 19 more
============= begin nested exception, level (1) ===========
org.apache.derby.iapi.services.io.DerbyIOException: A truncation error was encountered trying to shrink LONG VARCHAR '<stream-value>' to length 32700.
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.checkSufficientData(Unknown Source)
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.fillBuffer(Unknown Source)
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.read(Unknown Source)
	at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)
	at org.apache.derby.iapi.types.SQLChar.readExternal(Unknown Source)
	at org.apache.derby.iapi.types.SQLChar.getString(Unknown Source)
	at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
	at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown Source)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.InsertResultSet.getNextRowCore(Unknown Source)
	at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
	at org.apache.derby.impl.drda.DRDAStatement.execute(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
============= end nested exception, level (1) ===========
derby.log (38,133 bytes)   

josh-a-hicks

2021-04-21 17:51

developer   ~0001921

What is the source database and what do the table definitions look like for these tables?

richard@squarepeg.co.za

2021-04-22 06:27

reporter   ~0001925

The source database is Postgres. The column is an OID. The remote database is Derby, and the column type is blob.

Related Changesets

SymmetricDS: 3.12 9f63f85a

2021-09-23 20:48:56

JD


Committer: GitHub Details Diff
0004957: large column values cannot fit into derby sym_data (0000171) Affected Issues
0004957
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/derby/DerbyDdlBuilder.java Diff File

SymmetricDS: 3.12 1d517d2e

2021-09-23 20:51:11

admin

Details Diff
0004957: allow upgrade/downgrade between CLOB and LONGVARCHAR defn Affected Issues
0004957
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/derby/DerbyDdlBuilder.java Diff File

Issue History

Date Modified Username Field Change
2021-04-20 10:55 richard@squarepeg.co.za New Issue
2021-04-20 10:55 richard@squarepeg.co.za File Added: sym.log
2021-04-20 10:55 richard@squarepeg.co.za File Added: 0014155297.done
2021-04-20 10:55 richard@squarepeg.co.za File Added: derby.log
2021-04-21 17:51 josh-a-hicks Note Added: 0001921
2021-04-22 06:27 richard@squarepeg.co.za Note Added: 0001925
2021-08-16 20:32 rudiejd Assigned To => rudiejd
2021-08-16 20:32 rudiejd Status new => assigned
2021-08-16 20:54 rudiejd Relationship added has duplicate 0005072
2021-09-23 20:51 elong Status assigned => resolved
2021-09-23 20:51 elong Resolution open => fixed
2021-09-23 20:51 elong Fixed in Version => 3.12.12
2021-09-23 20:51 elong Target Version => 3.12.12
2021-09-23 20:51 elong Tag Attached: dialect: derby
2021-09-23 21:00 admin Changeset attached => SymmetricDS 3.12 1d517d2e
2021-09-23 21:00 JD Changeset attached => SymmetricDS 3.12 9f63f85a
2021-11-04 14:58 admin Status resolved => closed