[jira] [Created] (JAMES-3311) ImapChannelUpstreamHandler does not supports concurrent accesses

2020-07-17 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3311:
---

 Summary: ImapChannelUpstreamHandler does not supports concurrent 
accesses
 Key: JAMES-3311
 URL: https://issues.apache.org/jira/browse/JAMES-3311
 Project: James Server
  Issue Type: Bug
  Components: IMAPServer
Reporter: Gautier DI FOLCO


*ImapChannelUpstreamHandler* can be called concurrently and several IMAP 
messages being processed parrallely on the same connection.

There is a data race: one command cannot add the heartbeat handler, the other 
one removes it.

*org.jboss.netty.channel.ChannelPipeline* is not concurrent friendly.

  
{code:java}
java.util.NoSuchElementException: heartbeatHandler
 at 
org.jboss.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:684)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.remove(DefaultChannelPipeline.java:153)
 at 
org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:215)
 at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
 at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
 at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
 at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
 at 
org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
 at 
org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
 at 
org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.base/java.lang.Thread.run(Unknown Source){code}
 
{code:java}
java.lang.IllegalArgumentException: Duplicate handler name: heartbeatHandler
 at 
org.jboss.netty.channel.DefaultChannelPipeline.checkDuplicateName(DefaultChannelPipeline.java:677)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:117)
 at 
org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:192)
 at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
 at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
 at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
 at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
 at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
 at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
 at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
 at 
org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
 at 
org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
 at 
org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.base/java.lang.Thread.run(Unknown Source){code}



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

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



[jira] [Created] (JAMES-3310) DeletedMessageVaultHook is brittle

2020-07-16 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3310:
---

 Summary: DeletedMessageVaultHook is brittle
 Key: JAMES-3310
 URL: https://issues.apache.org/jira/browse/JAMES-3310
 Project: James Server
  Issue Type: Improvement
  Components: Blob
Reporter: Gautier DI FOLCO


When DeletedMessageVaultHook cannot load back a message it silently continue 
while it should fail in order to avoid message loss.



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

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



[jira] [Commented] (JAMES-3296) Be able to rebuild RabbitMQ MailQueue

2020-07-09 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3296:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3547]

> Be able to rebuild RabbitMQ MailQueue
> -
>
> Key: JAMES-3296
> URL: https://issues.apache.org/jira/browse/JAMES-3296
> Project: James Server
>  Issue Type: Improvement
>  Components: Queue, SpoolManager & Processors
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> In order to survive RabbitMQ data-loss, we should be able to rebuild RabbitMQ 
> from Cassandra view to be able to continue mail processing.



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

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



[jira] [Created] (JAMES-3296) Be able to rebuild RabbitMQ MailQueue

2020-07-06 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3296:
---

 Summary: Be able to rebuild RabbitMQ MailQueue
 Key: JAMES-3296
 URL: https://issues.apache.org/jira/browse/JAMES-3296
 Project: James Server
  Issue Type: Improvement
  Components: Queue, SpoolManager & Processors
Reporter: Gautier DI FOLCO


In order to survive RabbitMQ data-loss, we should be able to rebuild RabbitMQ 
from Cassandra view to be able to continue mail processing.



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

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



[jira] [Created] (JAMES-3292) Listing Tasks is too verbose

2020-07-01 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3292:
---

 Summary: Listing Tasks is too verbose
 Key: JAMES-3292
 URL: https://issues.apache.org/jira/browse/JAMES-3292
 Project: James Server
  Issue Type: Bug
  Components: webadmin
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


When we list all tasks through webadmin, additional information are displayed, 
while it should only be displayed in the specific task get.



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

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



[jira] [Commented] (JAMES-3288) When RabbitMQ stops mails are not processed when it goes back

2020-06-30 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3288:
-

It was actually wrongly diagnosed, resilient connection and channel are used 
everywhere, but an unexpected exception (see JAMES-3290) broke the dequeuing.

> When RabbitMQ stops mails are not processed when it goes back
> -
>
> Key: JAMES-3288
> URL: https://issues.apache.org/jira/browse/JAMES-3288
> Project: James Server
>  Issue Type: Improvement
>  Components: rabbitmq
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> When RabbitMQ stops (is killed), the goes back, mails are not processed back



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

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



[jira] [Commented] (JAMES-3290) Cassandra exception is not handled in JamesSpooler

2020-06-30 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3290:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3530]

> Cassandra exception is not handled in JamesSpooler
> --
>
> Key: JAMES-3290
> URL: https://issues.apache.org/jira/browse/JAMES-3290
> Project: James Server
>  Issue Type: Improvement
>  Components: rabbitmq, SpoolManager & Processors
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> In the distributed flavor, we rely on *MailLoader* which itself rely on 
> Cassandra.
> Since this code mix-up reactive and non-reactive code, Cassandra errors are 
> non handled which break in the RabbitMQ part:
> {code:java}
> Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All 
> host(s) tried for query failed (tried: cassandra-0 
> (com.datastax.driver.core.exceptions.OperationTimedOutException: 
> [cassandra-0] Timed out waiting for server response), cassandra-1 
> (com.datastax.driver.core.exceptions.OperationTimedOutException: 
> [cassandra-1] Timed out waiting for server response), cassandra-2 
> (com.datastax.driver.core.exceptions.OperationTimedOutException: 
> [cassandra-2] Timed out waiting for server response))
>   at 
> com.datastax.driver.core.RequestHandler.reportNoMoreHosts(RequestHandler.java:284)
>   at 
> com.datastax.driver.core.RequestHandler.access$1200(RequestHandler.java:62)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.findNextHostAndQuery(RequestHandler.java:376)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.retry(RequestHandler.java:558)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.processRetryDecision(RequestHandler.java:540)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.onTimeout(RequestHandler.java:981)
>   at 
> com.datastax.driver.core.Connection$ResponseHandler$1.run(Connection.java:1582)
>   at 
> com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
>   at 
> com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
>   at 
> com.datastax.shaded.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
>   at 
> com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>   at java.base/java.lang.Thread.run(Unknown Source)
>   Suppressed: java.lang.Exception: #block terminated with an error
>   at 
> reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
>   at reactor.core.publisher.Mono.block(Mono.java:1666)
>   at 
> org.apache.james.queue.rabbitmq.MailLoader.load(MailLoader.java:46)
>   at 
> com.github.fge.lambdas.functions.FunctionChainer.lambda$sneakyThrow$49(FunctionChainer.java:74)
>   at 
> org.apache.james.queue.rabbitmq.Dequeuer.loadMail(Dequeuer.java:146)
>   at 
> org.apache.james.queue.rabbitmq.Dequeuer.loadItem(Dequeuer.java:124)
>   at 
> org.apache.james.queue.rabbitmq.Dequeuer.lambda$deQueue$1(Dequeuer.java:105)
>   at 
> reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:201)
>   at 
> reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:107)
>   at 
> reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:793)
>   at 
> reactor.core.publisher.FluxCreate$BufferAsyncSink.next(FluxCreate.java:718)
>   at 
> reactor.core.publisher.FluxCreate$SerializedSink.next(FluxCreate.java:153)
>   at reactor.rabbitmq.Receiver.lambda$null$9(Receiver.java:190)
>   at 
> com.rabbitmq.client.impl.recovery.AutorecoveringChannel$2.handleDelivery(AutorecoveringChannel.java:577)
>   at 
> com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149)
>   at 
> com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>   ... 1 common frames omitted
> t thread  pool-17-thread-5
> {code}
> Worse: it actually break the spooling threads, meaning that mails are not 
> dequeued.



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

-
To unsubscribe, e-mail: server-dev-u

[jira] [Created] (JAMES-3290) Cassandra exception is not handled in JamesSpooler

2020-06-30 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3290:
---

 Summary: Cassandra exception is not handled in JamesSpooler
 Key: JAMES-3290
 URL: https://issues.apache.org/jira/browse/JAMES-3290
 Project: James Server
  Issue Type: Improvement
  Components: rabbitmq, SpoolManager & Processors
Reporter: Gautier DI FOLCO


In the distributed flavor, we rely on *MailLoader* which itself rely on 
Cassandra.

Since this code mix-up reactive and non-reactive code, Cassandra errors are non 
handled which break in the RabbitMQ part:
{code:java}
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All 
host(s) tried for query failed (tried: cassandra-0 
(com.datastax.driver.core.exceptions.OperationTimedOutException: [cassandra-0] 
Timed out waiting for server response), cassandra-1 
(com.datastax.driver.core.exceptions.OperationTimedOutException: [cassandra-1] 
Timed out waiting for server response), cassandra-2 
(com.datastax.driver.core.exceptions.OperationTimedOutException: [cassandra-2] 
Timed out waiting for server response))
at 
com.datastax.driver.core.RequestHandler.reportNoMoreHosts(RequestHandler.java:284)
at 
com.datastax.driver.core.RequestHandler.access$1200(RequestHandler.java:62)
at 
com.datastax.driver.core.RequestHandler$SpeculativeExecution.findNextHostAndQuery(RequestHandler.java:376)
at 
com.datastax.driver.core.RequestHandler$SpeculativeExecution.retry(RequestHandler.java:558)
at 
com.datastax.driver.core.RequestHandler$SpeculativeExecution.processRetryDecision(RequestHandler.java:540)
at 
com.datastax.driver.core.RequestHandler$SpeculativeExecution.onTimeout(RequestHandler.java:981)
at 
com.datastax.driver.core.Connection$ResponseHandler$1.run(Connection.java:1582)
at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
at 
com.datastax.shaded.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
at 
com.datastax.shaded.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
at 
com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Unknown Source)
Suppressed: java.lang.Exception: #block terminated with an error
at 
reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
at reactor.core.publisher.Mono.block(Mono.java:1666)
at 
org.apache.james.queue.rabbitmq.MailLoader.load(MailLoader.java:46)
at 
com.github.fge.lambdas.functions.FunctionChainer.lambda$sneakyThrow$49(FunctionChainer.java:74)
at 
org.apache.james.queue.rabbitmq.Dequeuer.loadMail(Dequeuer.java:146)
at 
org.apache.james.queue.rabbitmq.Dequeuer.loadItem(Dequeuer.java:124)
at 
org.apache.james.queue.rabbitmq.Dequeuer.lambda$deQueue$1(Dequeuer.java:105)
at 
reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:201)
at 
reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:107)
at 
reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:793)
at 
reactor.core.publisher.FluxCreate$BufferAsyncSink.next(FluxCreate.java:718)
at 
reactor.core.publisher.FluxCreate$SerializedSink.next(FluxCreate.java:153)
at reactor.rabbitmq.Receiver.lambda$null$9(Receiver.java:190)
at 
com.rabbitmq.client.impl.recovery.AutorecoveringChannel$2.handleDelivery(AutorecoveringChannel.java:577)
at 
com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149)
at 
com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
... 1 common frames omitted
t threadpool-17-thread-5
{code}
Worse: it actually break the spooling threads, meaning that mails are not 
dequeued.



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

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



