Hi

I had some funny problems when getting exchanges from a consumer template,
the attached code snippet illustrates a minimal example that demonstrates
the problem. My findings are:

When getting a batch of files (in my case via an sftp endpoint) doing a
consumerTemplate.doneUoW(e) afterwards results in the underlying JSCH
library getting corrupted streams and breaks.

My assumption is that the underlying batch retrieval of files is done in
it's own thread, and when the first exchange is processed and i execute
doneUoW on it it accesses the JSCH file streams while the batch retrieval is
going on on the other thread and thus corrupts it.

Accumulating the exchanges in a collection and waiting to do the doneUoW()
on them until after the last batch entry avoids this problem.

So my questions are:

1) Are my assumption correct and is this what actual happens
2) If so, then there might be a problem, in those cases where you might have
a bazingallion files, and the doneUof() execution is not finished before the
batch retrieval starts again


The attached code snippet:

http://camel.465427.n5.nabble.com/file/n5714904/FailDemo.java FailDemo.java 


Some of the errors i get from the JSCH library (clearly indicates corrupted
file streams)

2274 [Connect thread localhost session] INFO
org.apache.camel.component.file.remote.SftpOperations - JSCH -> Caught an
exception, leaving main loop due to SSH_MSG_DISCONNECT: 2 Packet corrupt 
2506 [Connect thread localhost session] INFO
org.apache.camel.component.file.remote.SftpOperations - JSCH -> Caught an
exception, leaving main loop due to SSH_MSG_DISCONNECT: 2 Invalid ssh2
packet type: 0 
2305 [Connect thread localhost session] INFO
org.apache.camel.component.file.remote.SftpOperations - JSCH -> Caught an
exception, leaving main loop due to SSH_MSG_DISCONNECT: 2 Invalid ssh2
packet type: 209 
2286 [Connect thread localhost session] INFO
org.apache.camel.component.file.remote.SftpOperations - JSCH -> Received
SSH_MSG_UNIMPLEMENTED for 69
4726 [Connect thread localhost session] INFO
org.apache.camel.component.file.remote.SftpOperations - JSCH -> Received
SSH_MSG_UNIMPLEMENTED for 47

I included these for search engines, in case other gets similar problems.


kr. Lars Dam



--
View this message in context: 
http://camel.465427.n5.nabble.com/consumerTemplate-threading-worries-when-having-a-Batch-Consumer-tp5714904.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to