Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
jlolling
Creator III
Creator III

Component suite tFileExcel* updated to solve security issues

Components use now the latest version of Apache POI 5.2.3 and get rid of out-dated Xalan lib to prevent security issues.

Please download the latest version here: https://github.com/jlolling/talendcomp_tFileExcel/releases/tag/13.7

Labels (4)
11 Replies
Jemima
Contributor
Contributor

Hi Jlolling,

 

We have installed the given new set of updated custom components in the studio.Tried to run the job on both local and remote branches, but the job is failing with the below error whenever the memory saving mode is checked.

 

tFileExcelSheetOutput_1 Attempting to write a row[1] in the range[0,6] that is already written to disk.

java. lang. IllegalArgumentException: Attempting to write a row[1] in the range[0,6] that is already written to disk.

at org. apache. poi. xssf. streaming. SXSSFSheet. createRow(SXSSFSheet.java:146) ~[poi-ooxml-5.2.3]

at org. apache. poi. xssf. streaming. SXSSFSheet. createRow(SXSSFSheet.java:45) ~[poi-ooxml-5.2.3]

at de.jlo.talendcomp.excel.SpreadsheetFile.getRow(SpreadsheetFile.java:542) ~[jlo-talendcomp-excel-13.7jar:? ]

 

Earlier we were able to run the job with the previous version of the same components (before the update).Since I'm processing data in lakhs and the number of sheets differ too, need memory saving mode as a crucial point here and normal mode cannot be used. I'm also having formatted templates and appending functionality which also worked before.

 

Components used : tFileExcelWorkbookOpen, tFileExcelWorkbookSave, tFileExcelSheetOutput

 

Could you please advise on the issue?

 

Thanks in advance!

 

 

 

jlolling
Creator III
Creator III
Author

I am sorry to hear this. I will check that asap.

jlolling
Creator III
Creator III
Author

As first quick solution, please download the previous version and have the full functionality back. I have actually an idea what went wrong and will solve the issue in the next few days.

jlolling
Creator III
Creator III
Author

I have just tested again with 10.000 records and it worked fine. Can you describe the amount of records and the amount of columns and the nature of data a bite deeper please.

jlolling
Creator III
Creator III
Author

I have an idea what went wrong but could still not reproduce your issue (nevertheless I see there must be an issue). If I am able to reproduce your issue I can check if my preventive action succeeded.

jlolling
Creator III
Creator III
Author

I can now reproduce the issue and found also the problem. I have patched a class but since the new deployment this patched class from POI is not used anymore. I have created an ticket for it and work on it: https://github.com/jlolling/talendcomp_tFileExcel/issues/38

jlolling
Creator III
Creator III
Author

Potentially I have to fork the original POI library and solve the issue there and suggest a pull request.

Jemima
Contributor
Contributor

Sure Jlolling.

We have a need where lakhs of records to be processed. So memory saving mode is very essential. Kindly let me know if it can be fixed at the earliest.

 

Also please let us know if the package is also compatible with both Talend 7.3 and Talend 8.

 

Regards,

Jemima

jlolling_kloeckner
Contributor
Contributor

Hi Jemima,

 

then problem is solved. It was necessary to patch the original apache poi library.

You can download the solution here: https://github.com/jlolling/talendcomp_tFileExcel/releases/tag/13.8