Trần Tiến Đức created JAMES-3069:
------------------------------------

             Summary: Mapping source inconsistencies: downtime only if necessary
                 Key: JAMES-3069
                 URL: https://issues.apache.org/jira/browse/JAMES-3069
             Project: James Server
          Issue Type: Bug
            Reporter: Trần Tiến Đức


Currently, fixing mapping source inconsistencies drops and rebuild the 
projection (mappingSource) table thus altering temporarilly aliases view (mail 
rewritting is not affected but as a user I will get temporarily bad results on 
alias webadmin reuests).

Such destructive behavior prevents the `SolveInconsistencies` endpoint to be 
scheduled on a regular basis.

We should drop the table and rebuild it ONLY WHEN we have a high degree of 
certitude the projection is inconsistent.

Maybe a good approach would be to have a "check" step in the solve 
inconsistencies

```
if (!check()) {
 fixMappingSourceInconsistencies();
}
```

We could be using a hash-based strategy:

```
Given a -current- timestamp, 
We iterate both tables and fill 2 bloom filters with the entries of each tables
We compare the content of these bloom filters
```

So that we drop the table to rebuild it only when it is needed ....



--
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

Reply via email to