[jira] [Closed] (JAMES-3288) When RabbitMQ stops mails are not processed when it goes back

2020-06-30 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO closed JAMES-3288.
---
Resolution: Not A Problem

> When RabbitMQ stops mails are not processed when it goes back
> -
>
> Key: JAMES-3288
> URL: https://issues.apache.org/jira/browse/JAMES-3288
> Project: James Server
>  Issue Type: Improvement
>  Components: rabbitmq
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> When RabbitMQ stops (is killed), the goes back, mails are not processed back



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

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



[jira] [Created] (JAMES-3288) When RabbitMQ stops mails are not processed when it goes back

2020-06-25 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3288:
---

 Summary: When RabbitMQ stops mails are not processed when it goes 
back
 Key: JAMES-3288
 URL: https://issues.apache.org/jira/browse/JAMES-3288
 Project: James Server
  Issue Type: Improvement
  Components: rabbitmq
Reporter: Gautier DI FOLCO


When RabbitMQ stops (is killed), the goes back, mails are not processed back



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

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



[jira] [Commented] (JAMES-3276) TemporaryJamesServer leaks between tests

2020-06-24 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3276:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3477]

> TemporaryJamesServer leaks between tests
> 
>
> Key: JAMES-3276
> URL: https://issues.apache.org/jira/browse/JAMES-3276
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When tests are running with TemporaryJamesServer, some information are 
> leaking, it is visible when different configurations are set-up, because the 
> previous configuration is put.



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

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



[jira] [Created] (JAMES-3276) TemporaryJamesServer leaks between tests

2020-06-24 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3276:
---

 Summary: TemporaryJamesServer leaks between tests
 Key: JAMES-3276
 URL: https://issues.apache.org/jira/browse/JAMES-3276
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


When tests are running with TemporaryJamesServer, some information are leaking, 
it is visible when different configurations are set-up, because the previous 
configuration is put.



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

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



[jira] [Commented] (JAMES-3267) ImapRequestFrameDecoder.decode should not force the temporary file deletion

2020-06-23 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3267:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3469]

> ImapRequestFrameDecoder.decode should not force the temporary file deletion
> ---
>
> Key: JAMES-3267
> URL: https://issues.apache.org/jira/browse/JAMES-3267
> Project: James Server
>  Issue Type: Improvement
>  Components: IMAPServer
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> ImapRequestFrameDecoder.decode relies on a temporary file to operate.
> At the end, it forcefully tries to delete it, which fails when the file does 
> not exists anymore:
>  
> {code:java}
>   org.apache.james.mailbox.exception.MailboxException: Unable to parse 
> message
>   at 
> org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:344)
>   at 
> org.apache.james.imap.processor.AppendProcessor.appendToMailbox(AppendProcessor.java:130)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:75)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:55)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:100)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:77)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:58)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:198)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannel

[jira] [Created] (JAMES-3267) ImapRequestFrameDecoder.decode should not force the temporary file deletion

2020-06-23 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3267:
---

 Summary: ImapRequestFrameDecoder.decode should not force the 
temporary file deletion
 Key: JAMES-3267
 URL: https://issues.apache.org/jira/browse/JAMES-3267
 Project: James Server
  Issue Type: Improvement
  Components: IMAPServer
Reporter: Gautier DI FOLCO


ImapRequestFrameDecoder.decode relies on a temporary file to operate.

At the end, it forcefully tries to delete it, which fails when the file does 
not exists anymore:

 
{code:java}
org.apache.james.mailbox.exception.MailboxException: Unable to parse 
message
at 
org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:344)
at 
org.apache.james.imap.processor.AppendProcessor.appendToMailbox(AppendProcessor.java:130)
at 
org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:75)
at 
org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:55)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:100)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:77)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:58)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:198)
at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java

[jira] [Closed] (JAMES-3247) Do not throw in StoreMessageManager.appendMessage close

2020-06-23 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO closed JAMES-3247.
---
Resolution: Not A Bug

It was not the right issue.

> Do not throw in StoreMessageManager.appendMessage close
> ---
>
> Key: JAMES-3247
> URL: https://issues.apache.org/jira/browse/JAMES-3247
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> From time to time, StoreMessageManager.appendMessage throws when the closes 
> happen, when the temporary file disappears:
>  
> {code:java}
> org.apache.james.mailbox.exception.MailboxException: Unable to parse message
>   at 
> org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:344)
>   at 
> org.apache.james.imap.processor.AppendProcessor.appendToMailbox(AppendProcessor.java:130)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:75)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:55)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:100)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:77)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:58)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:198)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>   at 
> org.jboss.netty.channel.Channels.fireMessageRecei

[jira] [Reopened] (JAMES-3213) Enrich contact auto completion mailet pipeline with replyTo field

2020-06-22 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO reopened JAMES-3213:
-

The header name was invalid: 
[https://github.com/linagora/james-project/pull/3463]

> Enrich contact auto completion mailet pipeline with replyTo field
> -
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then a third party sends an ITIP request to the CardAV server to handle 
> realtime update.
> To achieve that, the third party send a message to James which output 
> received events to an AMQP channel that could be consumed by a CardAV server. 
> In the mean time James enrich the event sent to this server.
> If the sender email does not exist in the list attendee, the CardAV ITIP 
> broker will add him to the attendee list.
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from the third party system 
> ([no-re...@example.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Commented] (JAMES-3247) Do not throw in StoreMessageManager.appendMessage close

2020-06-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3247:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3453]

> Do not throw in StoreMessageManager.appendMessage close
> ---
>
> Key: JAMES-3247
> URL: https://issues.apache.org/jira/browse/JAMES-3247
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> From time to time, StoreMessageManager.appendMessage throws when the closes 
> happen, when the temporary file disappears:
>  
> {code:java}
> org.apache.james.mailbox.exception.MailboxException: Unable to parse message
>   at 
> org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:344)
>   at 
> org.apache.james.imap.processor.AppendProcessor.appendToMailbox(AppendProcessor.java:130)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:75)
>   at 
> org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:55)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:100)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:77)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:58)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
>   at 
> org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:198)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultCha

[jira] [Created] (JAMES-3247) Do not throw in StoreMessageManager.appendMessage close

2020-06-18 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3247:
---

 Summary: Do not throw in StoreMessageManager.appendMessage close
 Key: JAMES-3247
 URL: https://issues.apache.org/jira/browse/JAMES-3247
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


>From time to time, StoreMessageManager.appendMessage throws when the closes 
>happen, when the temporary file disappears:

 
{code:java}
org.apache.james.mailbox.exception.MailboxException: Unable to parse message
at 
org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:344)
at 
org.apache.james.imap.processor.AppendProcessor.appendToMailbox(AppendProcessor.java:130)
at 
org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:75)
at 
org.apache.james.imap.processor.AppendProcessor.processRequest(AppendProcessor.java:55)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:100)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:77)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:58)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:67)
at 
org.apache.james.imapserver.netty.ImapChannelUpstreamHandler.messageReceived(ImapChannelUpstreamHandler.java:198)
at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
   

[jira] [Commented] (JAMES-2335) Modernize James configuration

2020-06-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-2335:
-

In fact we have removed all the OSGi code in James due to the lack of tests on 
it.

 

Whatever the chosen solution, the implementation should be thoroughly tested to 
avoid the maintenance costs.

