Benoit Tellier created JAMES-3859:
-------------------------------------

             Summary: Wrong starting sequence
                 Key: JAMES-3859
                 URL: https://issues.apache.org/jira/browse/JAMES-3859
             Project: James Server
          Issue Type: Bug
          Components: guice
    Affects Versions: master
            Reporter: Benoit Tellier
             Fix For: 3.8.0


h3. What happened?

At a customer, processing emails via LMTP started while the user repository was 
not (yet) configured.

As a result, the resulting processing was faulty (until the right configuration 
was applied).

The starting sequence I observed:

{code:java}
09:47:04.784 [INFO ] o.a.j.m.i.JamesMailSpooler - init...
09:47:04.784 [INFO ] o.a.j.m.i.JamesMailSpooler - Concurrency level is 20
09:47:04.789 [INFO ] o.a.j.m.i.JamesMailSpooler - Spooler started
09:47:04.796 [INFO ] o.a.j.m.m.MailboxListenersLoaderImpl - Loading user 
registered mailbox listeners
09:47:04.797 [INFO ] o.a.j.m.m.MailboxListenersLoaderImpl - Loading user 
registered mailbox listener 
ClassName{name=org.apache.james.mailbox.cassandra.MailboxOperationLoggingListener}
09:47:04.835 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
bound to: 0.0.0.0:0
09:47:04.836 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:04.836 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:04.836 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
handler connection timeout is: 300
09:47:04.836 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
connection backlog is: 200
09:47:04.845 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
bound to: 0.0.0.0:0
09:47:04.845 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:04.845 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:04.845 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
handler connection timeout is: 300
09:47:04.845 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - IMAP Service 
connection backlog is: 200
09:47:04.846 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - TLS enabled 
with auth NONE using truststore null
09:47:04.932 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init IMAP 
Service done
09:47:05.019 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init IMAP 
Service done
09:47:05.031 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - LMTP Service 
bound to: 0.0.0.0:0
09:47:05.031 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - LMTP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:05.031 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - LMTP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:05.031 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - LMTP Service 
handler connection timeout is: 1200
09:47:05.031 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - LMTP Service 
connection backlog is: 200
09:47:05.031 [INFO ] o.a.j.l.n.LMTPServer - No maximum message size is enforced 
for this server.
09:47:05.196 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init LMTP 
Service done
09:47:05.209 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - POP3 Service 
bound to: 0.0.0.0:0
09:47:05.209 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - POP3 Service 
is running on: interview1-HP-ProBook-440-G6
09:47:05.209 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - POP3 Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:05.209 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - POP3 Service 
handler connection timeout is: 1200
09:47:05.210 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - POP3 Service 
connection backlog is: 200
09:47:05.293 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init POP3 
Service done
09:47:05.307 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
bound to: 0.0.0.0:0
09:47:05.307 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:05.307 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:05.308 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler connection timeout is: 360
09:47:05.308 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
connection backlog is: 200
09:47:05.313 [INFO ] o.a.j.s.n.SMTPServer - No maximum message size is enforced 
for this server.
09:47:05.314 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
bound to: 0.0.0.0:0
09:47:05.314 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:05.314 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:05.314 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler connection timeout is: 360
09:47:05.314 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
connection backlog is: 200
09:47:05.314 [INFO ] o.a.j.s.n.SMTPServer - No maximum message size is enforced 
for this server.
09:47:05.315 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
bound to: 0.0.0.0:0
09:47:05.315 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
is running on: interview1-HP-ProBook-440-G6
09:47:05.315 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler hello name is: interview1-HP-ProBook-440-G6
09:47:05.315 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
handler connection timeout is: 360
09:47:05.315 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - SMTP Service 
connection backlog is: 200
09:47:05.315 [INFO ] o.a.j.s.n.SMTPServer - No maximum message size is enforced 
for this server.
09:47:05.390 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init SMTP 
Service done
09:47:05.409 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init SMTP 
Service done
09:47:05.437 [INFO ] o.a.j.p.l.n.AbstractConfigurableAsyncServer - Init SMTP 
Service done
CONFIGURING user repo
09:47:06.609 [INFO ] o.a.j.GuiceJamesServer - JAMES server started
{code}

We clearly see that the users repository was configured last, despite being a 
dependency of most protocols.

We expect it to be started before the other protocols.

More specifically, I would like to have a mechanism to gain more control around 
the starting sequence and ensures that protocols and queue consumers are 
configured last.

h3. How?

Adding a stage to InitializingOperation would allow grouping them by stages and 
give control on where to start what.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to