Hi,

I have an instance of SXSSFSheet and when I'm trying to fill it with
values concurrently, such exceptions occurs:

java.util.ConcurrentModificationException: null
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211)
~[na:1.8.0_152]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1247) ~[na:1.8.0_152]
at java.util.TreeMap$EntryIterator.next(TreeMap.java:1242) ~[na:1.8.0_152]
at org.apache.poi.xssf.streaming.SXSSFSheet.getRowNum(SXSSFSheet.java:1851)
~[poi-ooxml-3.14.jar:3.14]
at org.apache.poi.xssf.streaming.SXSSFRow.getRowNum(SXSSFRow.java:218)
~[poi-ooxml-3.14.jar:3.14]
at org.apache.poi.xssf.streaming.SXSSFCell.getRowIndex(SXSSFCell.java:84)
~[poi-ooxml-3.14.jar:3.14]
at org.apache.poi.xssf.streaming.SXSSFCell.setHyperlink(SXSSFCell.java:649)
~[poi-ooxml-3.14.jar:3.14]

java.lang.NullPointerException: null
at
org.apache.poi.xssf.streaming.AutoSizeColumnTracker.updateColumnWidths(AutoSizeColumnTracker.java:302)
~[poi-ooxml-3.14.jar:3.14]
at
org.apache.poi.xssf.streaming.SXSSFSheet.flushOneRow(SXSSFSheet.java:1834)
~[poi-ooxml-3.14.jar:3.14]
at org.apache.poi.xssf.streaming.SXSSFSheet.flushRows(SXSSFSheet.java:1813)
~[poi-ooxml-3.14.jar:3.14]
at org.apache.poi.xssf.streaming.SXSSFSheet.createRow(SXSSFSheet.java:155)
~[poi-ooxml-3.14.jar:3.14]

I put synchronization on the object access and it works fine now, but is
not it an issue? Should the SXSSFCell and SXSSFSheet objects be thread safe?

Best  wishes,
Pavel

Reply via email to