View Issue Details

IDProjectCategoryView StatusLast Update
0006378SymmetricDS ProBugpublic2024-05-01 13:25
Reporteremiller Assigned Toemiller  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.15.0 
Target Version3.15.6Fixed in Version3.15.6 
Summary0006378: NullPointerException in bcp bulk loader when a batch's row count exceeds the mssql.bulk.load.max.rows.before.flush
DescriptionWhen sending a load using the SQL Server bcp bulk loader, if a batch's row count exceeds the value of the mssql.bulk.load.max.rows.before.flush parameter, a NullPointerException occurs. It gets wrapped in a SqlException and looks like this when debug logging is enabled in version 3.14:

Bulk loader failed : org.jumpmind.db.sql.SqlException
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:308)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:297)
    at com.jumpmind.symmetric.db.bulk.c.bulkWrite(MsSqlBcpDatabaseWriter.java:163)
    at org.jumpmind.symmetric.io.AbstractBulkDatabaseWriter.write(AbstractBulkDatabaseWriter.java:82)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:62)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:99)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:62)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:186)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:194)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:160)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:108)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1069)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1045)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.NullPointerException

Version 3.15 provides a more helpful message at info level because of Java 17:

org.jumpmind.db.sql.SqlException: Cannot invoke "org.jumpmind.symmetric.io.stage.IStagedResource.getOutputStream()" because "this.bcpFile" is null
Tagsbulk, dialect: sql-server

Relationships

related to 0006377 closedemiller NullPointerException in bcp bulk loader when a batch's row count exceeds the mssql.bulk.load.max.rows.before.flush 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2024-05-01 13:16 emiller New Issue
2024-05-01 13:16 emiller Status new => assigned
2024-05-01 13:16 emiller Assigned To => emiller
2024-05-01 13:16 emiller Tag Attached: bulk
2024-05-01 13:16 emiller Tag Attached: dialect: sql-server
2024-05-01 13:16 emiller Issue generated from: 0006377
2024-05-01 13:16 emiller Relationship added related to 0006377
2024-05-01 13:25 emiller Status assigned => resolved
2024-05-01 13:25 emiller Resolution open => fixed
2024-05-01 13:25 emiller Fixed in Version => 3.15.6
2024-05-03 17:35 admin Status resolved => closed