> Modernize James configuration
> -
>
> Key: JAMES-2335
> URL: https://issues.apache.org/jira/browse/JAMES-2335
> Project: James Server
>  Issue Type: Improvement
>  Components: configuration
>Reporter: Benoit Tellier
>Priority: Major
>  Labels: feature, refactoring
>
> Apache James currently relies on commons-configuration, and thus on XML 
> configuration files.
> As such the configuration process has several problems:
>  - Working with XML is boiler plate
>  - Working with file leads to a real lack of flexibility.
>   - For instance, in a cluster environment, we would like all the James 
> server to share the same configurations.
>   - Also, in tests, we need to test the different configuration values. 
> We can not do this without overwriting files, which is dangerous, and 
> boilerplate.
> What we need is:
>  - To represent all possible configuration via java objects.
>  - Configuration providers should be able to convert the configuration stored 
> into the java configuration object.
>  - We should be able to inject different configuration providers from 
> guice/spring.
> It would allow to specify alternative configuration backends (different 
> formats, different storage techniques) and allow direct injection (for tests 
> for instance).
> Here would be the steps for this work:
>  - Add a *Initializable* class in *lifecycle-api*. This should be called by 
> Guice and Sprint at initialization
>  - *configure* in Configurable will save a Java object (parse the 
> HierachicalConfiguration into a java object representing it's content). 
> Initialization will then be done by *Initializable*.
>  - Then we can move away, object by object, from the *Configurable* 
> interface: We need to move the configuration parsing in a separated class 
> (behind an interface). We can register *ConfigurationProviders*, with an 
> XML/commons-configuration  default implementation.
>  - Deprecate *Configurable*.
>  - Provide alternative configuration providers, for example, a Cassandra 
> stored configuration provider



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

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



[jira] [Closed] (JAMES-2733) WebAdmin is slow under heavyload

2020-06-18 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO closed JAMES-2733.
---
Resolution: Won't Fix

> WebAdmin is slow under heavyload
> 
>
> Key: JAMES-2733
> URL: https://issues.apache.org/jira/browse/JAMES-2733
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Under heavy load, for a prolonged period of time (9 mail/s for 6h), WebAdmin 
> takes up to 45 seconds like
>  
> {code:java}
> curl -XGET http://james-charge-01:8000/mailQueues/spool
> {code}



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

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



[jira] [Resolved] (JAMES-2909) Use Architectural Decision Records

2020-06-18 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2909.
-
Resolution: Fixed

> Use Architectural Decision Records
> --
>
> Key: JAMES-2909
> URL: https://issues.apache.org/jira/browse/JAMES-2909
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Major
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> In order to adopt a more community-oriented, we should use an Architectural 
> Decision Records-based processus, being the support of discussion on the 
> developers mailing-lists.



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

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



[jira] [Resolved] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-06-18 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-3066.
-
Resolution: Incomplete

> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.
> For example:
>  
> {code:java}
> GET /users/b...@domain.tld/allowedFromHeaders
> ["b...@domain.tld", "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"] 
> {code}
>  



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

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



[jira] [Resolved] (JAMES-3157) Inject blobs credentials

2020-06-18 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-3157.
-
Resolution: Fixed

> Inject blobs credentials
> 
>
> Key: JAMES-3157
> URL: https://issues.apache.org/jira/browse/JAMES-3157
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> When running the benchmarks, we should be able to target different profiles, 
> targeting or not an external blobs store.



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

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



[jira] [Commented] (JAMES-3224) Make Cassandra Consistency levels configurable

2020-06-17 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3224:
-

> > What we can do is allow to switch QUORUM-style queries to EACH_QUORUM or 
> > LOCAL_QUORUM 

Just to be sure I have got this right: I drop 
{{cassandra.consistency_level.lightweight_transaction}} and I limit 
{{cassandra.consistency_level.regular}}?

 

>> BTW, we also have, in the codebase, some ONE on specific uses: we can't have 
>> a single level of configuration as it uses ONE for good reasons.

> I think it is unaffected by Gautier changes.

Yes, have let them as they are.

> Make Cassandra Consistency levels configurable
> --
>
> Key: JAMES-3224
> URL: https://issues.apache.org/jira/browse/JAMES-3224
> Project: James Server
>  Issue Type: Improvement
>  Components: cassandra
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Consistency level in Cassandra queries is set explicitly to QUORUM in some 
> cases, and to SERIAL in some other cases (lightweight transactions).
> The goal is to make these queries globally configurable.
> In the {{cassandra.properties}} file, I propose we add two configuration 
> properties:
>  * {{cassandra.consistency_level.regular}} (default to QUORUM to avoid 
> breaking changes)
>  * {{cassandra.consistency_level.lightweight_transaction}} (default to SERIAL)



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

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



[jira] [Commented] (JAMES-3224) Make Cassandra Consistency levels configurable

2020-06-16 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3224:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3448]

> Make Cassandra Consistency levels configurable
> --
>
> Key: JAMES-3224
> URL: https://issues.apache.org/jira/browse/JAMES-3224
> Project: James Server
>  Issue Type: Improvement
>  Components: cassandra
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Consistency level in Cassandra queries is set explicitly to QUORUM in some 
> cases, and to SERIAL in some other cases (lightweight transactions).
> The goal is to make these queries globally configurable.
> In the {{cassandra.properties}} file, I propose we add two configuration 
> properties:
>  * {{cassandra.consistency_level.regular}} (default to QUORUM to avoid 
> breaking changes)
>  * {{cassandra.consistency_level.lightweight_transaction}} (default to SERIAL)



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

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



[jira] [Created] (JAMES-3224) Make Cassandra Consistency levels configurable

2020-06-16 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3224:
---

 Summary: Make Cassandra Consistency levels configurable
 Key: JAMES-3224
 URL: https://issues.apache.org/jira/browse/JAMES-3224
 Project: James Server
  Issue Type: Improvement
  Components: cassandra
Reporter: Gautier DI FOLCO


Consistency level in Cassandra queries is set explicitly to QUORUM in some 
cases, and to SERIAL in some other cases (lightweight transactions).

The goal is to make these queries globally configurable.

In the {{cassandra.properties}} file, I propose we add two configuration 
properties:
 * {{cassandra.consistency_level.regular}} (default to QUORUM to avoid breaking 
changes)
 * {{cassandra.consistency_level.lightweight_transaction}} (default to SERIAL)



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

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



[jira] [Updated] (JAMES-3213) Enrich contact auto completion mailet pipeline with replyTo field

2020-06-12 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3213:

Description: 
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then a third party sends an ITIP request to the CardAV server to handle 
realtime update.

To achieve that, the third party send a message to James which output received 
events to an AMQP channel that could be consumed by a CardAV server. In the 
mean time James enrich the event sent to this server.

