You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by GitBox <gi...@apache.org> on 2020/12/21 08:41:00 UTC

[GitHub] [james-project] jeantil commented on pull request #280: JAMES-3477 demonstrates concurrency issue in MimeMessageCOW

jeantil commented on pull request #280:
URL: https://github.com/apache/james-project/pull/280#issuecomment-748848156


   Hello,
   
   I know it's Christmas time and all so no hurry :)
   
   I am pretty confident that the COW currently on master has a very negative impact on the tests on the CI. It also sounds like a critical issue for production systems (since the failures exhibit total dataloss for incoming emails after they have been successfully accepted by the server ). So I would like to know how this PR or a similar fix can proceed ? 
   
   What I understand is we have to choose between :
   - an always copy implementation which has a much higher GC alloc rate for larger mails (perfectly understandable since it copies the whole mail) and seems to be quite a bit slower for large mails >10MB  
   - A COW version based on ReentrantLock, with more complex code but better performance in the benchmarks. 
   
   My personal preference would be for the always copy because the code is simpler and it feels safer even though it is slower in micro benchmarks. But my opinion doesn't matter much and all I really care about is a safe implementation :) 
   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org