[ https://issues.apache.org/jira/browse/SANDBOX-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13224859#comment-13224859 ]
Sebb commented on SANDBOX-408: ------------------------------ I thought you wanted to be able to pass CSVFormat objects between threads? As it stands, the implementation is not completely thread-safe. And the Javadoc comment is still misleading. > CSVFormat describes itself as immutable, but it is not - in particular it is > not thread-safe > -------------------------------------------------------------------------------------------- > > Key: SANDBOX-408 > URL: https://issues.apache.org/jira/browse/SANDBOX-408 > Project: Commons Sandbox > Issue Type: Bug > Components: CSV > Reporter: Sebb > Attachments: CSVFormat.java > > > CSVFormat describes itself as immutable, but it is not @Immutable - the class > fields are all mutable. > The methods that change the fields do so by creating a clone, and returning > the changed clone. > So in a sense the class is immutable. > However, the normal expectation is that @Immutable classes are @ThreadSafe. > CSVFormat is not thread-safe, because the fields are not volatile, and the > fields are not written & read using a common lock. > The comment needs to be clarified or removed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira