You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Matthieu Baechler (JIRA)" <se...@james.apache.org> on 2019/01/28 09:23:00 UTC
[jira] [Commented] (JAMES-2653) Starting 2 Cassandra james server
concurrently fails
[ https://issues.apache.org/jira/browse/JAMES-2653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16753826#comment-16753826 ]
Matthieu Baechler commented on JAMES-2653:
------------------------------------------
I would make the schema creation a job/task that can be triggered with webadmin.
It means that we should start James in 2 steps:
# starts relevant webadmin parts
# if schema is ok, starts everything else
> Starting 2 Cassandra james server concurrently fails
> ----------------------------------------------------
>
> Key: JAMES-2653
> URL: https://issues.apache.org/jira/browse/JAMES-2653
> Project: James Server
> Issue Type: Bug
> Components: cassandra, guice
> Reporter: Tellier Benoit
> Priority: Major
>
> PR introduce a concurrentTable creation that fails: https://github.com/linagora/james-project/pull/2139
> ```
> java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.RuntimeException: com.datastax.driver.core.exceptions.ServerError: An unexpected error occurred server side on localhost/127.0.0.1:32818: java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found b0736470-22b8-11e9-b4fb-f58bd8d3766a; expected b07168a0-22b8-11e9-b4fb-f58bd8d3766a)
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at org.apache.james.util.concurrency.ConcurrentTestRunner.assertNoException(ConcurrentTestRunner.java:160)
> at org.apache.james.util.concurrency.ConcurrentTestRunner.runSuccessfullyWithin(ConcurrentTestRunner.java:177)
> at org.apache.james.util.concurrency.ConcurrentTestRunner$Builder.runSuccessfullyWithin(ConcurrentTestRunner.java:83)
> at org.apache.james.backends.cassandra.init.CassandraTableManagerConcurrentTest.initializeTableShouldCreateAllTheTables(CassandraTableManagerConcurrentTest.java:61)
> ```
> The 2 connections do not succeed to synchronize themselves upon table creation, leading to an invalid state...
> We need to ensure that when we start james server concurrently, everything go smooth.
> Table creation synchorinsation seems hard. Does this mean we need to externalize table creation, that would be needed to be run prior running James servers?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org