• Bug
  • Status: Closed
  • 2 Major
  • Resolution: Fixed
  • ehcache-core
  • drb
  • Reporter:
  • October 13, 2009
  • 0
  • Watchers: 0
  • January 15, 2010
  • December 15, 2009

Description

JCacheTest.testReadWriteThreads in the JCache module is broken when using 1.7.0. It works with 1.6.2.

The problem is that under heavy threading, the performance for gets exceed 2 seconds.

Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2261 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2424 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2433 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2499 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2501 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2539 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2541 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2547 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2553 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2618 Oct 13, 2009 6:20:26 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2617 Oct 13, 2009 6:20:27 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2581 Oct 13, 2009 6:20:27 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2556 Oct 13, 2009 6:20:27 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2561 Oct 13, 2009 6:20:27 PM net.sf.ehcache.AbstractCacheTest$1 run INFO: Get time outside of allowed range: 2563

java.lang.Exception: Test thread failed. at net.sf.ehcache.AbstractCacheTest.runThreads(AbstractCacheTest.java:177) at net.sf.ehcache.jcache.JCacheTest.testReadWriteThreads(JCacheTest.java:1413) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71) at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) at com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapter.java:62) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40) Caused by: java.lang.AssertionError: Get time outside of allowed range: 2563 at org.junit.Assert.fail(Assert.java:69) at org.junit.Assert.assertTrue(Assert.java:32) at net.sf.ehcache.jcache.JCacheTest$1.execute(JCacheTest.java:1332) at net.sf.ehcache.AbstractCacheTest$1.run(AbstractCacheTest.java:158)

Comments

gluck 2009-10-15

There is a performance regression in 1.7. However this test is a threshold test. It is right at the threshold so fails some of the time. Have made the threshold a little higher. There is a separate JIRA for the regression in get.

gluck 2009-10-16

cannot_reopen

Hung Huynh 2009-12-15

set the speed factor to 2 to compensate for different machines that run JCacheTest in the monkeys