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

Tellier Benoit edited comment on JAMES-2152 at 10/16/18 2:04 AM:
-----------------------------------------------------------------

A set of pull requests are solving this exact problem:

https://github.com/linagora/james-project/pull/1799 did wrap reIndexing in a 
task

https://github.com/linagora/james-project/pull/1803 Removed no more needed 
event tracking

Because we reindex a list of UID for a given mailbox, if:

 -  A new message arrive it will be handled by the normal indexing process
 -  A concurrently deleted message will be filtered out as it can not be 
retrieved from storage
 -  And we will read the latest applied flag value

Note that global event tracking is still needed for mailbox path renames.

https://github.com/linagora/james-project/pull/1804 added API support for 
per-user and per-message reIndexing


was (Author: btellier):
Sorry, we are currently working on it.

A set of pull requests are solving this exact problem:

https://github.com/linagora/james-project/pull/1799 did wrap reIndexing in a 
task

https://github.com/linagora/james-project/pull/1803 Removed no more needed 
event tracking

Because we reindex a list of UID for a given mailbox, if:

 -  A new message arrive it will be handled by the normal indexing process
 -  A concurrently deleted message will be filtered out as it can not be 
retrieved from storage
 -  And we will read the latest applied flag value

Note that global event tracking is still needed for mailbox path renames.

https://github.com/linagora/james-project/pull/1804 added API support for 
per-user and per-message reIndexing

> Reindex API through WebAdmin
> ----------------------------
>
>                 Key: JAMES-2152
>                 URL: https://issues.apache.org/jira/browse/JAMES-2152
>             Project: James Server
>          Issue Type: New Feature
>          Components: mailbox, webadmin
>            Reporter: Tellier Benoit
>            Priority: Major
>              Labels: newbie
>
> James allows to index and search for specific emails in a 
> *MessageSearchIndex*. However some implementations stores data in a separated 
> data store (eg Lucene or ElasticSearch), which brings data consistencies 
> issues. The way to solve these issues is to re-index data from the *mailbox*.
> Such process is currently triggered from the *Command Line Client*, but is 
> not available yet using *webadmin. The goal of this task is to enable it.
> To do so, in *webadmin-mailbox* create a *ReindexRoutes* class. You will 
> implement the following proposed endpoints using the *Reindexer*:
> {code:java}
> PUT /reindex
> PUT /reindex/:namespace/:user/:mailboxName
> {code}
> You will, through a simple locking strategy, ensure that James is not 
> performing two re-indexation at the same time.
> You will implement tests for your routes in *ReindexRoutesTest*. You can get 
> a look at surrounding tests.
> Don't hesitate to ask for help on the *Gitter *chat.



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

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

Reply via email to