I did a little investigation into the wagon code, wanting to investigate some suspicions I've had for some time.
It seems to me like a single wagon instance is definitely not thread safe, which is by itself ok. But the wagon instances seem to be re-used by different threads, which would seem to indicate serial thread confinement. But looking at some of the code in the wagon classes has me deeply suspicious to the correctness of such a confinement. I'm quite certain the instance needs to be confined to a single thread for the duration of a connection. Is this the case ? It looks to me like re-using a wagon instance in a different thread is a /very/ risky business due to the stateful nature of the wagons; I'm not even sure it can be done correctly. But it seems to be done, is this a concious decision that is actually verified in the code ? I must hasten to add that I am quite unfamiliar with the code, my analysis is just based on reading some code and doing some simple instrumentations. Kristian --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
