Had another thought that might be related... my linux is using in
pre-emptive multithreading mode:
uname -a
Linux dogpad 2.6.15-27-686 #1 SMP PREEMPT Fri Dec 8 18:00:07 UTC 2006 i686
GNU/Linux
Which might help explain this timing/threaded issue.


On 15/02/07, Dan Murphy <[EMAIL PROTECTED]> wrote:

Hi,

Was trying to build, but the build kept failing :(

On my linux box I consistently see a failure in testEviction() when use a
command line mvn:
testEviction(
org.apache.tuscany.core.services.store.memory.MemoryStoreTestCase )  Time
elapsed: 0.304 sec  <<< FAILURE!
junit.framework.AssertionFailedError
        at junit.framework.Assert.fail(Assert.java:47)
        at junit.framework.Assert.assertTrue(Assert.java:20)
        at junit.framework.Assert.assertNull(Assert.java:233)
        at junit.framework.Assert.assertNull(Assert.java:226)
        at
org.apache.tuscany.core.services.store.memory.MemoryStoreTestCase.testEviction
(MemoryStoreTestCase.java :52)

However, the test case does not fail in eclipse (although it seems to take
over a second in eclipse, so this is probaby why).

If I change the Thread.sleep to 500 ms then it passes on the command line.

There doesn't seem to be a code bug here (at least my reading of Reaper
inner class doesn't show any logic problems). There is quite a bit of
discussion on various web sites about accuracy of System.currentTimeMillis(). 
Given the values of reaperInterval = 300000 and defaultExpirationOffset
= 600000 in MemoryStore it would seem like a good idea to just extend the
Thread.sleep in the test case to 500 ms....

Need a jira ?

Only reason I bring this up is I really don't want to run mvn -fn all the
time and have to then maually check the logs, but otherwise mvn always fails

Regards,
Dan

Reply via email to