You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (Jira)" <ji...@apache.org> on 2019/09/13 17:25:00 UTC

[jira] [Updated] (GEODE-6157) AssertionError occurs when trying to create (HASH) Index on Invalid Region Entry

     [ https://issues.apache.org/jira/browse/GEODE-6157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Baker updated GEODE-6157:
---------------------------------
    Labels: HashIndex Indexes JavaAssertions OQL Querying affects-spring  (was: HashIndex Indexes JavaAssertions OQL Querying)

> AssertionError occurs when trying to create (HASH) Index on Invalid Region Entry
> --------------------------------------------------------------------------------
>
>                 Key: GEODE-6157
>                 URL: https://issues.apache.org/jira/browse/GEODE-6157
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>    Affects Versions: 1.6.0, 1.7.0
>            Reporter: John Blum
>            Priority: Major
>              Labels: HashIndex, Indexes, JavaAssertions, OQL, Querying, affects-spring
>
> When attempting to add an OQL Index to a Region with existing data, containing entries that have been invalidated, and when the JVM's assertion facility is enabled (i.e. {{java -ea ...}}), then Geode will throw a {{AssertionError}}:
> {code:java}
> [error 2018/11/15 11:41:35.218 PST <main> tid=0x1] Application run failed
> org.springframework.context.ApplicationContextException: Failed to start bean 'ClusteredSpringSessions'; nested exception is java.lang.AssertionError: value in RegionEntry should not be INVALID
> 	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:185)
> 	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53)
> 	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360)
> 	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158)
> 	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122)
> 	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:879)
> 	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:161)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
> 	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
> 	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
> 	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
> 	at example.app.ConcurrentHttpSessionAccessExampleApplication.main(ConcurrentHttpSessionAccessExampleApplication.java:71)
> Caused by: java.lang.AssertionError: value in RegionEntry should not be INVALID
> 	at org.apache.geode.cache.query.internal.index.HashIndex$IMQEvaluator.evaluate(HashIndex.java:1049)
> 	at org.apache.geode.cache.query.internal.index.HashIndex.addMapping(HashIndex.java:177)
> 	at org.apache.geode.cache.query.internal.index.AbstractIndex.addIndexMapping(AbstractIndex.java:489)
> 	at org.apache.geode.cache.query.internal.index.IndexManager.addIndexMapping(IndexManager.java:1159)
> 	at org.apache.geode.cache.query.internal.index.IndexManager.processAction(IndexManager.java:1103)
> 	at org.apache.geode.cache.query.internal.index.IndexManager.updateIndexes(IndexManager.java:992)
> 	at org.apache.geode.cache.query.internal.index.IndexManager.updateIndexes(IndexManager.java:967)
> 	at org.apache.geode.internal.cache.AbstractRegionMap.initialImagePut(AbstractRegionMap.java:1032)
> 	at org.apache.geode.internal.cache.LocalRegion.refreshEntriesFromServerKeys(LocalRegion.java:4277)
> 	at org.apache.geode.internal.cache.LocalRegion.processSingleInterest(LocalRegion.java:3798)
> 	at org.apache.geode.internal.cache.LocalRegion.registerInterest(LocalRegion.java:3851)
> 	at org.springframework.data.gemfire.client.ClientRegionFactoryBean.lambda$registerInterests$9(ClientRegionFactoryBean.java:425)
> 	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
> 	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
> 	at org.springframework.data.gemfire.client.ClientRegionFactoryBean.registerInterests(ClientRegionFactoryBean.java:418)
> 	at org.springframework.data.gemfire.client.ClientRegionFactoryBean.start(ClientRegionFactoryBean.java:412)
> 	at java.util.Optional.ifPresent(Optional.java:159)
> 	at org.springframework.data.gemfire.config.annotation.support.CacheTypeAwareRegionFactoryBean.start(CacheTypeAwareRegionFactoryBean.java:538)
> 	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182)
> 	... 14 more
> {code}
> This error seems mostly benign and when you disable Java assertions (i.e. do not include the {{-ea}} switch to the {{java}} launcher when starting the server, all is well.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)