If the sender email does not exist in the list attendee, the CardAV ITIP broker 
will add him to the attendee list.

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from the third party system 
([no-re...@example.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.

  was:
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then a third party sends an ITIP request to the CardAV server to handle 
realtime update.

If the sender email does not exist in the list attendee, the CardAV ITIP broker 
will add him to the attendee list.

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from the third party system 
([no-re...@example.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.


> Enrich contact auto completion mailet pipeline with replyTo field
> -
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then a third party sends an ITIP request to the CardAV server to handle 
> realtime update.
> To achieve that, the third party send a message to James which output 
> received events to an AMQP channel that could be consumed by a CardAV server. 
> In the mean time James enrich the event sent to this server.
> If the sender email does not exist in the list attendee, the CardAV ITIP 
> broker will add him to the attendee list.
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from the third party system 
> ([no-re...@example.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Updated] (JAMES-3213) Enrich contact auto completion mailet pipeline with replyTo field

2020-06-12 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3213:

Description: 
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then a third party sends an ITIP request to the CardAV server to handle 
realtime update.

If the sender email does not exist in the list attendee, the CardAV ITIP broker 
will add him to the attendee list.

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from the third party system 
([no-re...@example.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.

  was:
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then a third party sends an ITIP request to the CardAV server to handle 
realtime update.

If the sender email does not exist in the list attendee, Sabre ITIP broker will 
add him to the attendee list.

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from the third party system 
([no-re...@example.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.

Summary: Enrich contact auto completion mailet pipeline with replyTo 
field  (was: Prevent non-participant add in CardAV)

> Enrich contact auto completion mailet pipeline with replyTo field
> -
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then a third party sends an ITIP request to the CardAV server to handle 
> realtime update.
> If the sender email does not exist in the list attendee, the CardAV ITIP 
> broker will add him to the attendee list.
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from the third party system 
> ([no-re...@example.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Updated] (JAMES-3213) Prevent non-participant add in CardAV

2020-06-12 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3213:

Summary: Prevent non-participant add in CardAV  (was: Prevent 
non-participant add in Sabre)

> Prevent non-participant add in CardAV
> -
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then a third party sends an ITIP request to the CardAV server to handle 
> realtime update.
> If the sender email does not exist in the list attendee, Sabre ITIP broker 
> will add him to the attendee list.
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from the third party system 
> ([no-re...@example.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Updated] (JAMES-3213) Prevent non-participant add in Sabre

2020-06-12 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3213:

Description: 
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then a third party sends an ITIP request to the CardAV server to handle 
realtime update.

If the sender email does not exist in the list attendee, Sabre ITIP broker will 
add him to the attendee list.

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from the third party system 
([no-re...@example.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.

  was:
When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then ESN send an ITIP request to Sabre to handle realtime update.

If the sender email does not exist in the list attendee, Sabre ITIP broker will 
add him to the attendee list. 
[https://github.com/sabre-io/vobject/blob/master/lib/ITip/Broker.php#L373-L382]

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from OpenPaaS system 
([no-re...@open-paas.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.


> Prevent non-participant add in Sabre
> 
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then a third party sends an ITIP request to the CardAV server to handle 
> realtime update.
> If the sender email does not exist in the list attendee, Sabre ITIP broker 
> will add him to the attendee list.
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from the third party system 
> ([no-re...@example.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Commented] (JAMES-3213) Prevent non-participant add in Sabre

2020-06-11 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3213:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3438]

> Prevent non-participant add in Sabre
> 
>
> Key: JAMES-3213
> URL: https://issues.apache.org/jira/browse/JAMES-3213
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> When an attendee changes his participant status, there is a notification 
> email is sent to the event organizer from the attendee.
> Then ESN send an ITIP request to Sabre to handle realtime update.
> If the sender email does not exist in the list attendee, Sabre ITIP broker 
> will add him to the attendee list. 
> [https://github.com/sabre-io/vobject/blob/master/lib/ITip/Broker.php#L373-L382]
> This is not correct in cases:
>  * When an external attendee accept the event, the notification email should 
> send from OpenPaaS system 
> ([no-re...@open-paas.org|mailto:no-re...@open-paas.org])
>  * When the attendee forwards the invitation email to an external user, then 
> the external user (is not included in attendee list) accepts.
> Both cases above should not lead to the behavior that adding the sender to 
> the attendee list.



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

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



[jira] [Created] (JAMES-3213) Prevent non-participant add in Sabre

2020-06-11 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3213:
---

 Summary: Prevent non-participant add in Sabre
 Key: JAMES-3213
 URL: https://issues.apache.org/jira/browse/JAMES-3213
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


When an attendee changes his participant status, there is a notification email 
is sent to the event organizer from the attendee.

Then ESN send an ITIP request to Sabre to handle realtime update.

If the sender email does not exist in the list attendee, Sabre ITIP broker will 
add him to the attendee list. 
[https://github.com/sabre-io/vobject/blob/master/lib/ITip/Broker.php#L373-L382]

This is not correct in cases:
 * When an external attendee accept the event, the notification email should 
send from OpenPaaS system 
([no-re...@open-paas.org|mailto:no-re...@open-paas.org])
 * When the attendee forwards the invitation email to an external user, then 
the external user (is not included in attendee list) accepts.

Both cases above should not lead to the behavior that adding the sender to the 
attendee list.



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

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



[jira] [Commented] (JAMES-3211) Generalize EventBus

2020-06-11 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3211:
-

The title is not specific enough: "Extends mailbox-api EventBus interface"

> Generalize EventBus
> ---
>
> Key: JAMES-3211
> URL: https://issues.apache.org/jira/browse/JAMES-3211
> Project: James Server
>  Issue Type: Improvement
>Reporter: Lan Khuat
>Priority: Major
>
> When searching for users by quota ratio if we set the value of the parameters 
> to 0, the search feature is supposed to return newly created users who have 
> not receive any email yet at that point.
> However, this is not the case due to the quotas are currently being 
> initialize only after an user receive the first email.
> We need an event-driven system to initialize the quotas after an user has 
> been created successfully. The EventBus in mailbox-api could be generalized 
> so we can implement it to solve this problem without having to depend on this 
> module.
>  
>  



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

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



[jira] [Commented] (JAMES-3179) Run a static analyzer

2020-06-09 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3179:
-

> We could concider PMD [https://pmd.github.io/] as a viable option though I'm 
> unsure we should add it to the main build.

 

I will have a look during next intersprint.

 

> What decision did you end up taking regarding this?

> Would it be a good idea to include a profile to ease its activation and 
> enable it in CI environments?

 

It would be a good fit for the CI, but it requires profiles and we agreed to 
wait for the gradle migration before integrating it.

> Run a static analyzer
> -
>
> Key: JAMES-3179
> URL: https://issues.apache.org/jira/browse/JAMES-3179
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> It might be a good idea to check potential mistakes easily to spot errors.
> Tools tried:
>  * [ErrorProne|https://errorprone.info/]
>  * [fb-infer|https://fbinfer.com/]



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

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



[jira] [Commented] (JAMES-3191) Key registration is slow

2020-05-25 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3191:
-

I have a few questions:
 # How did you discovered it was related to the channel number?
 # Why do we need RabbitMQ for a SELECT?

Maybe it is not the channel problem, but the lock time, in this case, we might 
do more than just sending a message over RabbitMQ, and we should prepare the 
message, then request the channel.

> Key registration is slow
> 
>
> Key: JAMES-3191
> URL: https://issues.apache.org/jira/browse/JAMES-3191
> Project: James Server
>  Issue Type: Improvement
>  Components: eventbus, IMAPServer
>Affects Versions: master
>Reporter: Benoit Tellier
>Priority: Major
>  Labels: perf
>
> We noticed that on *master* SELECT IMAP command is significatively slow 
> (several minutes) on top of the distributed profile. (See attached 
> instrumentation average time and percentiles)
> A quick performance review links this to listener registration (by key).
> A code review leads to:
>  - The low channel number (3) maybe this count can be safely raised to a 
> higher number? Like 10? Maybe even configurable?
>  - EventBus::Register operation is handling IO but is synchronous. The 
> reactor scheduler backing it up is unspecifed (thus is likely the parrallel 
> one). We should let the caller specify the scheduler he whishes to run.



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

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



[jira] [Commented] (JAMES-3179) Run a static analyzer

2020-05-14 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3179:
-

Regarding the build slow down: each tool increase it by 50%, which is 
unsuitable on a PC, but not on the CI which aim to include ErrorProne.

> Run a static analyzer
> -
>
> Key: JAMES-3179
> URL: https://issues.apache.org/jira/browse/JAMES-3179
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> It might be a good idea to check potential mistakes easily to spot errors.
> Tools tried:
>  * [ErrorProne|https://errorprone.info/]
>  * [fb-infer|https://fbinfer.com/]



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

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



[jira] [Updated] (JAMES-3179) Run a static analyzer

2020-05-14 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3179:

Description: 
It might be a good idea to check potential mistakes easily to spot errors.

Tools tried:
 * [ErrorProne|https://errorprone.info/]
 * [fb-infer|https://fbinfer.com/]

  was:It might be a good idea to check potential mistakes easily to spot errors.


> Run a static analyzer
> -
>
> Key: JAMES-3179
> URL: https://issues.apache.org/jira/browse/JAMES-3179
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> It might be a good idea to check potential mistakes easily to spot errors.
> Tools tried:
>  * [ErrorProne|https://errorprone.info/]
>  * [fb-infer|https://fbinfer.com/]



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

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



[jira] [Created] (JAMES-3179) Run a static analyzer

2020-05-12 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3179:
---

 Summary: Run a static analyzer
 Key: JAMES-3179
 URL: https://issues.apache.org/jira/browse/JAMES-3179
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


It might be a good idea to check potential mistakes easily to spot errors.



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

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



[jira] [Comment Edited] (JAMES-3167) Reactify ACL, MailboxMapper, and MessageIdMapper

2020-04-29 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO edited comment on JAMES-3167 at 4/29/20, 8:18 AM:
---

This PR contributed to it: [https://github.com/linagora/james-project/pull/3281]


was (Author: gdifolco):
This PR contributed to it:

> Reactify ACL, MailboxMapper, and MessageIdMapper
> 
>
> Key: JAMES-3167
> URL: https://issues.apache.org/jira/browse/JAMES-3167
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> In order to continue efficiency improvements, ACL, MailboxMapper, and 
> MessageIdMapper should use Reactor.



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

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



[jira] [Commented] (JAMES-3167) Reactify ACL, MailboxMapper, and MessageIdMapper

2020-04-29 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3167:
-

This PR contributed to it:

> Reactify ACL, MailboxMapper, and MessageIdMapper
> 
>
> Key: JAMES-3167
> URL: https://issues.apache.org/jira/browse/JAMES-3167
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> In order to continue efficiency improvements, ACL, MailboxMapper, and 
> MessageIdMapper should use Reactor.



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

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



[jira] [Created] (JAMES-3167) Reactify ACL, MailboxMapper, and MessageIdMapper

2020-04-29 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3167:
---

 Summary: Reactify ACL, MailboxMapper, and MessageIdMapper
 Key: JAMES-3167
 URL: https://issues.apache.org/jira/browse/JAMES-3167
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


In order to continue efficiency improvements, ACL, MailboxMapper, and 
MessageIdMapper should use Reactor.



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

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



[jira] [Commented] (JAMES-3157) Inject blobs credentials

2020-04-27 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3157:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3334]

> Inject blobs credentials
> 
>
> Key: JAMES-3157
> URL: https://issues.apache.org/jira/browse/JAMES-3157
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> When running the benchmarks, we should be able to target different profiles, 
> targeting or not an external blobs store.



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

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



[jira] [Created] (JAMES-3157) Inject blobs credentials

2020-04-27 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3157:
---

 Summary: Inject blobs credentials
 Key: JAMES-3157
 URL: https://issues.apache.org/jira/browse/JAMES-3157
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


When running the benchmarks, we should be able to target different profiles, 
targeting or not an external blobs store.



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

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



[jira] [Commented] (JAMES-3150) Implement Garbage Colletion for blobs

2020-04-15 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3150:
-

This PR contributed to it: https://github.com/linagora/james-project/pull/3220

> Implement Garbage Colletion for blobs
> -
>
> Key: JAMES-3150
> URL: https://issues.apache.org/jira/browse/JAMES-3150
> Project: James Server
>  Issue Type: Improvement
>  Components: Blob
>Affects Versions: 3.3.0
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> With the blob store deduplication, dropping a blob in a distributed 
> environment is impossible if we want to keep an acceptable concurrency level.
> A Garbage Collector should be created in order to drop old blobs.



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

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



[jira] [Created] (JAMES-3150) Implement Garbage Colletion for blobs

2020-04-15 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3150:
---

 Summary: Implement Garbage Colletion for blobs
 Key: JAMES-3150
 URL: https://issues.apache.org/jira/browse/JAMES-3150
 Project: James Server
  Issue Type: Improvement
  Components: Blob
Affects Versions: 3.3.0
Reporter: Gautier DI FOLCO


With the blob store deduplication, dropping a blob in a distributed environment 
is impossible if we want to keep an acceptable concurrency level.

A Garbage Collector should be created in order to drop old blobs.



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

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



[jira] [Commented] (JAMES-3144) Use ElasticSearch reactively

2020-04-07 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3144:
-

This PR contributed to it.

> Use ElasticSearch reactively
> 
>
> Key: JAMES-3144
> URL: https://issues.apache.org/jira/browse/JAMES-3144
> Project: James Server
>  Issue Type: Improvement
>  Components: elasticsearch
>Affects Versions: 3.4.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> ElasticSearch is our last backend to be used synchronously, we can have gains 
> integrating it with our reactive infrastructure.



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

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



[jira] [Created] (JAMES-3144) Use ElasticSearch reactively

2020-04-07 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3144:
---

 Summary: Use ElasticSearch reactively
 Key: JAMES-3144
 URL: https://issues.apache.org/jira/browse/JAMES-3144
 Project: James Server
  Issue Type: Improvement
  Components: elasticsearch
Affects Versions: 3.4.0
Reporter: Gautier DI FOLCO


ElasticSearch is our last backend to be used synchronously, we can have gains 
integrating it with our reactive infrastructure.



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

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



[jira] [Commented] (JAMES-3134) James should not start versin RabbitMQ version is not correct

2020-04-06 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3134:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3271]

> James should not start versin RabbitMQ version is not correct
> -
>
> Key: JAMES-3134
> URL: https://issues.apache.org/jira/browse/JAMES-3134
> Project: James Server
>  Issue Type: Improvement
>  Components: rabbitmq
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> James starts without difficulty when the RabbitMQ version is not correct, a 
> startupcheck should be added.



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

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



[jira] [Created] (JAMES-3134) James should not start versin RabbitMQ version is not correct

2020-04-06 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3134:
---

 Summary: James should not start versin RabbitMQ version is not 
correct
 Key: JAMES-3134
 URL: https://issues.apache.org/jira/browse/JAMES-3134
 Project: James Server
  Issue Type: Improvement
  Components: rabbitmq
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


James starts without difficulty when the RabbitMQ version is not correct, a 
startupcheck should be added.



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

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



[jira] [Commented] (JAMES-3125) GETting full mail details in mailQueue

2020-03-24 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3125:
-

It's a privacy violation, if we do not allow an admin to read users' messages, 
why should we allow him/her to read soon-to-be-delivered messages?

> GETting full mail details in mailQueue
> --
>
> Key: JAMES-3125
> URL: https://issues.apache.org/jira/browse/JAMES-3125
> Project: James Server
>  Issue Type: Improvement
>Reporter: Raphael Ouazana
>Priority: Major
>
>  
> James' mail queue can be used to browse currently enqueued mails, waiting for 
> processing.
> We can already administrate mail queues with 
> http://james.apache.org/server/manage-webadmin.html#Administrating_mail_queues
> The goal of this ticket is two implement 2 new end points:
> curl -XGET -H 'Accept: application/json' 
> http://ip:port/mailQueues/spool/mails/0123456789Will return{"name": 
> "mail-key-1","sender": "sen...@domain.com","recipients": 
> ["recipie...@domain.com", "recipie...@domain.com"],"nextDelivery": "Thu 
> 12 Apr. 2020","state": "address-error","error": "A small message 
> explaining what happened to that mail...","remoteHost": 
> "111.222.333.444","remoteAddr": "127.0.0.1","lastUpdated": null}curl 
> -XGET -H 'Accept: message/rfc822' 
> http://ip:port/mailQueues/spool/mails/0123456789Will return the EML itself
>  



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

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



[jira] [Comment Edited] (JAMES-3121) Tune Cassandra Tables

2020-03-19 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO edited comment on JAMES-3121 at 3/19/20, 7:52 AM:
---

This PR contributed to it: https://github.com/linagora/james-project/pull/3213


was (Author: gdifolco):
This PR contributed to it: [https://github.com/linagora/james-project/pull/3212]

> Tune Cassandra Tables
> -
>
> Key: JAMES-3121
> URL: https://issues.apache.org/jira/browse/JAMES-3121
> Project: James Server
>  Issue Type: Improvement
>  Components: cassandra
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Our usages of Cassandra differ from table to table, different Compaction 
> strategies and read_repair_chance can be applied in order to comply with 
> Cassandra optimal behavior.



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

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



[jira] [Commented] (JAMES-3121) Tune Cassandra Tables

2020-03-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3121:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3212]

> Tune Cassandra Tables
> -
>
> Key: JAMES-3121
> URL: https://issues.apache.org/jira/browse/JAMES-3121
> Project: James Server
>  Issue Type: Improvement
>  Components: cassandra
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Our usages of Cassandra differ from table to table, different Compaction 
> strategies and read_repair_chance can be applied in order to comply with 
> Cassandra optimal behavior.



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

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



[jira] [Created] (JAMES-3121) Tune Cassandra Tables

2020-03-18 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3121:
---

 Summary: Tune Cassandra Tables
 Key: JAMES-3121
 URL: https://issues.apache.org/jira/browse/JAMES-3121
 Project: James Server
  Issue Type: Improvement
  Components: cassandra
Reporter: Gautier DI FOLCO


Our usages of Cassandra differ from table to table, different Compaction 
strategies and read_repair_chance can be applied in order to comply with 
Cassandra optimal behavior.



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

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



[jira] [Commented] (JAMES-3119) SMTP is brittle

2020-03-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3119:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3212]

> SMTP is brittle
> ---
>
> Key: JAMES-3119
> URL: https://issues.apache.org/jira/browse/JAMES-3119
> Project: James Server
>  Issue Type: Improvement
>  Components: SMTPServer
>Reporter: Gautier DI FOLCO
>Priority: Critical
>
> Most of the SMTP code relies on null-aware operations, leading to NPEs:
>  
> {code:java}
> und on UPN:
>   java.lang.NullPointerException: null
>   at 
> org.apache.james.protocols.smtp.core.ReceivedDataLineFilter.headers(ReceivedDataLineFilter.java:104)
>   at 
> org.apache.james.protocols.smtp.core.AbstractAddHeadersFilter.addHeaders(AbstractAddHeadersFilter.java:83)
>   at 
> org.apache.james.protocols.smtp.core.AbstractAddHeadersFilter.onHeadersLine(AbstractAddHeadersFilter.java:71)
>   at 
> org.apache.james.protocols.smtp.core.SeparatingDataLineFilter.onLine(SeparatingDataLineFilter.java:63)
>   at 
> org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:101)
>   at 
> org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:88)
>   at 
> org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension.onLine(MailSizeEsmtpExtension.java:174)
>   at 
> org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:101)
>   at 
> org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:88)
>   at 
> org.apache.james.protocols.netty.LineHandlerUpstreamHandler.messageReceived(LineHandlerUpstreamHandler.java:50)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.messageReceived(SimpleChannelUpstreamHandler.java:124)
>   at 
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>   at 
> org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>   at 
> org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
>   at 
> org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
>   at 
> org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> {code}



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

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



[jira] [Created] (JAMES-3119) SMTP is brittle

2020-03-17 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3119:
---

 Summary: SMTP is brittle
 Key: JAMES-3119
 URL: https://issues.apache.org/jira/browse/JAMES-3119
 Project: James Server
  Issue Type: Improvement
  Components: SMTPServer
Reporter: Gautier DI FOLCO


Most of the SMTP code relies on null-aware operations, leading to NPEs:

 
{code:java}
und on UPN:
java.lang.NullPointerException: null
at 
org.apache.james.protocols.smtp.core.ReceivedDataLineFilter.headers(ReceivedDataLineFilter.java:104)
at 
org.apache.james.protocols.smtp.core.AbstractAddHeadersFilter.addHeaders(AbstractAddHeadersFilter.java:83)
at 
org.apache.james.protocols.smtp.core.AbstractAddHeadersFilter.onHeadersLine(AbstractAddHeadersFilter.java:71)
at 
org.apache.james.protocols.smtp.core.SeparatingDataLineFilter.onLine(SeparatingDataLineFilter.java:63)
at 
org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:101)
at 
org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:88)
at 
org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension.onLine(MailSizeEsmtpExtension.java:174)
at 
org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:101)
at 
org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:88)
at 
org.apache.james.protocols.netty.LineHandlerUpstreamHandler.messageReceived(LineHandlerUpstreamHandler.java:50)
at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.messageReceived(SimpleChannelUpstreamHandler.java:124)
at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at 
org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
at 
org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
at 
org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
{code}



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

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



[jira] [Commented] (JAMES-3118) Incorrect error message when adding an alias

2020-03-16 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3118:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3207]

> Incorrect error message when adding an alias
> 
>
> Key: JAMES-3118
> URL: https://issues.apache.org/jira/browse/JAMES-3118
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> In some cases when adding an alias for a user in a domain not handled by 
> James, we get the message
> {{}}
> {code:java}
> {"statusCode":400,"type":"InvalidArgument","message":"The alias source exists 
> as an user already","details":null}{code}
> {{}}
> in this case the issue is not that the user does not exist. In can be caused 
> either by alias = user case or user in a non handled domain.



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

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



[jira] [Created] (JAMES-3118) Incorrect error message when adding an alias

2020-03-16 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3118:
---

 Summary: Incorrect error message when adding an alias
 Key: JAMES-3118
 URL: https://issues.apache.org/jira/browse/JAMES-3118
 Project: James Server
  Issue Type: Improvement
  Components: webadmin
Reporter: Gautier DI FOLCO


In some cases when adding an alias for a user in a domain not handled by James, 
we get the message

{{}}
{code:java}
{"statusCode":400,"type":"InvalidArgument","message":"The alias source exists 
as an user already","details":null}{code}
{{}}

in this case the issue is not that the user does not exist. In can be caused 
either by alias = user case or user in a non handled domain.



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

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



[jira] [Commented] (JAMES-3110) Be able to limit Listener's Queue Size

2020-03-10 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3110:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3195]

> Be able to limit Listener's Queue Size
> --
>
> Key: JAMES-3110
> URL: https://issues.apache.org/jira/browse/JAMES-3110
> Project: James Server
>  Issue Type: Bug
>  Components: eventbus
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Some listeners (such as SpamAssassinListener) are not critical and the queue 
> can be limited in order to prevent leaks.



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

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



[jira] [Created] (JAMES-3110) Be able to limit Listener's Queue Size

2020-03-10 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3110:
---

 Summary: Be able to limit Listener's Queue Size
 Key: JAMES-3110
 URL: https://issues.apache.org/jira/browse/JAMES-3110
 Project: James Server
  Issue Type: Bug
  Components: eventbus
Reporter: Gautier DI FOLCO


Some listeners (such as SpamAssassinListener) are not critical and the queue 
can be limited in order to prevent leaks.



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

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



[jira] [Commented] (JAMES-3103) EventBus queue leak

2020-03-06 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3103:
-

Associated fix: [https://github.com/linagora/james-project/pull/3182]

> EventBus queue leak
> ---
>
> Key: JAMES-3103
> URL: https://issues.apache.org/jira/browse/JAMES-3103
> Project: James Server
>  Issue Type: Bug
>  Components: eventbus
>Affects Versions: 3.4.0
>Reporter: Gautier DI FOLCO
>Priority: Major
>
> When distributed James starts, it starts the event bus, which create a random 
> non *auto-delete* queue.
> Consequently, when James is stopped, no consumer will ever be bound, creating 
> a leak.



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

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



[jira] [Created] (JAMES-3103) EventBus queue leak

2020-03-06 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3103:
---

 Summary: EventBus queue leak
 Key: JAMES-3103
 URL: https://issues.apache.org/jira/browse/JAMES-3103
 Project: James Server
  Issue Type: Bug
  Components: eventbus
Affects Versions: 3.4.0
Reporter: Gautier DI FOLCO


When distributed James starts, it starts the event bus, which create a random 
non *auto-delete* queue.

Consequently, when James is stopped, no consumer will ever be bound, creating a 
leak.



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

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



[jira] [Resolved] (JAMES-3085) RabbitMQ channel borrowing timeout

2020-03-05 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-3085.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> RabbitMQ channel borrowing timeout
> --
>
> Key: JAMES-3085
> URL: https://issues.apache.org/jira/browse/JAMES-3085
> Project: James Server
>  Issue Type: Bug
>Reporter: Gautier DI FOLCO
>Priority: Critical
> Fix For: 3.5.0
>
>
> Having a given load we encounter this exception:
>  
> {code:java}
> java.util.NoSuchElementException: Timeout waiting for idle object
>   at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:439)
>   at 
> org.apache.james.backends.rabbitmq.ReactorRabbitMQChannelPool.borrow(ReactorRabbitMQChannelPool.java:144)
>   at reactor.core.publisher.MonoCallable.call(MonoCallable.java:91)
>   at 
> reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:126)
>   at 
> reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49)
>   at reactor.core.publisher.Mono.subscribe(Mono.java:4072)
>   at 
> reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:207)
>   at 
> reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:823)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:589)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:892)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:986)
>   at 
> reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onComplete(MonoSubscribeOn.java:160)
>   at 
> reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
>   at 
> reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
>   at 
> org.apache.james.mailbox.events.EventDispatcher.lambda$executeListener$6(EventDispatcher.java:109)
>   at 
> reactor.core.publisher.MonoFromPublisher.subscribe(MonoFromPublisher.java:55)
>   at reactor.core.publisher.Mono.subscribe(Mono.java:4087)
>   at 
> reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)
>   at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
>   at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
>   Suppressed: java.lang.Exception: Mono#block terminated with an error
>   at 
> reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:186)
>   at 
> reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:152)
>   at 
> org.apache.james.mailbox.store.StoreMessageManager.setFlags(StoreMessageManager.java:639)
>   at 
> org.apache.james.imap.processor.StoreProcessor.setFlags(StoreProcessor.java:232)
>   at 
> org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:169)
>   at 
> org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:64)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:95)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:72)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:57)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apach

[jira] [Commented] (JAMES-3086) Mail Server Load Test giving very low throughput

2020-03-05 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3086:
-

It should works with:
{code:java}
$ docker run -d --name=elasticsearch --env 'discovery.type=single-node' 
docker.elastic.co/elasticsearch/elasticsearch:6.3.2{code}
ES 6.8.3 may be compatible, but we have not tested it.

> Mail Server Load Test giving very low throughput
> 
>
> Key: JAMES-3086
> URL: https://issues.apache.org/jira/browse/JAMES-3086
> Project: James Server
>  Issue Type: Bug
>  Components: POP3Server, SMTPServer
>Affects Versions: 3.3.0
>Reporter: Rashid Mahmood
>Priority: Blocker
> Attachments: executors-waiting-to-acquire.png, 
> image-2020-03-04-09-30-30-054.png, threaddump.txt
>
>
> After functional tests, we are performing load tests against James Server 
> setup with Casandra/Elasticsearch(cassandra-ldap-guice) packaging option. 
> With JMeter constant throughput timer of 300 SMPT requests per seconds we are 
> achieving around 10 requests per seconds. Each Request is with 100KB 
> attachment. Observed CPU of the machine (where MailServer running) was over 
> exhausted.
> Many of the threads in thread dump were in awaiting notifications state.
> I see around 100 threads from Elastic search, is there any configuration to 
> control this?
> Where is the bottleneck? 
> !image-2020-03-04-09-30-30-054.png!
>  
> See the thread dump in attachment.



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

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



[jira] [Commented] (JAMES-3086) Mail Server Load Test giving very low throughput

2020-03-05 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3086:
-

Actually, there is not tuning available to reduce threads blocking.

A huge effort have been made since the 3.4 to improve James' efficiency, by 
using Reactor.

Our last benchmarks shown that we only use 20-30 threads under heavy loads.

> Mail Server Load Test giving very low throughput
> 
>
> Key: JAMES-3086
> URL: https://issues.apache.org/jira/browse/JAMES-3086
> Project: James Server
>  Issue Type: Bug
>  Components: POP3Server, SMTPServer
>Affects Versions: 3.3.0
>Reporter: Rashid Mahmood
>Priority: Blocker
> Attachments: executors-waiting-to-acquire.png, 
> image-2020-03-04-09-30-30-054.png, threaddump.txt
>
>
> After functional tests, we are performing load tests against James Server 
> setup with Casandra/Elasticsearch(cassandra-ldap-guice) packaging option. 
> With JMeter constant throughput timer of 300 SMPT requests per seconds we are 
> achieving around 10 requests per seconds. Each Request is with 100KB 
> attachment. Observed CPU of the machine (where MailServer running) was over 
> exhausted.
> Many of the threads in thread dump were in awaiting notifications state.
> I see around 100 threads from Elastic search, is there any configuration to 
> control this?
> Where is the bottleneck? 
> !image-2020-03-04-09-30-30-054.png!
>  
> See the thread dump in attachment.



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

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



[jira] [Commented] (JAMES-3086) Mail Server Load Test giving very low throughput

2020-03-04 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3086:
-

ElasticSearch is used for metrics and mailboxes, jpa-spring is the only product 
which does not use it.

> Mail Server Load Test giving very low throughput
> 
>
> Key: JAMES-3086
> URL: https://issues.apache.org/jira/browse/JAMES-3086
> Project: James Server
>  Issue Type: Bug
>  Components: POP3Server, SMTPServer
>Affects Versions: 3.3.0
>Reporter: Rashid Mahmood
>Priority: Blocker
> Attachments: executors-waiting-to-acquire.png, 
> image-2020-03-04-09-30-30-054.png, threaddump.txt
>
>
> After functional tests, we are performing load tests against James Server 
> setup with Casandra/Elasticsearch(cassandra-ldap-guice) packaging option. 
> With JMeter constant throughput timer of 300 SMPT requests per seconds we are 
> achieving around 10 requests per seconds. Each Request is with 100KB 
> attachment. Observed CPU of the machine (where MailServer running) was over 
> exhausted.
> Many of the threads in thread dump were in awaiting notifications state.
> I see around 100 threads from Elastic search, is there any configuration to 
> control this?
> Where is the bottleneck? 
> !image-2020-03-04-09-30-30-054.png!
>  
> See the thread dump in attachment.



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

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



[jira] [Comment Edited] (JAMES-3084) Missing James logs in benchmarks

2020-03-03 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO edited comment on JAMES-3084 at 3/3/20 8:32 AM:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3167]


