choosing attachment file caching strategy is broken
---------------------------------------------------
Key: WSCOMMONS-247
URL: https://issues.apache.org/jira/browse/WSCOMMONS-247
Project: WS-Commons
Issue Type: Bug
Components: AXIOM
Reporter: Michal Stochmialek
The bug is a gap in conditions while choosing file caching strategy:
if (contentLength != 0 &&
contentLength <= fileStorageThreshold) {
// Since the content-length is less than the threshold, we can safely
// store it in memory.
// [... creating a Part in memory ...]
} else if (contentLength != 0 &&
contentLength > fileStorageThreshold * 2) {
// The content-length is much bigger than the threshold, then always
// store the attachments in a file. This prevents unnecessary
buffering.
// [... creating a port in file ...]
} else {
// Read chunks of data to determine the size
// of the attachment. This can wasteful because we need to gc the
buffers.
// [... determining the size by reading the beginning of stream
}
Those conditions works fine for:
- contentLength != 0 and contentLenght <= threshold
- contentLength != 0 and contentLenght > threshold * 2
- contentLength == 0
but not for:
- contentLength != 0 and threshold < contentLenght > threshold * 2
In this case, the flow should go to the first condition, not the third one.
--
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]