Hello Glennos!
Nice to see such a motivation ;-)
On 21/03/2022 06:41, Glennos wrote:
Hi all,
I'm new to the project - my name is Glennos, and I've been chatting with
@chibenwa overhttps://gitter.im/apache/james-project - however he
suggested I join the mailing list, so that's what I'm doing! So hi everyone!
I'd like to contribute to this pull request: JAMES-3715: Upgrade to Netty
4.1;
https://github.com/apache/james-project/pull/886
https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3715
I've reviewed the changes made so far - and I've left a whole bunch of
review comments at the end of
https://github.com/apache/james-project/pull/886
(however you seem to need to be a project maintainer or maybe just logged
in to see them)
Netty 4 migration had been a HUUUUGE effort on the past month requiring
most of the resources of the project.
See :
* apache/james-project#886
<https://github.com/apache/james-project/pull/886>
* apache/james-project#898
<https://github.com/apache/james-project/pull/898>
* apache/james-project#903
<https://github.com/apache/james-project/pull/903>
* apache/james-project#908
<https://github.com/apache/james-project/pull/908>
The devil is in details! Threading model, concurrency, subbtle API
changes, etc... Requires a loooot of testing and adjustments in order to
deliver something stable. There's a looot of corner cases.
Your help is of course welcome on the ongoing effort!
That being said, I do not see your comments on github. No specific
rights are required to comment / review. I thus suspect you did not
submit your code review.
To do so, go in the pull request, > file changed , > review changes, >
comment.
Feel free to suggest if you want me to make all the suggested changes - or
even none - doesn't especially bother me. However I have noted some minor
bugs/potential issues that I do think would be valuable to fix.
Feedback is always valuable! Fixes always welcome.
I'd also like to improve the 'Encryption' class to support *both*
SSLContext and SslContext. I've already implemented this and other fixes, *just
need to know where to contribute them*;
1. *It would be handy if someone could create a 'netty4' branch or
similar onhttps://github.com/apache/james-project/
<https://github.com/apache/james-project/>*
2. Alternatively should I fork or can I directly contribute to
https://github.com/ff-wl/james-project/tree/netty4 ? (not preferred, much
rather we all contribute to a branch on the main 'apache/james-project/')
Changes welcome! I had those in mind too but restrained from proposing
such changes just yet as the Netty4 work is starting going quite wild.I
waited to get things merged and cleaned up before tackling follow up work.
For those unuware of Netty internals, relying on Netty for SSL
encryption allow leveraging their JNA work to do native calls to OpenSSL
thus leveraging a massive performance improvments for SSL workloads. A
MUST have. We spend ~15% of our time doing SSL on IMAP workloads...
The prefered way of working is to create a new branch (so here
netty-4-ssl for instance). You can then package your pre-requisites as
commits prefixed with [NO-REVIEW] to make it clear those are not part of
your changeset. Once the pre-requisites are merged we then can remove
those no-review commits. An example can be
https://github.com/apache/james-project/pull/898
Thanks in advance,
Regards,
Glennos