james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tellier Benoit (JIRA)" <server-...@james.apache.org>
Subject [jira] [Commented] (JAMES-2448) Camel container is too long to start
Date Tue, 03 Jul 2018 02:40:00 GMT

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

Tellier Benoit commented on JAMES-2448:
---------------------------------------

Build time:


{code:java}
[2a274cd170cbeb1f807753a0b07d4a265e28d818] [INFO] Apache James :: Server :: JMAP :: Cassandra
Integration testing SUCCESS [50:00 min]
[2a274cd170cbeb1f807753a0b07d4a265e28d818] [INFO] Apache James :: Server :: JMAP :: Memory
Integration testing SUCCESS [07:46 min]
{code}

to be compared with:


{code:java}
[c7ce92511d289cd65349f99b88b8d9452bcc2f4b] [INFO] Apache James :: Server :: JMAP :: Cassandra
Integration testing SUCCESS [  01:11 h]
[c7ce92511d289cd65349f99b88b8d9452bcc2f4b] [INFO] Apache James :: Server :: JMAP :: Memory
Integration testing SUCCESS [21:44 min]
{code}

Which for these both projects represents a 35 minutes gain.

Note that some other gains are also realized on mailet-integration-testing, all guice products
tests, mpt-smtp-cassandra, webadmin-integration, and server-app (maybe others).

> Camel container is too long to start
> ------------------------------------
>
>                 Key: JAMES-2448
>                 URL: https://issues.apache.org/jira/browse/JAMES-2448
>             Project: James Server
>          Issue Type: Improvement
>          Components: JMAP, SpoolManager &amp; Processors, tests
>            Reporter: Tellier Benoit
>            Assignee: Antoine Duprat
>            Priority: Major
>
> A classic mailet container takes up to 1 s to load on a warm JVM.
> Fast startup is critical for our testing strategy (relying heavily on integration tests).
We should make camel container loading faster.
> Ideas:
>  - Some parameters are passed to components via dynamically generated properties, on
a per call basis. This is inefficient and can be passed by a constructor.
>  - Many classes used in CamelMailetContainer are not static
>  - We finally can heavily simplify the logic expressed in Camel DSL, and express it through
a *split - process* way, instead of relying on *camel choices*.
> We should measure the effect on boot time, and run Gatling SMTP test to evaluate the
impact on delivery.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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


Mime
View raw message