I am using the Maven plugin to run the tests for the Ehcache integration
module, and although the tests were running and passing last week, something
has changed since then that is causing the tests to fail with an
InvalidBootJarMetaDataException. Here is an example:
com.tc.config.schema.setup.ConfigurationSetupException:ยท
*******************************************************************************
com.tc.object.tools.InvalidBootJarMetaDataException: Incompatible DSO meta
data: tcversion; expected '2.5.0-nightly-rev6083' but was (in boot
jar): '2.5.0-nightly-rev6108'
*******************************************************************************
The boot JAR is being built by the Maven plugin immediately prior to the tests
being executed. Once the boot JAR is built, the tests are being executed by
the Maven Surefire plugin.
I think the issue is that the tests are "linked" against the Terracotta Maven
artifacts (terracotta.jar, tc-compile.jar, tc.test-compile.jar, etc.) that we
publish on a nightly basis to our public Maven repository. So the boot JAR
is being built on demand, while the code base that the tests are using are
built and published on a nightly basis. Therefore, the versions of these
things are not going to match, and hence the InvalidBootJarMetaDataException.
Was there a recent change in the BootJarTool or in
StandardDSOClientConfigHelperImpl that might be the cause of this? If not,
any other ideas on why I'd suddenlty start seeing this exception?
FYI, I've attached a stack trace if you want to see more details.
--
Jason Voegele
Pray: To ask that the laws of the universe be annulled in behalf of a single
petitioner confessedly unworthy.
-- Ambrose Bierce
-------------------------------------------------------------------------------
Test set: com.tctest.BlockingCache124Test
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.974 sec <<<
FAILURE!
test(com.tctest.BlockingCache124Test) Time elapsed: 0.947 sec <<< ERROR!
com.tc.config.schema.setup.ConfigurationSetupException:
*******************************************************************************
com.tc.object.tools.InvalidBootJarMetaDataException: Incompatible DSO meta
data: tcversion; expected '2.5.0-nightly-rev6083' but was (in boot jar):
'2.5.0-nightly-rev6108'
*******************************************************************************
at
com.tc.object.config.StandardDSOClientConfigHelperImpl.<init>(StandardDSOClientConfigHelperImpl.java:254)
at
com.tc.object.config.StandardDSOClientConfigHelperImpl.<init>(StandardDSOClientConfigHelperImpl.java:176)
at
com.tc.object.BaseDSOTestCase.createClientConfigHelper(BaseDSOTestCase.java:110)
at com.tc.object.BaseDSOTestCase.configHelper(BaseDSOTestCase.java:105)
at com.tctest.TransparentTestBase.setUp(TransparentTestBase.java:112)
at junit.framework.TestCase.runBare(TestCase.java:125)
at com.tc.test.TCTestCase.runBare(TCTestCase.java:158)
at com.tc.object.BaseDSOTestCase.runBare(BaseDSOTestCase.java:37)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:163)
at org.apache.maven.surefire.Surefire.run(Surefire.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:244)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:814)
Caused by: java.lang.RuntimeException:
com.tc.object.tools.InvalidBootJarMetaDataException: Incompatible DSO meta
data: tcversion; expected '2.5.0-nightly-rev6083' but was (in boot jar):
'2.5.0-nightly-rev6108'
at
com.tc.object.config.StandardDSOClientConfigHelperImpl.doAutoconfig(StandardDSOClientConfigHelperImpl.java:783)
at
com.tc.object.config.StandardDSOClientConfigHelperImpl.<init>(StandardDSOClientConfigHelperImpl.java:252)
... 27 more
Caused by: com.tc.object.tools.InvalidBootJarMetaDataException: Incompatible
DSO meta data: tcversion; expected '2.5.0-nightly-rev6083' but was (in boot
jar): '2.5.0-nightly-rev6108'
at com.tc.object.tools.BootJar$BootJarMetaData.<init>(BootJar.java:380)
at com.tc.object.tools.BootJar.getBootJarForReading(BootJar.java:94)
at com.tc.object.tools.BootJar.getBootJarForReading(BootJar.java:77)
at
com.tc.object.tools.BootJar.getDefaultBootJarForReading(BootJar.java:127)
at
com.tc.object.config.StandardDSOClientConfigHelperImpl.doAutoconfig(StandardDSOClientConfigHelperImpl.java:769)
... 28 more
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev