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

Tellier Benoit commented on JAMES-1635:
---------------------------------------

This evening I had some time to look this issue : 

 - From my understanding, disk IO are blocking (neither RAM nor CPU are when 
running Cassandra unit tests)

>From james-project pom.xml
 - <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>

This value is two low for common hardware (always failed on my 5400 
turns/minute hard drive and have failures even on SAS hard drives ). I think 
about increasing this to 3600 in the future. I hope not for long...

Even related to disk IO, not yet commited but definitly needed : 
https://github.com/apache/james-project/pull/17

And finaly, I think we can parallelise Cassandra unit tests :

 - using different keyspaces. On each invocation on test cluster :: build, we 
create a new keyspace on the already lauched database (providing thus test 
isolation)
 - we then use <parallel>classesAndMethods</parallel> in cassandra related 
subprojects

What do you think of this ? I definitly gonna try this, because, in my opinion, 
2h+ long unit tests are not acceptables. I think 20 minutes on commodity 
hardware should be a maximum...

Other workaround : are locales test in MPT really necessary for each feature ? 
I mean, can't we have a dedicated test, even with stranger encoding trics, but 
get a rid of this redoundancy ?

If anyone have comments / suggestions of any kind...



> Can not run unit tests
> ----------------------
>
>                 Key: JAMES-1635
>                 URL: https://issues.apache.org/jira/browse/JAMES-1635
>             Project: James Server
>          Issue Type: Bug
>    Affects Versions: Trunk
>            Reporter: Tellier Benoit
>             Fix For: Trunk
>
>
> I got this exception, either in cassandra mailbox and Cassandra backend ; 
> For example :
> initializeTypesShouldCreateTheTypes(org.apache.james.backends.cassandra.init.CassandraTypeProviderTest)
>   Time elapsed: 14.353 sec  <<< FAILURE!
> java.lang.AssertionError: Cassandra daemon did not start within timeout
>       at 
> org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:130)
>       at 
> org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:85)
>       at 
> org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:64)
>       at 
> org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:56)
>       at 
> org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:52)
>       at 
> org.apache.james.backends.cassandra.CassandraCluster.<init>(CassandraCluster.java:57)
>       at 
> org.apache.james.backends.cassandra.CassandraCluster.create(CassandraCluster.java:51)
>       at 
> org.apache.james.backends.cassandra.init.CassandraTypeProviderTest.setUp(CassandraTypeProviderTest.java:66)
> I increased the max retry count of the Cassandra cluster but it does not 
> solve my problem.
> It really slow down my worlflow...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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