John Blum created GEODE-6157:
--------------------------------

             Summary: 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
            Reporter: John Blum


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
(v7.6.3#76005)

Reply via email to