Denis Magda created IGNITE-912:
----------------------------------

             Summary: GridQueryProcessor adds type description by value name
                 Key: IGNITE-912
                 URL: https://issues.apache.org/jira/browse/IGNITE-912
             Project: Ignite
          Issue Type: Bug
          Components: SQL
    Affects Versions: sprint-4
            Reporter: Denis Magda
            Assignee: Yakov Zhdanov


Caught this issue while was working on IGNITE-471.

Affected tests:
- CacheJdbcPojoStoreMultitreadedSelfTest.testMultithreadedExplicitTx
- CacheJdbcPojoStoreMultitreadedSelfTest.testMultithreadedPut
- CacheJdbcPojoStoreMultitreadedSelfTest.testMultithreadedPutAll        

In those tests type cache type configurations are taken from a xml 
configuration. In the xml there are two different cache type configuration with 
the same value type Person. This is absolutely ok.

When portables are used GridQueryProcessor stores cache type configurations in 
its internal table. As a key the processor uses "value_type_name" + 
"space_name". This is an issue cause there two cache type configurations with 
value type Person.

org.apache.ignite.IgniteCheckedException: Type with name 'Person' already 
indexed in cache 'null'.
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.addTypeByName(GridQueryProcessor.java:186)
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:149)
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:242)
    at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:868)
    at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:727)
    at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:826)
    at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1599)
    at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1467)
    at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:993)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:481)
    at 
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:663)
    at 
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:648)
    at 
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:510)
    at 
org.apache.ignite.cache.store.jdbc.CacheJdbcStoreAbstractMultithreadedSelfTest.beforeTest(CacheJdbcStoreAbstractMultithreadedSelfTest.java:98)
    at 
org.apache.ignite.testframework.junits.GridAbstractTest.setUp(GridAbstractTest.java:489)
    at 
org.apache.ignite.testframework.junits.common.GridCommonAbstractTest.setUp(GridCommonAbstractTest.java:321)
    at junit.framework.TestCase.runBare(TestCase.java:139)
    at junit.framework.TestResult$1.protect(TestResult.java:122)
    at junit.framework.TestResult.runProtected(TestResult.java:142)
    at junit.framework.TestResult.run(TestResult.java:125)
    at junit.framework.TestCase.run(TestCase.java:129)
    at junit.framework.TestSuite.runTest(TestSuite.java:255)
    at junit.framework.TestSuite.run(TestSuite.java:250)
    at junit.framework.TestSuite.runTest(TestSuite.java:255)
    at junit.framework.TestSuite.run(TestSuite.java:250)
    at junit.framework.TestSuite.runTest(TestSuite.java:255)
    at junit.framework.TestSuite.run(TestSuite.java:250)
    at 
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
    at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
    at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
    at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at 
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
    at 
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:155)
    at 
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:81)
    at 
org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcess(InPluginVMSurefireStarter.java:82)
    at 
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:974)
    at 
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:824)
    at 
org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:722)
    at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
    at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at 
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)



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

Reply via email to