was (Author: gdifolco):
This PR contributed to it: [https://github.com/linagora/james-project/pull/3168]

> Missing James logs in benchmarks
> 
>
> Key: JAMES-3084
> URL: https://issues.apache.org/jira/browse/JAMES-3084
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> When the benchmarks ran, james log are not presents, leading to 
> approximations for interpreting errors in Gatling reports.



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

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



[jira] [Commented] (JAMES-3084) Missing James logs in benchmarks

2020-03-03 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3084:
-

This PR contributed to it: [https://github.com/linagora/james-project/pull/3168]

> Missing James logs in benchmarks
> 
>
> Key: JAMES-3084
> URL: https://issues.apache.org/jira/browse/JAMES-3084
> Project: James Server
>  Issue Type: Improvement
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> When the benchmarks ran, james log are not presents, leading to 
> approximations for interpreting errors in Gatling reports.



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

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



[jira] [Commented] (JAMES-3085) RabbitMQ channel borrowing timeout

2020-03-03 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3085:
-

This PR contributed to it: https://github.com/linagora/james-project/pull/3168

> RabbitMQ channel borrowing timeout
> --
>
> Key: JAMES-3085
> URL: https://issues.apache.org/jira/browse/JAMES-3085
> Project: James Server
>  Issue Type: Bug
>Reporter: Gautier DI FOLCO
>Priority: Critical
>
> Having a given load we encounter this exception:
>  
> {code:java}
> java.util.NoSuchElementException: Timeout waiting for idle object
>   at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:439)
>   at 
> org.apache.james.backends.rabbitmq.ReactorRabbitMQChannelPool.borrow(ReactorRabbitMQChannelPool.java:144)
>   at reactor.core.publisher.MonoCallable.call(MonoCallable.java:91)
>   at 
> reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:126)
>   at 
> reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49)
>   at reactor.core.publisher.Mono.subscribe(Mono.java:4072)
>   at 
> reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:207)
>   at 
> reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:823)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:589)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:892)
>   at 
> reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:986)
>   at 
> reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onComplete(MonoSubscribeOn.java:160)
>   at 
> reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
>   at 
> reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
>   at 
> org.apache.james.mailbox.events.EventDispatcher.lambda$executeListener$6(EventDispatcher.java:109)
>   at 
> reactor.core.publisher.MonoFromPublisher.subscribe(MonoFromPublisher.java:55)
>   at reactor.core.publisher.Mono.subscribe(Mono.java:4087)
>   at 
> reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)
>   at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
>   at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
>   Suppressed: java.lang.Exception: Mono#block terminated with an error
>   at 
> reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:186)
>   at 
> reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:152)
>   at 
> org.apache.james.mailbox.store.StoreMessageManager.setFlags(StoreMessageManager.java:639)
>   at 
> org.apache.james.imap.processor.StoreProcessor.setFlags(StoreProcessor.java:232)
>   at 
> org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:169)
>   at 
> org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:64)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:95)
>   at 
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:72)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:57)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
>   at 
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractCha

