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

Reply via email to