[jira] [Created] (IGNITE-912) GridQueryProcessor adds type description by value name

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-912) GridQueryProcessor adds type description by value name

Anton Vinogradov (Jira)
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)