[jira] [Created] (JAMES-3085) RabbitMQ channel borrowing timeout

2020-03-02 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3085:
---

 Summary: RabbitMQ channel borrowing timeout
 Key: JAMES-3085
 URL: https://issues.apache.org/jira/browse/JAMES-3085
 Project: James Server
  Issue Type: Bug
Reporter: Gautier DI FOLCO


Having a given load we encounter this exception:

 
{code:java}
java.util.NoSuchElementException: Timeout waiting for idle object
at 
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:439)
at 
org.apache.james.backends.rabbitmq.ReactorRabbitMQChannelPool.borrow(ReactorRabbitMQChannelPool.java:144)
at reactor.core.publisher.MonoCallable.call(MonoCallable.java:91)
at 
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:126)
at 
reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49)
at reactor.core.publisher.Mono.subscribe(Mono.java:4072)
at 
reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:207)
at 
reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
at 
reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:823)
at 
reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:589)
at 
reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:892)
at 
reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:986)
at 
reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onComplete(MonoSubscribeOn.java:160)
at 
reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
at 
reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:96)
at 
org.apache.james.mailbox.events.EventDispatcher.lambda$executeListener$6(EventDispatcher.java:109)
at 
reactor.core.publisher.MonoFromPublisher.subscribe(MonoFromPublisher.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4087)
at 
reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Suppressed: java.lang.Exception: Mono#block terminated with an error
at 
reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:186)
at 
reactor.core.publisher.MonoProcessor.block(MonoProcessor.java:152)
at 
org.apache.james.mailbox.store.StoreMessageManager.setFlags(StoreMessageManager.java:639)
at 
org.apache.james.imap.processor.StoreProcessor.setFlags(StoreProcessor.java:232)
at 
org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:169)
at 
org.apache.james.imap.processor.StoreProcessor.processRequest(StoreProcessor.java:64)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:95)
at 
org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:72)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:57)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)
at 
org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:66)

