Good day,
I have, unfortunately, run into another problem using samba to get files from windows shared folders.
When I try to move files of size lower then 3,8 MB everything works well, but If the file is larger then 3,8 MB file move operation starts, components are initialized successfuly, but after creating terget file and copying approx. 3,8MB of source file content to target file, the process is interrupted by following exception:
at org.jetel.graph.Node.createNodeException(Node.java:566)
at org.jetel.graph.Node.run(Node.java:549)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:713)
at jcifs.UniAddress.lookupServerOrWorkgroup(UniAddress.java:173)
at jcifs.UniAddress.getAllByName(UniAddress.java:290)
at jcifs.UniAddress.getByName(UniAddress.java:245)
at jcifs.smb.Dfs.getTrustedDomains(Dfs.java:62)
at jcifs.smb.Dfs.resolve(Dfs.java:167)
at jcifs.smb.SmbFile.resolveDfs(SmbFile.java:671)
at jcifs.smb.SmbFile.send(SmbFile.java:773)
at jcifs.smb.SmbFileInputStream.readDirect(SmbFileInputStream.java:181)
at jcifs.smb.SmbFileInputStream.read(SmbFileInputStream.java:142)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
at sun.nio.ch.FileChannelImpl.transferFromArbitraryChannel(FileChannelImpl.java:630)
at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:668)
at org.jetel.util.stream.StreamUtils.copy(StreamUtils.java:95)
at org.jetel.component.fileoperation.DefaultOperationHandler.copyFile(DefaultOperationHandler.java:83)
at org.jetel.component.fileoperation.DefaultOperationHandler.copyInternal(DefaultOperationHandler.java:146)
at org.jetel.component.fileoperation.DefaultOperationHandler.copy(DefaultOperationHandler.java:187)
at org.jetel.component.fileoperation.FileManager.copy(FileManager.java:342)
at org.jetel.component.fileoperation.DefaultOperationHandler.move(DefaultOperationHandler.java:229)
at org.jetel.component.fileoperation.FileManager.move(FileManager.java:436)
at org.jetel.component.fileoperation.FileManager.move(FileManager.java:369)
at com.opensys.cloveretl.component.MoveFiles.executeOperation(Unknown Source)
at com.opensys.cloveretl.component.MoveFiles.executeOperation(Unknown Source)
at com.opensys.cloveretl.component.AbstractFileOperation.mainExecuteOperation(Unknown Source)
at com.opensys.cloveretl.component.AbstractFileOperation.execute(Unknown Source)
at org.jetel.graph.Node.run(Node.java:505)
The source file is not deleted, because process is interrupted before it finishes full copy - these are good news.
Of course, we are working with huge data, therefore limitation approx. 3,8 MB max. file size for move operation is more then ridiculous and leaves smile on my face because this can’t be bug, it must be something trivial to fix, but I can’t figure it out…
I searched options in Clover Designer but I did not find any settings for file size limitation in “Remote files” section and there is no “Samba” section, therefore I guess that this is samba config (smb.conf) or some server limitations…
I am not even saying that this must be limitation of size of file.
But it is strange, that error speaks about OutOfMemory problem with creating new thread, should have been some insufficient privileges, permision denied or similar sort of exception message If it is caused by limitation of some sort - I assure you, that I ran it with no other running processes/graphs etc. therefore unsufficient memory is out of question as a reason of this problem.
Any hint is apppreciated.
In advance, I thank you very much for help.
Best regards
Tomáš Šimčík
Data Integration & Analytics Specialist
2nd level support
Global Payments Europe
V Olšinách 80/626
100 00 Praha 10
www.globalpaymentsinc.com