This is an automated email from the ASF dual-hosted git repository.
nnag pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 88b379e Revert "GEODE-5197: Synchronized update cache service profile
in lucene" (#2269)
88b379e is described below
commit 88b379e852b33509b8abd4e7bb82b9a1b62c26b9
Author: Nabarun Nag <[email protected]>
AuthorDate: Mon Aug 6 16:19:25 2018 -0700
Revert "GEODE-5197: Synchronized update cache service profile in lucene"
(#2269)
---
.../apache/geode/internal/cache/LocalRegion.java | 40 ++--------------------
.../cache/lucene/internal/LuceneServiceImpl.java | 29 ++++++----------
2 files changed, 13 insertions(+), 56 deletions(-)
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index 5e2a491..1642a8a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -499,20 +499,6 @@ public class LocalRegion extends AbstractRegion implements
LoaderHelperFactory,
private final Lock clientMetaDataLock = new ReentrantLock();
/**
- * Lock for updating the cache service profile for the region.
- */
- private final Lock cacheServiceProfileUpdateLock = new ReentrantLock();
-
- public void executeSynchronizedOperationOnCacheProfiles(Runnable operation) {
- cacheServiceProfileUpdateLock.lock();
- try {
- operation.run();
- } finally {
- cacheServiceProfileUpdateLock.unlock();
- }
- }
-
- /**
* There seem to be cases where a region can be created and yet the
distributed system is not yet
* in place...
*/
@@ -674,7 +660,7 @@ public class LocalRegion extends AbstractRegion implements
LoaderHelperFactory,
internalRegionArgs.isUsedForParallelGatewaySenderQueue();
this.serialGatewaySender = internalRegionArgs.getSerialGatewaySender();
if (internalRegionArgs.getCacheServiceProfiles() != null) {
- addCacheServiceProfiles(internalRegionArgs);
+
this.cacheServiceProfiles.putAll(internalRegionArgs.getCacheServiceProfiles());
}
if (!isUsedForMetaRegion && !isUsedForPartitionedRegionAdmin
@@ -699,15 +685,6 @@ public class LocalRegion extends AbstractRegion implements
LoaderHelperFactory,
versionVector = createRegionVersionVector();
}
- private void addCacheServiceProfiles(InternalRegionArguments
internalRegionArgs) {
- cacheServiceProfileUpdateLock.lock();
- try {
-
this.cacheServiceProfiles.putAll(internalRegionArgs.getCacheServiceProfiles());
- } finally {
- cacheServiceProfileUpdateLock.unlock();
- }
- }
-
protected EventTracker createEventTracker() {
return NonDistributedEventTracker.getInstance();
}
@@ -10456,13 +10433,7 @@ public class LocalRegion extends AbstractRegion
implements LoaderHelperFactory,
}
public void removeCacheServiceProfile(String profileID) {
- cacheServiceProfileUpdateLock.lock();
- try {
- this.cacheServiceProfiles.remove(profileID);
- } finally {
- cacheServiceProfileUpdateLock.unlock();
- }
-
+ this.cacheServiceProfiles.remove(profileID);
}
public AbstractGatewaySender getSerialGatewaySender() {
@@ -10524,12 +10495,7 @@ public class LocalRegion extends AbstractRegion
implements LoaderHelperFactory,
}
public void addCacheServiceProfile(CacheServiceProfile profile) {
- cacheServiceProfileUpdateLock.lock();
- try {
- this.cacheServiceProfiles.put(profile.getId(), profile);
- } finally {
- cacheServiceProfileUpdateLock.unlock();
- }
+ this.cacheServiceProfiles.put(profile.getId(), profile);
}
@Override
diff --git
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
index 48d475b..f60b667 100644
---
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
+++
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
@@ -252,10 +252,17 @@ public class LuceneServiceImpl implements
InternalLuceneService {
LuceneIndexCreationProfile luceneIndexCreationProfile = new
LuceneIndexCreationProfile(
indexName, regionPath, fields, analyzer, fieldAnalyzers, serializer);
- Runnable validateIndexProfile =
- getIndexValidationRunnable(region, indexName,
luceneIndexCreationProfile);
- region.executeSynchronizedOperationOnCacheProfiles(validateIndexProfile);
+ region.addCacheServiceProfile(luceneIndexCreationProfile);
+ try {
+ validateLuceneIndexProfile(region);
+ } catch (IllegalStateException e) {
+ region.removeCacheServiceProfile(luceneIndexCreationProfile.getId());
+ throw new UnsupportedOperationException(
+
LocalizedStrings.LuceneIndexCreation_INDEX_CANNOT_BE_CREATED_DUE_TO_PROFILE_VIOLATION
+ .toString(indexName),
+ e);
+ }
String aeqId = LuceneServiceImpl.getUniqueIndexName(indexName, regionPath);
region.updatePRConfigWithNewGatewaySender(aeqId);
LuceneIndexImpl luceneIndex = beforeDataRegionCreated(indexName,
regionPath,
@@ -272,22 +279,6 @@ public class LuceneServiceImpl implements
InternalLuceneService {
createLuceneIndexOnDataRegion(region, luceneIndex);
}
- private Runnable getIndexValidationRunnable(PartitionedRegion region, String
indexName,
- LuceneIndexCreationProfile luceneIndexCreationProfile) {
- return () -> {
- region.addCacheServiceProfile(luceneIndexCreationProfile);
- try {
- validateLuceneIndexProfile(region);
- } catch (IllegalStateException e) {
- region.removeCacheServiceProfile(luceneIndexCreationProfile.getId());
- throw new UnsupportedOperationException(
-
LocalizedStrings.LuceneIndexCreation_INDEX_CANNOT_BE_CREATED_DUE_TO_PROFILE_VIOLATION
- .toString(indexName),
- e);
- }
- };
- }
-
protected void validateLuceneIndexProfile(PartitionedRegion region) {
new CreateRegionProcessorForLucene(region).initializeRegion();
}