[
https://issues.apache.org/jira/browse/GEODE-4832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16405600#comment-16405600
]
Kirk Lund edited comment on GEODE-4832 at 3/20/18 12:11 AM:
------------------------------------------------------------
To fix this bug we'll probably need either:
* Gradle JUnit change or custom JUnit Runner that runs each test class with a
unique, temporary current working directory
* Custom JUnit Rule that deletes all Geode output artifacts from current
working directory
Some additional things that could help:
* Change integration test to use test names for region names
* Change all integration tests to use TemporaryFolder for all Geode artifacts
was (Author: klund):
To fix this bug we'll probably need either:
* Gradle JUnit change or custom JUnit Runner that runs each test class with a
unique, temporary current working directory
* Custom JUnit Rule that deletes all Geode output artifacts from current
working directory
> CacheWriterGetOldValueIntegrationTest can fail because previous test left
> disk store around
> -------------------------------------------------------------------------------------------
>
> Key: GEODE-4832
> URL: https://issues.apache.org/jira/browse/GEODE-4832
> Project: Geode
> Issue Type: Bug
> Components: persistence
> Affects Versions: 1.5.0
> Reporter: Darrel Schneider
> Assignee: Kirk Lund
> Priority: Minor
> Labels: Flaky
>
> The following failure was seen once. It is hard to say what was left around
> from a previous test that impacted this one. But if this one would use a tmp
> directory for its disk store then it would not accidently use a disk store
> that a previous test left around.
> Also if it used a unique region name, instead of "/region" it would not have
> had the following failure.
> {noformat}
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest >
> getOldValueWithTransactionInCacheWriterReturnsValueOfEvictedEntry FAILED
> java.lang.IllegalStateException: The region "/region" has been persisted
> to disk so it can not be recreated on the same disk store without
> persistence. Either destroy the persistent region, recreate it as overflow
> and persistent, or create the overflow only region on a different disk store.
> at
> org.apache.geode.internal.cache.DiskRegion.<init>(DiskRegion.java:97)
> at
> org.apache.geode.internal.cache.DiskInitFile.createDiskRegion(DiskInitFile.java:861)
> at
> org.apache.geode.internal.cache.DiskRegion.create(DiskRegion.java:175)
> at
> org.apache.geode.internal.cache.LocalRegion.createDiskRegion(LocalRegion.java:7634)
> at
> org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:618)
> at
> org.apache.geode.internal.cache.DistributedRegion.<init>(DistributedRegion.java:191)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3026)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2957)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2945)
> at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:756)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.createOverflowRegion(CacheWriterGetOldValueIntegrationTest.java:283)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.doTest(CacheWriterGetOldValueIntegrationTest.java:110)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.getOldValueWithTransactionInCacheWriterReturnsValueOfEvictedEntry(CacheWriterGetOldValueIntegrationTest.java:71)
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest >
> doRemoveAll FAILED
> java.lang.IllegalStateException: The region "/region" has been persisted
> to disk so it can not be recreated on the same disk store without
> persistence. Either destroy the persistent region, recreate it as overflow
> and persistent, or create the overflow only region on a different disk store.
> at
> org.apache.geode.internal.cache.DiskRegion.<init>(DiskRegion.java:97)
> at
> org.apache.geode.internal.cache.DiskInitFile.createDiskRegion(DiskInitFile.java:861)
> at
> org.apache.geode.internal.cache.DiskRegion.create(DiskRegion.java:175)
> at
> org.apache.geode.internal.cache.LocalRegion.createDiskRegion(LocalRegion.java:7634)
> at
> org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:618)
> at
> org.apache.geode.internal.cache.DistributedRegion.<init>(DistributedRegion.java:191)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3026)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2957)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2945)
> at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:756)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.createOverflowRegion(CacheWriterGetOldValueIntegrationTest.java:283)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.doRemoveAll(CacheWriterGetOldValueIntegrationTest.java:93)
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest >
> getOldValueInCacheWriterReturnsValueOfEvictedEntry FAILED
> java.lang.IllegalStateException: The region "/region" has been persisted
> to disk so it can not be recreated on the same disk store without
> persistence. Either destroy the persistent region, recreate it as overflow
> and persistent, or create the overflow only region on a different disk store.
> at
> org.apache.geode.internal.cache.DiskRegion.<init>(DiskRegion.java:97)
> at
> org.apache.geode.internal.cache.DiskInitFile.createDiskRegion(DiskInitFile.java:861)
> at
> org.apache.geode.internal.cache.DiskRegion.create(DiskRegion.java:175)
> at
> org.apache.geode.internal.cache.LocalRegion.createDiskRegion(LocalRegion.java:7634)
> at
> org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:618)
> at
> org.apache.geode.internal.cache.DistributedRegion.<init>(DistributedRegion.java:191)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3026)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2957)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2945)
> at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:756)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.createOverflowRegion(CacheWriterGetOldValueIntegrationTest.java:283)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.doTest(CacheWriterGetOldValueIntegrationTest.java:110)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.getOldValueInCacheWriterReturnsValueOfEvictedEntry(CacheWriterGetOldValueIntegrationTest.java:66)
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest >
> doPutAll FAILED
> java.lang.IllegalStateException: The region "/region" has been persisted
> to disk so it can not be recreated on the same disk store without
> persistence. Either destroy the persistent region, recreate it as overflow
> and persistent, or create the overflow only region on a different disk store.
> at
> org.apache.geode.internal.cache.DiskRegion.<init>(DiskRegion.java:97)
> at
> org.apache.geode.internal.cache.DiskInitFile.createDiskRegion(DiskInitFile.java:861)
> at
> org.apache.geode.internal.cache.DiskRegion.create(DiskRegion.java:175)
> at
> org.apache.geode.internal.cache.LocalRegion.createDiskRegion(LocalRegion.java:7634)
> at
> org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:618)
> at
> org.apache.geode.internal.cache.DistributedRegion.<init>(DistributedRegion.java:191)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3026)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2957)
> at
> org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2945)
> at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:756)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.createOverflowRegion(CacheWriterGetOldValueIntegrationTest.java:283)
> at
> org.apache.geode.internal.cache.CacheWriterGetOldValueIntegrationTest.doPutAll(CacheWriterGetOldValueIntegrationTest.java:77)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)