[jira] [Created] (JAMES-3084) Missing James logs in benchmarks

2020-03-02 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3084:
---

 Summary: Missing James logs in benchmarks
 Key: JAMES-3084
 URL: https://issues.apache.org/jira/browse/JAMES-3084
 Project: James Server
  Issue Type: Improvement
Reporter: Gautier DI FOLCO


When the benchmarks ran, james log are not presents, leading to approximations 
for interpreting errors in Gatling reports.



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

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



[jira] [Commented] (JAMES-3077) Fix benchmark files

2020-02-27 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3077:
-

Contributed to it: [https://github.com/linagora/james-project/pull/3153]

> Fix benchmark files
> ---
>
> Key: JAMES-3077
> URL: https://issues.apache.org/jira/browse/JAMES-3077
> Project: James Server
>  Issue Type: Improvement
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Blocker
>
> Benchmarks can not be run for a while due to several build changes



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

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



[jira] [Created] (JAMES-3077) Fix benchmark files

2020-02-27 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3077:
---

 Summary: Fix benchmark files
 Key: JAMES-3077
 URL: https://issues.apache.org/jira/browse/JAMES-3077
 Project: James Server
  Issue Type: Improvement
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


Benchmarks can not be run for a while due to several build changes



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

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



[jira] [Commented] (JAMES-3067) Allowed From headers recursion

2020-02-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3067:
-

[https://github.com/linagora/james-project/pull/3121] from the naive 
implementation

> Allowed From headers recursion
> --
>
> Key: JAMES-3067
> URL: https://issues.apache.org/jira/browse/JAMES-3067
> Project: James Server
>  Issue Type: Improvement
>  Components: JMAP, SMTPServer
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Assignee: Antoine Duprat
>Priority: Minor
>
> In order to go further than the JAMES-3032 we need to go a recursion-level 
> further.
> They are two propositions now:
>  * Have a parameterized number of recursions, doing multiple queries on the 
> current scheme
>  * Have a specific projection maintaining all the connected aliases
> We should discuss it



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

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



[jira] [Commented] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-18 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3066:
-

[https://github.com/linagora/james-project/pull/3120] contributed to fix some 
issues introduced by previous constributions

> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.
> For example:
>  
> {code:java}
> GET /users/b...@domain.tld/allowedFromHeaders
> ["b...@domain.tld", "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"] 
> {code}
>  



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

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



[jira] [Commented] (JAMES-3067) Allowed From headers recursion

2020-02-17 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3067:
-

Regarding the solutions, they have major drawbacks:

 
 * "Have a parameterized number of recursions, doing multiple queries on the 
current scheme"

The number of queries can easily explode, overloading Cassandra

 
 * "Have a specific projection maintaining all the connected aliases"

Numerous concurrency issues: if you have the following scheme:
{code:java}
alias2 -> alias1 -> alias0 -> user{code}
The projection might look like
{code:java}
(user, [alias0, alias1, alias2]){code}
Dropping *alias0* will not result in dropping it from the projection, you will 
also drop *alias1* and *alias2*.

It will requires a strong coherency.

If we want to go in this direction, we will have to implement it with event 
sourcing.

> Allowed From headers recursion
> --
>
> Key: JAMES-3067
> URL: https://issues.apache.org/jira/browse/JAMES-3067
> Project: James Server
>  Issue Type: Improvement
>  Components: JMAP, SMTPServer
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Assignee: Antoine Duprat
>Priority: Minor
>
> In order to go further than the JAMES-3032 we need to go a recursion-level 
> further.
> They are two propositions now:
>  * Have a parameterized number of recursions, doing multiple queries on the 
> current scheme
>  * Have a specific projection maintaining all the connected aliases
> We should discuss it



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

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



[jira] [Commented] (JAMES-3068) Typos manage-webadmin.html

2020-02-14 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3068:
-

PR: [https://github.com/linagora/james-project/pull/3116]

> Typos manage-webadmin.html
> --
>
> Key: JAMES-3068
> URL: https://issues.apache.org/jira/browse/JAMES-3068
> Project: James Server
>  Issue Type: Improvement
>  Components: Documentation
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> manage-webadmin.html contain a large number of markup errors:
>  
>  * broken link
>  * missing lines
>  * not highlighted params



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

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



[jira] [Created] (JAMES-3068) Typos manage-webadmin.html

2020-02-14 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3068:
---

 Summary: Typos manage-webadmin.html
 Key: JAMES-3068
 URL: https://issues.apache.org/jira/browse/JAMES-3068
 Project: James Server
  Issue Type: Improvement
  Components: Documentation
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


manage-webadmin.html contain a large number of markup errors:

 

 * broken link

 * missing lines

 * not highlighted params



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

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



[jira] [Created] (JAMES-3067) Allowed From headers recursion

2020-02-14 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3067:
---

 Summary: Allowed From headers recursion
 Key: JAMES-3067
 URL: https://issues.apache.org/jira/browse/JAMES-3067
 Project: James Server
  Issue Type: Improvement
  Components: JMAP, SMTPServer
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO
Assignee: Antoine Duprat


In order to go further than the JAMES-3032 we need to go a recursion-level 
further.

They are two propositions now:
 * Have a parameterized number of recursions, doing multiple queries on the 
current scheme
 * Have a specific projection maintaining all the connected aliases

We should discuss it



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

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



[jira] [Updated] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-13 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3066:

Description: 
Following JAMES-3032 which allows different From header values, an end point 
should be added in order to query all the possible values of a given user.

For example:

 
{code:java}
GET /users/b...@domain.tld/allowedFromHeaders

["b...@domain.tld", "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"] 
{code}
 

  was:
Following JAMES-3032 which allows different From header values, an end point 
should be added in order to query all the possible values of a given user.

For example:
GET /users/b...@domain.tld/allowedFromHeaders["b...@domain.tld", 
"b...@alias.tld", "al...@domain.tld", "al...@alias.tld"]
 


> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.
> For example:
>  
> {code:java}
> GET /users/b...@domain.tld/allowedFromHeaders
> ["b...@domain.tld", "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"] 
> {code}
>  



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

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



[jira] [Commented] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-13 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3066:
-

Updated! Thanks

> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.
> For example:
>  
> {code:java}
> GET /users/b...@domain.tld/allowedFromHeaders
> ["b...@domain.tld", "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"] 
> {code}
>  



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

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



[jira] [Updated] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-13 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO updated JAMES-3066:

Description: 
Following JAMES-3032 which allows different From header values, an end point 
should be added in order to query all the possible values of a given user.

For example:
GET /users/b...@domain.tld/allowedFromHeaders["b...@domain.tld", 
"b...@alias.tld", "al...@domain.tld", "al...@alias.tld"]
 

  was:Following JAMES-3032 which allows different From header values, an end 
point should be added in order to query all the possible values of a given user.


> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.
> For example:
> GET /users/b...@domain.tld/allowedFromHeaders["b...@domain.tld", 
> "b...@alias.tld", "al...@domain.tld", "al...@alias.tld"]
>  



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

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



[jira] [Commented] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-13 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-3066:
-

See: https://github.com/linagora/james-project/pull/3104

> [WebAdmin] Add end point for user's allowed From headers querying
> -
>
> Key: JAMES-3066
> URL: https://issues.apache.org/jira/browse/JAMES-3066
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> Following JAMES-3032 which allows different From header values, an end point 
> should be added in order to query all the possible values of a given user.



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

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



[jira] [Created] (JAMES-3066) [WebAdmin] Add end point for user's allowed From headers querying

2020-02-13 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-3066:
---

 Summary: [WebAdmin] Add end point for user's allowed From headers 
querying
 Key: JAMES-3066
 URL: https://issues.apache.org/jira/browse/JAMES-3066
 Project: James Server
  Issue Type: Improvement
  Components: webadmin
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


Following JAMES-3032 which allows different From header values, an end point 
should be added in order to query all the possible values of a given user.



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

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



[jira] [Resolved] (JAMES-2973) JMAP does not access to "Outbox"

2019-11-13 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2973.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> JMAP does not access to "Outbox"
> 
>
> Key: JAMES-2973
> URL: https://issues.apache.org/jira/browse/JAMES-2973
> Project: James Server
>  Issue Type: Improvement
>  Components: IMAPServer, JMAP, mailbox, SMTPServer
>Affects Versions: 3.4.0
>Reporter: Gautier DI FOLCO
>Assignee: Antoine Duprat
>Priority: Minor
> Fix For: 3.5.0
>
>
> After sending a Message, JMAP does not see it in "Outbox"



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

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



[jira] [Commented] (JAMES-2973) JMAP does not access to "Outbox"

2019-11-07 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-2973:
-

Can not reproduce, here is the test: 
[https://github.com/linagora/james-project/pull/2844]

> JMAP does not access to "Outbox"
> 
>
> Key: JAMES-2973
> URL: https://issues.apache.org/jira/browse/JAMES-2973
> Project: James Server
>  Issue Type: Improvement
>  Components: IMAPServer, JMAP, mailbox, SMTPServer
>Affects Versions: 3.4.0
>Reporter: Gautier DI FOLCO
>Assignee: Antoine Duprat
>Priority: Minor
>
> After sending a Message, JMAP does not see it in "Outbox"



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

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



[jira] [Created] (JAMES-2973) JMAP does not access to "Outbox"

2019-11-07 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-2973:
---

 Summary: JMAP does not access to "Outbox"
 Key: JAMES-2973
 URL: https://issues.apache.org/jira/browse/JAMES-2973
 Project: James Server
  Issue Type: Improvement
  Components: IMAPServer, JMAP, mailbox, SMTPServer
Affects Versions: 3.4.0
Reporter: Gautier DI FOLCO
Assignee: Antoine Duprat


After sending a Message, JMAP does not see it in "Outbox"



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

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



[jira] [Resolved] (JAMES-2945) Changing Sender case avoid mail sending

2019-11-07 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2945.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> Changing Sender case avoid mail sending
> ---
>
> Key: JAMES-2945
> URL: https://issues.apache.org/jira/browse/JAMES-2945
> Project: James Server
>  Issue Type: Improvement
>  Components: SMTPServer
>Affects Versions: 3.4.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
> Fix For: 3.5.0
>
>
> When trying to send a mail with a Sender address case-different from the 
> authentication username, the mail is not sent.



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

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



[jira] [Resolved] (JAMES-2947) WebAdmin should prevent encoded "/" in a domain name at creation

2019-11-06 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2947.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> WebAdmin should prevent encoded "/" in a domain name at creation
> 
>
> Key: JAMES-2947
> URL: https://issues.apache.org/jira/browse/JAMES-2947
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.2.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
> Fix For: 3.5.0
>
>
> According to https://tools.ietf.org/html/rfc1035, "/" should be forbidden in 
> a domain name, while it is possible to create such domains via the WebAdmin



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

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



[jira] [Resolved] (JAMES-2954) WebAdmin's addresses groups error messages confusion

2019-11-05 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2954.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> WebAdmin's addresses groups error messages confusion
> 
>
> Key: JAMES-2954
> URL: https://issues.apache.org/jira/browse/JAMES-2954
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.3.0
>Reporter: Gautier DI FOLCO
>Priority: Trivial
> Fix For: 3.5.0
>
>
> When trying to put an invalid email in a valid group, WebAdmin's group 
> addresses API gives
> {code:java}
> The group is not an email address{code}
> instead of
> {code:java}
> The member is not an email address
> {code}



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

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



[jira] [Resolved] (JAMES-2946) Incorrect error code returns when creating mail repository with non-supported protocol

2019-11-05 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2946.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> Incorrect error code returns when creating mail repository with non-supported 
> protocol
> --
>
> Key: JAMES-2946
> URL: https://issues.apache.org/jira/browse/JAMES-2946
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.2.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
> Fix For: 3.5.0
>
>
> When creating a *MailRepository* with an unsupported, WebAdmin API returns 
> error 500 while 400 is more suitable.



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

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



[jira] [Resolved] (JAMES-2948) Username creation errors are cryptics

2019-11-04 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2948.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> Username creation errors are cryptics
> -
>
> Key: JAMES-2948
> URL: https://issues.apache.org/jira/browse/JAMES-2948
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.2.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
> Fix For: 3.5.0
>
>
> As defined in 
> [http://james.apache.org/server/manage-webadmin.html#Create_a_user]
> Usernames have some invariants.
> While, creating an user have "Invalid user path" as error message.
>  



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

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



[jira] [Resolved] (JAMES-2953) WebAdmin's addresses forwards error messages confusion

2019-11-04 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2953.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> WebAdmin's addresses forwards error messages confusion
> --
>
> Key: JAMES-2953
> URL: https://issues.apache.org/jira/browse/JAMES-2953
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.3.0
>Reporter: Gautier DI FOLCO
>Priority: Trivial
> Fix For: 3.5.0
>
>
> When an error arises in WebAdmin's addresses forwards due to an e-mail 
> address formation error, we only get this error message:
> {code:java}
> The forward is not an email address
> {code}
> Which is an issue since it deals with two addresses each time



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

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



[jira] [Resolved] (JAMES-2939) Avoid case sensitivity in JMAP mailbox INBOX creation

2019-11-04 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2939.
-
Fix Version/s: 3.5.0
   Resolution: Fixed

> Avoid case sensitivity in JMAP mailbox INBOX creation
> -
>
> Key: JAMES-2939
> URL: https://issues.apache.org/jira/browse/JAMES-2939
> Project: James Server
>  Issue Type: Improvement
>  Components: JMAP
>Affects Versions: 3.2.0
>Reporter: Gautier DI FOLCO
>Assignee: Antoine Duprat
>Priority: Minor
> Fix For: 3.5.0
>
>
> It is possible to create "INBOX" and "iNbOx" at the same time via IMAP, which 
> lead to issues (noticeably in IMAP).
> We should not allow it.



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

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



[jira] [Commented] (JAMES-2954) WebAdmin's addresses groups error messages confusion

2019-10-31 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-2954:
-

Fix: [https://github.com/linagora/james-project/pull/2811]

> WebAdmin's addresses groups error messages confusion
> 
>
> Key: JAMES-2954
> URL: https://issues.apache.org/jira/browse/JAMES-2954
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.3.0
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> When trying to put an invalid email in a valid group, WebAdmin's group 
> addresses API gives
> {code:java}
> The group is not an email address{code}
> instead of
> {code:java}
> The member is not an email address
> {code}



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

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



[jira] [Created] (JAMES-2954) WebAdmin's addresses groups error messages confusion

2019-10-31 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-2954:
---

 Summary: WebAdmin's addresses groups error messages confusion
 Key: JAMES-2954
 URL: https://issues.apache.org/jira/browse/JAMES-2954
 Project: James Server
  Issue Type: Improvement
  Components: webadmin
Affects Versions: 3.3.0
Reporter: Gautier DI FOLCO


When trying to put an invalid email in a valid group, WebAdmin's group 
addresses API gives
{code:java}
The group is not an email address{code}
instead of
{code:java}
The member is not an email address
{code}



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

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



[jira] [Commented] (JAMES-2953) WebAdmin's addresses forwards error messages confusion

2019-10-31 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-2953:
-

Fix: [https://github.com/linagora/james-project/pull/2810]

> WebAdmin's addresses forwards error messages confusion
> --
>
> Key: JAMES-2953
> URL: https://issues.apache.org/jira/browse/JAMES-2953
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.3.0
>Reporter: Gautier DI FOLCO
>Priority: Trivial
>
> When an error arises in WebAdmin's addresses forwards due to an e-mail 
> address formation error, we only get this error message:
> {code:java}
> The forward is not an email address
> {code}
> Which is an issue since it deals with two addresses each time



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

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



[jira] [Created] (JAMES-2953) WebAdmin's addresses forwards error messages confusion

2019-10-31 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-2953:
---

 Summary: WebAdmin's addresses forwards error messages confusion
 Key: JAMES-2953
 URL: https://issues.apache.org/jira/browse/JAMES-2953
 Project: James Server
  Issue Type: Improvement
  Components: webadmin
Affects Versions: 3.3.0
Reporter: Gautier DI FOLCO


When an error arises in WebAdmin's addresses forwards due to an e-mail address 
formation error, we only get this error message:
{code:java}
The forward is not an email address
{code}
Which is an issue since it deals with two addresses each time



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

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



[jira] [Resolved] (JAMES-2951) Deal with unicode Domains

2019-10-31 Thread Gautier DI FOLCO (Jira)


 [ 
https://issues.apache.org/jira/browse/JAMES-2951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gautier DI FOLCO resolved JAMES-2951.
-
Resolution: Not A Problem

Relying on Guava directly avoid the problem to happen.

> Deal with unicode Domains
> -
>
> Key: JAMES-2951
> URL: https://issues.apache.org/jira/browse/JAMES-2951
> Project: James Server
>  Issue Type: Improvement
>Affects Versions: 3.5.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> In order to  fix JAMES-2947, the domain name space have been reduced 
> drastically.
> It now excludes unicode characters as defined in 
> [https://tools.ietf.org/html/rfc4343#section-5]
> We might want to support it.



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

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



[jira] [Created] (JAMES-2951) Deal with unicode Domains

2019-10-31 Thread Gautier DI FOLCO (Jira)
Gautier DI FOLCO created JAMES-2951:
---

 Summary: Deal with unicode Domains
 Key: JAMES-2951
 URL: https://issues.apache.org/jira/browse/JAMES-2951
 Project: James Server
  Issue Type: Improvement
Affects Versions: 3.5.0
Reporter: Gautier DI FOLCO


In order to  fix JAMES-2947, the domain name space have been reduced 
drastically.

It now excludes unicode characters as defined in 
[https://tools.ietf.org/html/rfc4343#section-5]

We might want to support it.



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

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



[jira] [Commented] (JAMES-2948) Username creation errors are cryptics

2019-10-30 Thread Gautier DI FOLCO (Jira)


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

Gautier DI FOLCO commented on JAMES-2948:
-

Fix: [https://github.com/linagora/james-project/pull/2805]

> Username creation errors are cryptics
> -
>
> Key: JAMES-2948
> URL: https://issues.apache.org/jira/browse/JAMES-2948
> Project: James Server
>  Issue Type: Improvement
>  Components: webadmin
>Affects Versions: 3.2.0
>Reporter: Gautier DI FOLCO
>Priority: Minor
>
> As defined in 
> [http://james.apache.org/server/manage-webadmin.html#Create_a_user]
> Usernames have some invariants.
> While, creating an user have "Invalid user path" as error message.
>  



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

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



  1   2   3   >