[ 
https://issues.apache.org/jira/browse/JAMES-3477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17255557#comment-17255557
 ] 

ASF GitHub Bot commented on JAMES-3477:
---------------------------------------

jeantil commented on a change in pull request #282:
URL: https://github.com/apache/james-project/pull/282#discussion_r549327693



##########
File path: 
server/container/core/src/main/java/org/apache/james/server/core/MimeMessageInputStream.java
##########
@@ -40,19 +40,13 @@
      *            the message to wrap
      * @param tryCast
      *            try to cast the {@link MimeMessage} to
-     *            {@link MimeMessageCopyOnWriteProxy} /
      *            {@link MimeMessageWrapper} to do some optimized processing if
      *            possible
      * @throws MessagingException
      */
     public MimeMessageInputStream(MimeMessage message, boolean tryCast) throws 
MessagingException {
         MimeMessage m = message;
 
-        // check if we need to use the wrapped message
-        if (tryCast && m instanceof MimeMessageCopyOnWriteProxy) {
-            m = ((MimeMessageCopyOnWriteProxy) m).getWrappedMessage();
-        }
-
         // check if we can use optimized operations
         if (tryCast && m instanceof MimeMessageWrapper) {

Review comment:
       you definitely want to remove all the synchronized blocks on 
MimeMessageWrapper since it is definitely not thread safe (f only because it 
relies on MimeMessageInputStreamSource) which itself isn't thread safe. This 
will both remove the illusion of thread safety, provide performance 
improvements and possibly let the integration test fail faster if there are 
concurrent access left.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> MimeMessageCopyOnWriteProxy is not thread safe
> ----------------------------------------------
>
>                 Key: JAMES-3477
>                 URL: https://issues.apache.org/jira/browse/JAMES-3477
>             Project: James Server
>          Issue Type: Wish
>            Reporter: Benoit Tellier
>            Priority: Major
>
> https://www.mail-archive.com/[email protected]/msg69221.html
> & 
> https://github.com/jeantil/james-project/commit/c0354ea21c5b0a8f6d46e9919f7db0d97db9eb23
> proves there is a concurrency issue in MimeMessageCopyOnWriteProxy class that 
> we need to investigate.
> It causes our test suite to be flacky.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to