[ https://issues.apache.org/jira/browse/AXIS-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rodrigo Ruiz updated AXIS-2574: ------------------------------- Attachment: Call.diff Sorry, the previous patch was broken and led to compile errors. This is the correct one. > Reading an attachment (slowly) can cause resource deleted error > --------------------------------------------------------------- > > Key: AXIS-2574 > URL: https://issues.apache.org/jira/browse/AXIS-2574 > Project: Axis > Issue Type: Bug > Components: Basic Architecture > Affects Versions: 1.2.1 > Reporter: Steve Sowerby > Attachments: Call.diff, Call.diff > > > When reading the data from an attachment we periodically get the following > error: > java.io.IOException: Resource has been deleted. > at > org.apache.axis.attachments.ManagedMemoryDataSource$Instream.read(ManagedMemoryDataSource.java:688) > Having run this throught a debugger and had a brief look at the code it seems > to me there is a race condition of sorts. > The MemoryManagedDataSource that provides the InputStream has been marked as > deleted by the finalize method of AttachmentPart. > So basically if the client doesn't read off the attachment fast enough then > the writer will have finished and the AttachmentPart gets finalized and blam, > you've got a deleted MemoryManagedDataSource. > I'm not sure what the best fix is. Perhaps the deletion should actually be > some reference count rather than a simple boolean. That way the > MemoryManagedDataSource gets deleted once all the writers and readers are > done? Although perhaps then there would be an issue if the client was very > slow to even open the attachment? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]