Repository: geode Updated Branches: refs/heads/feature/GEM-1299 d6530908d -> ea3420b3e
http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqServiceVsdStats.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqServiceVsdStats.java b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqServiceVsdStats.java index 8435c4c..5dc7bb0 100644 --- a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqServiceVsdStats.java +++ b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/CqServiceVsdStats.java @@ -25,9 +25,9 @@ import org.apache.geode.cache.query.CqException; import org.apache.geode.cache.query.CqQuery; import org.apache.geode.cache.query.internal.DefaultQueryService; import org.apache.geode.internal.NanoTimer; +import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.statistics.StatisticsTypeFactoryImpl; import org.apache.geode.internal.cache.FilterProfile; -import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.logging.LogService; /** @@ -44,35 +44,34 @@ public class CqServiceVsdStats { private static final StatisticsType _type; /** Name of the created CQs statistic */ - protected static final String CQS_CREATED = "numCqsCreated"; + private static final String CQS_CREATED = "numCqsCreated"; /** Name of the active CQs statistic */ - protected static final String CQS_ACTIVE = "numCqsActive"; + private static final String CQS_ACTIVE = "numCqsActive"; /** Name of the stopped CQs statistic */ - protected static final String CQS_STOPPED = "numCqsStopped"; + private static final String CQS_STOPPED = "numCqsStopped"; /** Name of the closed CQs statistic */ - protected static final String CQS_CLOSED = "numCqsClosed"; + private static final String CQS_CLOSED = "numCqsClosed"; /** Name of the client's CQs statistic */ - protected static final String CQS_ON_CLIENT = "numCqsOnClient"; + private static final String CQS_ON_CLIENT = "numCqsOnClient"; /** Number of clients with CQs statistic */ - protected static final String CLIENTS_WITH_CQS = "numClientsWithCqs"; - + private static final String CLIENTS_WITH_CQS = "numClientsWithCqs"; /** CQ query execution time. */ - protected static final String CQ_QUERY_EXECUTION_TIME = "cqQueryExecutionTime"; + private static final String CQ_QUERY_EXECUTION_TIME = "cqQueryExecutionTime"; /** CQ query execution in progress */ - protected static final String CQ_QUERY_EXECUTION_IN_PROGRESS = "cqQueryExecutionInProgress"; + private static final String CQ_QUERY_EXECUTION_IN_PROGRESS = "cqQueryExecutionInProgress"; /** Completed CQ query executions */ - protected static final String CQ_QUERY_EXECUTIONS_COMPLETED = "cqQueryExecutionsCompleted"; + private static final String CQ_QUERY_EXECUTIONS_COMPLETED = "cqQueryExecutionsCompleted"; /** Unique CQs, number of different CQ queries */ - protected static final String UNIQUE_CQ_QUERY = "numUniqueCqQuery"; + private static final String UNIQUE_CQ_QUERY = "numUniqueCqQuery"; /** Id of the CQs created statistic */ private static final int _numCqsCreatedId; @@ -104,7 +103,7 @@ public class CqServiceVsdStats { /** Id for unique CQs, difference in CQ queries */ private static final int _numUniqueCqQuery; - /** + /* * Static initializer to create and initialize the <code>StatisticsType</code> */ static { @@ -140,7 +139,6 @@ public class CqServiceVsdStats { _cqQueryExecutionsCompletedId = _type.nameToId(CQ_QUERY_EXECUTIONS_COMPLETED); _cqQueryExecutionInProgressId = _type.nameToId(CQ_QUERY_EXECUTION_IN_PROGRESS); _numUniqueCqQuery = _type.nameToId(UNIQUE_CQ_QUERY); - } /** The <code>Statistics</code> instance to which most behavior is delegated */ @@ -152,12 +150,10 @@ public class CqServiceVsdStats { * @param factory The <code>StatisticsFactory</code> which creates the <code>Statistics</code> * instance */ - public CqServiceVsdStats(StatisticsFactory factory) { + CqServiceVsdStats(StatisticsFactory factory) { this._stats = factory.createAtomicStatistics(_type, "CqServiceStats"); } - // /////////////////// Instance Methods ///////////////////// - /** * Closes the <code>HARegionQueueStats</code>. */ @@ -170,14 +166,14 @@ public class CqServiceVsdStats { * * @return the current value of the "numCqsCreated" stat */ - public long getNumCqsCreated() { + long getNumCqsCreated() { return this._stats.getLong(_numCqsCreatedId); } /** * Increments the "numCqsCreated" stat by 1. */ - public void incCqsCreated() { + void incCqsCreated() { this._stats.incLong(_numCqsCreatedId, 1); } @@ -186,21 +182,21 @@ public class CqServiceVsdStats { * * @return the current value of the "numCqsActive" stat */ - public long getNumCqsActive() { + long getNumCqsActive() { return this._stats.getLong(_numCqsActiveId); } /** * Increments the "numCqsActive" stat by 1. */ - public void incCqsActive() { + void incCqsActive() { this._stats.incLong(_numCqsActiveId, 1); } /** * Decrements the "numCqsActive" stat by 1. */ - public void decCqsActive() { + void decCqsActive() { this._stats.incLong(_numCqsActiveId, -1); } @@ -209,21 +205,21 @@ public class CqServiceVsdStats { * * @return the current value of the "numCqsStopped" stat */ - public long getNumCqsStopped() { + long getNumCqsStopped() { return this._stats.getLong(_numCqsStoppedId); } /** * Increments the "numCqsStopped" stat by 1. */ - public void incCqsStopped() { + void incCqsStopped() { this._stats.incLong(_numCqsStoppedId, 1); } /** * Decrements the "numCqsStopped" stat by 1. */ - public void decCqsStopped() { + void decCqsStopped() { this._stats.incLong(_numCqsStoppedId, -1); } @@ -232,14 +228,14 @@ public class CqServiceVsdStats { * * @return the current value of the "numCqsClosed" stat */ - public long getNumCqsClosed() { + long getNumCqsClosed() { return this._stats.getLong(_numCqsClosedId); } /** * Increments the "numCqsClosed" stat by 1. */ - public void incCqsClosed() { + void incCqsClosed() { this._stats.incLong(_numCqsClosedId, 1); } @@ -248,21 +244,21 @@ public class CqServiceVsdStats { * * @return the current value of the "numCqsOnClient" stat */ - public long getNumCqsOnClient() { + long getNumCqsOnClient() { return this._stats.getLong(_numCqsOnClientId); } /** * Increments the "numCqsOnClient" stat by 1. */ - public void incCqsOnClient() { + void incCqsOnClient() { this._stats.incLong(_numCqsOnClientId, 1); } /** * Decrements the "numCqsOnClient" stat by 1. */ - public void decCqsOnClient() { + void decCqsOnClient() { this._stats.incLong(_numCqsOnClientId, -1); } @@ -278,21 +274,21 @@ public class CqServiceVsdStats { /** * Increments the "numClientsWithCqs" stat by 1. */ - public void incClientsWithCqs() { + void incClientsWithCqs() { this._stats.incLong(_numClientsWithCqsId, 1); } /** * Decrements the "numCqsOnClient" stat by 1. */ - public void decClientsWithCqs() { + void decClientsWithCqs() { this._stats.incLong(_numClientsWithCqsId, -1); } /** * Start the CQ Query Execution time. */ - public long startCqQueryExecution() { + long startCqQueryExecution() { this._stats.incInt(_cqQueryExecutionInProgressId, 1); return NanoTimer.getTime(); } @@ -302,7 +298,7 @@ public class CqServiceVsdStats { * * @param start long time value. */ - public void endCqQueryExecution(long start) { + void endCqQueryExecution(long start) { long ts = NanoTimer.getTime(); this._stats.incLong(_cqQueryExecutionTimeId, ts - start); this._stats.incInt(_cqQueryExecutionInProgressId, -1); @@ -321,14 +317,14 @@ public class CqServiceVsdStats { /** * Increments number of Unique queries. */ - public void incUniqueCqQuery() { + void incUniqueCqQuery() { this._stats.incInt(_numUniqueCqQuery, 1); } /** * Decrements number of unique Queries. */ - public void decUniqueCqQuery() { + void decUniqueCqQuery() { this._stats.incInt(_numUniqueCqQuery, -1); } @@ -338,11 +334,8 @@ public class CqServiceVsdStats { * tests. * <p> * Returns the number of CQs (active + suspended) on the given region. - * - * @param regionName */ - public long numCqsOnRegion(String regionName) { - GemFireCacheImpl cache = GemFireCacheImpl.getInstance(); + public long numCqsOnRegion(final InternalCache cache, String regionName) { if (cache == null) { return 0; } http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/ServerCQImpl.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/ServerCQImpl.java b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/ServerCQImpl.java index ec6e984..c484105 100644 --- a/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/ServerCQImpl.java +++ b/geode-cq/src/main/java/org/apache/geode/cache/query/internal/cq/ServerCQImpl.java @@ -21,24 +21,18 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.ConcurrentLinkedQueue; import org.apache.logging.log4j.Logger; -import org.apache.geode.CancelException; import org.apache.geode.DataSerializable; import org.apache.geode.DataSerializer; -import org.apache.geode.SystemFailure; -import org.apache.geode.cache.CacheClosedException; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.EvictionAction; -import org.apache.geode.cache.client.internal.UserAttributes; import org.apache.geode.cache.query.CqAttributes; import org.apache.geode.cache.query.CqAttributesMutator; import org.apache.geode.cache.query.CqClosedException; import org.apache.geode.cache.query.CqException; import org.apache.geode.cache.query.CqExistsException; -import org.apache.geode.cache.query.CqListener; import org.apache.geode.cache.query.CqResults; import org.apache.geode.cache.query.Query; import org.apache.geode.cache.query.QueryException; @@ -49,6 +43,7 @@ import org.apache.geode.cache.query.internal.CompiledRegion; import org.apache.geode.cache.query.internal.CompiledSelect; import org.apache.geode.cache.query.internal.CqStateImpl; import org.apache.geode.cache.query.internal.DefaultQuery; +import org.apache.geode.i18n.StringId; import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.LocalRegion; import org.apache.geode.internal.cache.Token; @@ -58,7 +53,6 @@ import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID; import org.apache.geode.internal.i18n.LocalizedStrings; import org.apache.geode.internal.logging.LogService; import org.apache.geode.internal.logging.log4j.LocalizedMessage; -import org.apache.geode.i18n.StringId; public class ServerCQImpl extends CqQueryImpl implements DataSerializable, ServerCQ { private static final Logger logger = LogService.getLogger(); @@ -84,7 +78,7 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve public volatile boolean cqResultKeysInitialized = false; /** Boolean flag to see if the CQ is on Partitioned Region */ - public volatile boolean isPR = false; + volatile boolean isPR = false; private ClientProxyMembershipID clientProxyId = null; @@ -92,7 +86,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve private String serverCqName; - /** identifier assigned to this query for FilterRoutingInfos */ private Long filterID; @@ -106,21 +99,11 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve // For deserialization } - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#getFilterID() - */ @Override public Long getFilterID() { return this.filterID; } - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#setFilterID(java.lang.Long) - */ @Override public void setFilterID(Long filterID) { this.filterID = filterID; @@ -142,19 +125,12 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve CacheClientProxy clientProxy = null; this.clientProxyId = p_clientProxyId; - // servConnection = serverSideConnection; if (p_ccn != null) { this.ccn = p_ccn; clientProxy = p_ccn.getClientProxy(p_clientProxyId, true); } - /* - * try { initCq(); } catch (CqExistsException cqe) { // Should not happen. throw new - * CqException(LocalizedStrings.CqQueryImpl_UNABLE_TO_CREATE_CQ_0_ERROR__1.toLocalizedString(new - * Object[] { cqName, cqe.getMessage()})); } - */ - validateCq(); final boolean isDebugEnabled = logger.isDebugEnabled(); @@ -228,13 +204,11 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve throw new CqException(errMsg); } - // checkAndSetCqOnRegion(); - // Can be null by the time we are here if (clientProxy != null) { clientProxy.incCqCount(); if (clientProxy.hasOneCq()) { - cqService.stats.incClientsWithCqs(); + cqService.stats().incClientsWithCqs(); } if (isDebugEnabled) { logger.debug("Added CQ to the base region: {} With key as: {}", cqBaseRegion.getFullPath(), @@ -307,7 +281,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve * query. * * @return String modified query. - * @throws CqException */ private Query constructServerSideQuery() throws QueryException { GemFireCacheImpl cache = (GemFireCacheImpl) cqService.getCache(); @@ -328,7 +301,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve * Returns if the passed key is part of the CQs result set. This method needs to be called once * the CQ result key caching is completed (cqResultsCacheInitialized is true). * - * @param key * @return true if key is in the Results Cache. */ public boolean isPartOfCqResult(Object key) { @@ -352,27 +324,18 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } } - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#addToCqResultKeys(java.lang.Object) - */ @Override public void addToCqResultKeys(Object key) { if (!CqServiceProvider.MAINTAIN_KEYS) { return; } - // this.logger.fine("Adding key to Results Cache For CQ :" + - // this.cqName + " key :" + key); if (this.cqResultKeys != null) { synchronized (this.cqResultKeys) { this.cqResultKeys.put(key, TOKEN); if (!this.cqResultKeysInitialized) { // This key could be coming after add, destroy. // Remove this from destroy queue. - // this.logger.fine("Removing key from Destroy Cache For CQ :" + - // this.cqName + " key :" + key); if (this.destroysWhileCqResultsInProgress != null) { this.destroysWhileCqResultsInProgress.remove(key); } @@ -381,21 +344,11 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } } - - /* - * (non-Javadoc) - * - * @see - * org.apache.geode.cache.query.internal.InternalCqQuery2#removeFromCqResultKeys(java.lang.Object, - * boolean) - */ @Override public void removeFromCqResultKeys(Object key, boolean isTokenMode) { if (!CqServiceProvider.MAINTAIN_KEYS) { return; } - // this.logger.fine("Removing key from Results Cache For CQ :" + - // this.cqName + " key :" + key); if (this.cqResultKeys != null) { synchronized (this.cqResultKeys) { if (isTokenMode && this.cqResultKeys.get(key) != Token.DESTROYED) { @@ -403,8 +356,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } this.cqResultKeys.remove(key); if (!this.cqResultKeysInitialized) { - // this.logger.fine("Adding key to Destroy Cache For CQ :" + - // this.cqName + " key :" + key); if (this.destroysWhileCqResultsInProgress != null) { this.destroysWhileCqResultsInProgress.add(key); } @@ -415,10 +366,8 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve /** * Marks the key as destroyed in the CQ Results key cache. - * - * @param key */ - public void markAsDestroyedInCqResultKeys(Object key) { + void markAsDestroyedInCqResultKeys(Object key) { if (!CqServiceProvider.MAINTAIN_KEYS) { return; } @@ -439,12 +388,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } } - - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#setCqResultsCacheInitialized() - */ @Override public void setCqResultsCacheInitialized() { if (CqServiceProvider.MAINTAIN_KEYS) { @@ -466,13 +409,6 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } } - /* - * (non-Javadoc) - * - * @see - * org.apache.geode.cache.query.internal.InternalCqQuery2#isOldValueRequiredForQueryProcessing( - * java.lang.Object) - */ @Override public boolean isOldValueRequiredForQueryProcessing(Object key) { if (this.cqResultKeysInitialized && this.isPartOfCqResult(key)) { @@ -484,18 +420,11 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve /** * Closes the Query. On Client side, sends the cq close request to server. On Server side, takes * care of repository cleanup. - * - * @throws CqException */ public void close() throws CqClosedException, CqException { close(true); } - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#close(boolean) - */ @Override public void close(boolean sendRequestToServer) throws CqClosedException, CqException { final boolean isDebugEnabled = logger.isDebugEnabled(); @@ -523,9 +452,9 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve // Stat update. if (stateBeforeClosing == CqStateImpl.RUNNING) { - cqService.stats.decCqsActive(); + cqService.stats().decCqsActive(); } else if (stateBeforeClosing == CqStateImpl.STOPPED) { - cqService.stats.decCqsStopped(); + cqService.stats().decCqsStopped(); } // Clean-up the CQ Results Cache. @@ -537,8 +466,8 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve // Set the state to close, and update stats this.cqState.setState(CqStateImpl.CLOSED); - cqService.stats.incCqsClosed(); - cqService.stats.decCqsOnClient(); + cqService.stats().incCqsClosed(); + cqService.stats().decCqsOnClient(); if (this.stats != null) this.stats.close(); } @@ -564,9 +493,8 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve /** * Clears the resource used by CQ. - * - * @throws CqException */ + @Override protected void cleanup() throws CqException { // CqBaseRegion try { @@ -575,7 +503,7 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve CacheClientProxy clientProxy = ccn.getClientProxy(clientProxyId); clientProxy.decCqCount(); if (clientProxy.hasNoCq()) { - cqService.stats.decClientsWithCqs(); + cqService.stats().decClientsWithCqs(); } } } catch (Exception ex) { @@ -587,16 +515,9 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve } /** - * @param serverCqName The serverCqName to set. - */ - public void setServerCqName(String serverCqName) { - - this.serverCqName = serverCqName; - } - - /** * Stop or pause executing the query. */ + @Override public void stop() throws CqClosedException, CqException { boolean isStopped = false; synchronized (this.cqState) { @@ -613,18 +534,16 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve // Change state and stats on the client side this.cqState.setState(CqStateImpl.STOPPED); - this.cqService.stats.incCqsStopped(); - this.cqService.stats.decCqsActive(); + this.cqService.stats().incCqsStopped(); + this.cqService.stats().decCqsActive(); if (logger.isDebugEnabled()) { logger.debug("Successfully stopped the CQ. {}", cqName); } } } - /* DataSerializableFixedID methods ---------------------------------------- */ - + @Override public void fromData(DataInput in) throws IOException, ClassNotFoundException { - // this.cqName = DataSerializer.readString(in); synchronized (cqState) { this.cqState.setState(DataSerializer.readInteger(in)); } @@ -633,23 +552,14 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve this.filterID = in.readLong(); } - /* - * public int getDSFID() { return CQ_QUERY; } - */ - + @Override public void toData(DataOutput out) throws IOException { - // DataSerializer.writeString(this.cqName, out); DataSerializer.writeInteger(this.cqState.getState(), out); DataSerializer.writeBoolean(this.isDurable, out); DataSerializer.writeString(this.queryString, out); out.writeLong(this.filterID); } - /* - * (non-Javadoc) - * - * @see org.apache.geode.cache.query.internal.InternalCqQuery2#isPR() - */ @Override public boolean isPR() { return isPR; @@ -676,5 +586,4 @@ public class ServerCQImpl extends CqQueryImpl implements DataSerializable, Serve throw new IllegalStateException("Execute cannot be called on a CQ on the server"); } - } http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ.java b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ.java index bcf9806..9bddbc7 100644 --- a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ.java +++ b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ.java @@ -27,7 +27,6 @@ import org.apache.geode.cache.query.internal.DefaultQueryService; import org.apache.geode.cache.query.internal.cq.CqService; import org.apache.geode.cache.query.internal.cq.ServerCQ; import org.apache.geode.distributed.internal.DistributionStats; -import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.tier.CachedRegionHelper; import org.apache.geode.internal.cache.tier.Command; import org.apache.geode.internal.cache.tier.MessageType; @@ -85,8 +84,7 @@ public class ExecuteCQ extends BaseCQCommand { ServerCQ cqQuery = null; try { - qService = - (DefaultQueryService) ((GemFireCacheImpl) crHelper.getCache()).getLocalQueryService(); + qService = (DefaultQueryService) crHelper.getCache().getLocalQueryService(); // Authorization check AuthorizeRequest authzRequest = servConn.getAuthzRequest(); http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ61.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ61.java b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ61.java index f333b4b..de61445 100755 --- a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ61.java +++ b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/ExecuteCQ61.java @@ -28,7 +28,6 @@ import org.apache.geode.cache.query.internal.cq.CqServiceImpl; import org.apache.geode.cache.query.internal.cq.CqServiceProvider; import org.apache.geode.cache.query.internal.cq.ServerCQImpl; import org.apache.geode.distributed.internal.DistributionStats; -import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.tier.CachedRegionHelper; import org.apache.geode.internal.cache.tier.Command; import org.apache.geode.internal.cache.tier.MessageType; @@ -111,8 +110,7 @@ public class ExecuteCQ61 extends BaseCQCommand { ServerCQImpl cqQuery = null; try { - qService = - (DefaultQueryService) ((GemFireCacheImpl) crHelper.getCache()).getLocalQueryService(); + qService = (DefaultQueryService) crHelper.getCache().getLocalQueryService(); // Authorization check AuthorizeRequest authzRequest = servConn.getAuthzRequest(); http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GetDurableCQs.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GetDurableCQs.java b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GetDurableCQs.java index eac9ed3..a2d201d 100755 --- a/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GetDurableCQs.java +++ b/geode-cq/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GetDurableCQs.java @@ -22,7 +22,6 @@ import java.util.List; import org.apache.geode.cache.query.CqException; import org.apache.geode.cache.query.internal.DefaultQueryService; import org.apache.geode.cache.query.internal.cq.CqService; -import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.internal.cache.tier.CachedRegionHelper; import org.apache.geode.internal.cache.tier.Command; import org.apache.geode.internal.cache.tier.MessageType; @@ -64,8 +63,7 @@ public class GetDurableCQs extends BaseCQCommand { CqService cqServiceForExec = null; try { - qService = - (DefaultQueryService) ((GemFireCacheImpl) crHelper.getCache()).getLocalQueryService(); + qService = (DefaultQueryService) crHelper.getCache().getLocalQueryService(); this.securityService.authorizeClusterRead(); http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsDUnitTest.java index 7ace0e8..f4cd706 100644 --- a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsDUnitTest.java +++ b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsDUnitTest.java @@ -14,20 +14,15 @@ */ package org.apache.geode.cache.query.cq.dunit; -import org.junit.experimental.categories.Category; -import org.junit.Test; - import static org.junit.Assert.*; -import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; -import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase; -import org.apache.geode.test.junit.categories.DistributedTest; - import java.util.Collection; +import org.junit.Test; +import org.junit.experimental.categories.Category; + import org.apache.geode.cache.CacheException; import org.apache.geode.cache.query.CqException; -import org.apache.geode.cache.query.CqQuery; import org.apache.geode.cache.query.CqServiceStatistics; import org.apache.geode.cache.query.CqStatistics; import org.apache.geode.cache.query.QueryService; @@ -40,7 +35,7 @@ import org.apache.geode.cache.query.internal.cq.CqServiceImpl; import org.apache.geode.cache.query.internal.cq.CqServiceVsdStats; import org.apache.geode.cache.query.internal.cq.InternalCqQuery; import org.apache.geode.cache30.CacheSerializableRunnable; -import org.apache.geode.cache30.CacheTestCase; +import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.test.dunit.Host; import org.apache.geode.test.dunit.Invoke; import org.apache.geode.test.dunit.LogWriterUtils; @@ -48,27 +43,26 @@ import org.apache.geode.test.dunit.NetworkUtils; import org.apache.geode.test.dunit.SerializableRunnable; import org.apache.geode.test.dunit.VM; import org.apache.geode.test.dunit.Wait; +import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; +import org.apache.geode.test.junit.categories.DistributedTest; /** - * This class tests the ContiunousQuery mechanism in GemFire. This includes the test with different + * This class tests the ContinuousQuery mechanism in GemFire. This includes the test with different * data activities. - * */ @Category(DistributedTest.class) public class CqStatsDUnitTest extends JUnit4CacheTestCase { + // TODO: delete this use of CqQueryDUnitTest private CqQueryDUnitTest cqDUnitTest = new CqQueryDUnitTest(); - public CqStatsDUnitTest() { - super(); - } - @Override public final void postSetUp() throws Exception { // avoid IllegalStateException from HandShake by connecting all vms to // system before creating pool getSystem(); Invoke.invokeInEveryVM(new SerializableRunnable("getSystem") { + @Override public void run() { getSystem(); } @@ -81,6 +75,7 @@ public class CqStatsDUnitTest extends JUnit4CacheTestCase { public void validateCQStats(VM vm, final String cqName, final int creates, final int updates, final int deletes, final int totalEvents, final int cqListenerInvocations) { vm.invoke(new CacheSerializableRunnable("Validate CQs") { + @Override public void run2() throws CacheException { LogWriterUtils.getLogWriter().info("### Validating CQ Stats. ### " + cqName); // Get CQ Service. @@ -161,6 +156,7 @@ public class CqStatsDUnitTest extends JUnit4CacheTestCase { final int stopped, final int closed, final int cqsOnClient, final int cqsOnRegion, final int clientsWithCqs) { vm.invoke(new CacheSerializableRunnable("Validate CQ Service Stats") { + @Override public void run2() throws CacheException { LogWriterUtils.getLogWriter().info("### Validating CQ Service Stats. ### "); // Get CQ Service. @@ -176,7 +172,7 @@ public class CqStatsDUnitTest extends JUnit4CacheTestCase { CqServiceVsdStats cqServiceVsdStats = null; try { cqServiceVsdStats = - ((CqServiceImpl) ((DefaultQueryService) qService).getCqService()).stats; + ((CqServiceImpl) ((DefaultQueryService) qService).getCqService()).stats(); } catch (CqException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -185,12 +181,14 @@ public class CqStatsDUnitTest extends JUnit4CacheTestCase { fail("Failed to get CQ Service Stats"); } - getCache().getLogger().info("#### CQ Service stats: " + " CQs created: " - + cqServiceStats.numCqsCreated() + " CQs active: " + cqServiceStats.numCqsActive() - + " CQs stopped: " + cqServiceStats.numCqsStopped() + " CQs closed: " - + cqServiceStats.numCqsClosed() + " CQs on Client: " + cqServiceStats.numCqsOnClient() - + " CQs on region /root/regionA : " + cqServiceVsdStats.numCqsOnRegion("/root/regionA") - + " Clients with CQs: " + cqServiceVsdStats.getNumClientsWithCqs()); + getCache().getLogger() + .info("#### CQ Service stats: " + " CQs created: " + cqServiceStats.numCqsCreated() + + " CQs active: " + cqServiceStats.numCqsActive() + " CQs stopped: " + + cqServiceStats.numCqsStopped() + " CQs closed: " + cqServiceStats.numCqsClosed() + + " CQs on Client: " + cqServiceStats.numCqsOnClient() + + " CQs on region /root/regionA : " + + cqServiceVsdStats.numCqsOnRegion(GemFireCacheImpl.getInstance(), "/root/regionA") + + " Clients with CQs: " + cqServiceVsdStats.getNumClientsWithCqs()); // Check for created count. @@ -223,7 +221,7 @@ public class CqStatsDUnitTest extends JUnit4CacheTestCase { // Check for CQs on region. if (cqsOnRegion != CqQueryDUnitTest.noTest) { assertEquals("Number of CQs on region /root/regionA mismatch", cqsOnRegion, - cqServiceVsdStats.numCqsOnRegion("/root/regionA")); + cqServiceVsdStats.numCqsOnRegion(GemFireCacheImpl.getInstance(), "/root/regionA")); } // Check for clients with CQs count. http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsUsingPoolDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsUsingPoolDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsUsingPoolDUnitTest.java index d6068f1..c03bb8b 100644 --- a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsUsingPoolDUnitTest.java +++ b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqStatsUsingPoolDUnitTest.java @@ -14,21 +14,16 @@ */ package org.apache.geode.cache.query.cq.dunit; -import org.junit.experimental.categories.Category; -import org.junit.Test; - import static org.junit.Assert.*; -import org.apache.geode.distributed.*; -import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; -import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase; -import org.apache.geode.test.junit.categories.DistributedTest; +import java.util.Collection; +import java.util.Properties; -import java.util.*; +import org.junit.Test; +import org.junit.experimental.categories.Category; import org.apache.geode.cache.CacheException; import org.apache.geode.cache.query.CqException; -import org.apache.geode.cache.query.CqQuery; import org.apache.geode.cache.query.CqServiceStatistics; import org.apache.geode.cache.query.CqStatistics; import org.apache.geode.cache.query.QueryService; @@ -41,7 +36,8 @@ import org.apache.geode.cache.query.internal.cq.CqServiceImpl; import org.apache.geode.cache.query.internal.cq.CqServiceVsdStats; import org.apache.geode.cache.query.internal.cq.InternalCqQuery; import org.apache.geode.cache30.CacheSerializableRunnable; -import org.apache.geode.cache30.CacheTestCase; +import org.apache.geode.distributed.ConfigurationProperties; +import org.apache.geode.internal.cache.GemFireCacheImpl; import org.apache.geode.test.dunit.Host; import org.apache.geode.test.dunit.Invoke; import org.apache.geode.test.dunit.LogWriterUtils; @@ -49,21 +45,19 @@ import org.apache.geode.test.dunit.NetworkUtils; import org.apache.geode.test.dunit.SerializableRunnable; import org.apache.geode.test.dunit.VM; import org.apache.geode.test.dunit.Wait; +import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase; +import org.apache.geode.test.junit.categories.DistributedTest; /** - * This class tests the ContiunousQuery mechanism in GemFire. This includes the test with different + * This class tests the ContinuousQuery mechanism in GemFire. This includes the test with different * data activities. - * */ @Category(DistributedTest.class) public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { + // TODO: delete this use of CqQueryUsingPoolDUnitTest private CqQueryUsingPoolDUnitTest cqDUnitTest = new CqQueryUsingPoolDUnitTest(); - public CqStatsUsingPoolDUnitTest() { - super(); - } - @Override public Properties getDistributedSystemProperties() { Properties result = super.getDistributedSystemProperties(); @@ -77,6 +71,7 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { // system before creating pool getSystem(); Invoke.invokeInEveryVM(new SerializableRunnable("getSystem") { + @Override public void run() { getSystem(); } @@ -89,6 +84,7 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { private void validateCQStats(VM vm, final String cqName, final int creates, final int updates, final int deletes, final int totalEvents, final int cqListenerInvocations) { vm.invoke(new CacheSerializableRunnable("Validate CQs") { + @Override public void run2() throws CacheException { LogWriterUtils.getLogWriter().info("### Validating CQ Stats. ### " + cqName); // Get CQ Service. @@ -169,6 +165,7 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { final int stopped, final int closed, final int cqsOnClient, final int cqsOnRegion, final int clientsWithCqs) { vm.invoke(new CacheSerializableRunnable("Validate CQ Service Stats") { + @Override public void run2() throws CacheException { LogWriterUtils.getLogWriter().info("### Validating CQ Service Stats. ### "); // Get CQ Service. @@ -184,7 +181,7 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { CqServiceVsdStats cqServiceVsdStats = null; try { cqServiceVsdStats = - ((CqServiceImpl) ((DefaultQueryService) qService).getCqService()).stats; + ((CqServiceImpl) ((DefaultQueryService) qService).getCqService()).stats(); } catch (CqException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -193,12 +190,14 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { fail("Failed to get CQ Service Stats"); } - getCache().getLogger().info("#### CQ Service stats: " + " CQs created: " - + cqServiceStats.numCqsCreated() + " CQs active: " + cqServiceStats.numCqsActive() - + " CQs stopped: " + cqServiceStats.numCqsStopped() + " CQs closed: " - + cqServiceStats.numCqsClosed() + " CQs on Client: " + cqServiceStats.numCqsOnClient() - + " CQs on region /root/regionA : " + cqServiceVsdStats.numCqsOnRegion("/root/regionA") - + " Clients with CQs: " + cqServiceVsdStats.getNumClientsWithCqs()); + getCache().getLogger() + .info("#### CQ Service stats: " + " CQs created: " + cqServiceStats.numCqsCreated() + + " CQs active: " + cqServiceStats.numCqsActive() + " CQs stopped: " + + cqServiceStats.numCqsStopped() + " CQs closed: " + cqServiceStats.numCqsClosed() + + " CQs on Client: " + cqServiceStats.numCqsOnClient() + + " CQs on region /root/regionA : " + + cqServiceVsdStats.numCqsOnRegion(GemFireCacheImpl.getInstance(), "/root/regionA") + + " Clients with CQs: " + cqServiceVsdStats.getNumClientsWithCqs()); // Check for created count. @@ -231,7 +230,7 @@ public class CqStatsUsingPoolDUnitTest extends JUnit4CacheTestCase { // Check for CQs on region. if (cqsOnRegion != CqQueryUsingPoolDUnitTest.noTest) { assertEquals("Number of CQs on region /root/regionA mismatch", cqsOnRegion, - cqServiceVsdStats.numCqsOnRegion("/root/regionA")); + cqServiceVsdStats.numCqsOnRegion(GemFireCacheImpl.getInstance(), "/root/regionA")); } // Check for clients with CQs count. http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollector.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollector.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollector.java index 66c4c0a..5dd0d24 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollector.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollector.java @@ -15,10 +15,8 @@ package org.apache.geode.cache.lucene.internal.distributed; -import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.Logger; @@ -27,7 +25,7 @@ import org.apache.geode.cache.execute.FunctionException; import org.apache.geode.cache.execute.ResultCollector; import org.apache.geode.cache.lucene.LuceneQuery; import org.apache.geode.distributed.DistributedMember; -import org.apache.geode.internal.cache.GemFireCacheImpl; +import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.logging.LogService; /** @@ -44,16 +42,15 @@ import org.apache.geode.internal.logging.LogService; */ public class TopEntriesFunctionCollector implements ResultCollector<TopEntriesCollector, TopEntries> { - // Use this instance to perform reduce operation - final CollectorManager<TopEntriesCollector> manager; + private static final Logger logger = LogService.getLogger(); - final String id; + // Use this instance to perform reduce operation + private final CollectorManager<TopEntriesCollector> manager; - // Instance of gemfire cache to check status and other utility methods - final private GemFireCacheImpl cache; - private static final Logger logger = LogService.getLogger(); + private final String id; private final Collection<TopEntriesCollector> subResults = new ArrayList<>(); + private TopEntriesCollector mergedResults; public TopEntriesFunctionCollector() { @@ -65,8 +62,7 @@ public class TopEntriesFunctionCollector } public TopEntriesFunctionCollector(LuceneFunctionContext<TopEntriesCollector> context, - GemFireCacheImpl cache) { - this.cache = cache; + InternalCache cache) { id = cache == null ? String.valueOf(this.hashCode()) : cache.getName(); int limit = context == null ? 0 : context.getLimit(); @@ -115,4 +111,8 @@ public class TopEntriesFunctionCollector subResults.add(resultOfSingleExecution); } } + + String id() { + return this.id; + } } http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionJUnitTest.java index 5313ced..6690850 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionJUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionJUnitTest.java @@ -12,7 +12,6 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ - package org.apache.geode.cache.lucene.internal.distributed; import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.DEFAULT_FIELD; @@ -41,6 +40,7 @@ import org.apache.geode.cache.lucene.internal.StringQueryProvider; import org.apache.geode.cache.lucene.internal.repository.IndexRepository; import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector; import org.apache.geode.cache.lucene.internal.repository.RepositoryManager; +import org.apache.geode.cache.lucene.test.LuceneTestUtilities; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException; import org.apache.geode.internal.cache.execute.InternalRegionFunctionContext; @@ -58,30 +58,30 @@ import org.mockito.Mockito; @Category(UnitTest.class) public class LuceneQueryFunctionJUnitTest { - String regionPath = "/region"; - String indexName = "index"; - final EntryScore<String> r1_1 = new EntryScore<String>("key-1-1", .5f); - final EntryScore<String> r1_2 = new EntryScore<String>("key-1-2", .4f); - final EntryScore<String> r1_3 = new EntryScore<String>("key-1-3", .3f); - final EntryScore<String> r2_1 = new EntryScore<String>("key-2-1", .45f); - final EntryScore<String> r2_2 = new EntryScore<String>("key-2-2", .35f); - - InternalRegionFunctionContext mockContext; - ResultSender<TopEntriesCollector> mockResultSender; - Region<Object, Object> mockRegion; - - RepositoryManager mockRepoManager; - IndexRepository mockRepository1; - IndexRepository mockRepository2; - IndexResultCollector mockCollector; - InternalLuceneService mockService; - LuceneIndexImpl mockIndex; - LuceneIndexStats mockStats; - - ArrayList<IndexRepository> repos; - LuceneFunctionContext<IndexResultCollector> searchArgs; - LuceneQueryProvider queryProvider; - Query query; + private String regionPath = "/region"; + + private final EntryScore<String> r1_1 = new EntryScore<>("key-1-1", .5f); + private final EntryScore<String> r1_2 = new EntryScore<>("key-1-2", .4f); + private final EntryScore<String> r1_3 = new EntryScore<>("key-1-3", .3f); + private final EntryScore<String> r2_1 = new EntryScore<>("key-2-1", .45f); + private final EntryScore<String> r2_2 = new EntryScore<>("key-2-2", .35f); + + private InternalRegionFunctionContext mockContext; + private ResultSender<TopEntriesCollector> mockResultSender; + private Region<Object, Object> mockRegion; + + private RepositoryManager mockRepoManager; + private IndexRepository mockRepository1; + private IndexRepository mockRepository2; + private IndexResultCollector mockCollector; + private InternalLuceneService mockService; + private LuceneIndexImpl mockIndex; + private LuceneIndexStats mockStats; + + private ArrayList<IndexRepository> repos; + private LuceneFunctionContext<IndexResultCollector> searchArgs; + private LuceneQueryProvider queryProvider; + private Query query; private InternalCache mockCache; @@ -120,7 +120,7 @@ public class LuceneQueryFunctionJUnitTest { List<EntryScore> hits = result.getEntries().getHits(); assertEquals(5, hits.size()); - TopEntriesJUnitTest.verifyResultOrder(result.getEntries().getHits(), r1_1, r2_1, r1_2, r2_2, + LuceneTestUtilities.verifyResultOrder(result.getEntries().getHits(), r1_1, r2_1, r1_2, r2_2, r1_3); } @@ -161,7 +161,7 @@ public class LuceneQueryFunctionJUnitTest { List<EntryScore> hits = result.getEntries().getHits(); assertEquals(3, hits.size()); - TopEntriesJUnitTest.verifyResultOrder(result.getEntries().getHits(), r1_1, r2_1, r1_2); + LuceneTestUtilities.verifyResultOrder(result.getEntries().getHits(), r1_1, r2_1, r1_2); } @Test http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorJUnitTest.java index 3bfebdf..5767390 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorJUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorJUnitTest.java @@ -26,21 +26,22 @@ import org.junit.experimental.categories.Category; import org.apache.geode.CopyHelper; import org.apache.geode.cache.lucene.internal.LuceneServiceImpl; import org.apache.geode.cache.lucene.internal.distributed.TopEntriesCollectorManager.ListScanner; +import org.apache.geode.cache.lucene.test.LuceneTestUtilities; import org.apache.geode.test.junit.categories.UnitTest; @Category(UnitTest.class) public class TopEntriesCollectorJUnitTest { - private EntryScore<String> r1_1 = new EntryScore<String>("1-1", .9f); - private EntryScore<String> r1_2 = new EntryScore<String>("1-2", .7f); - private EntryScore<String> r1_3 = new EntryScore<String>("1-3", .5f); + private EntryScore<String> r1_1 = new EntryScore<>("1-1", .9f); + private EntryScore<String> r1_2 = new EntryScore<>("1-2", .7f); + private EntryScore<String> r1_3 = new EntryScore<>("1-3", .5f); - private EntryScore<String> r2_1 = new EntryScore<String>("2-1", .85f); - private EntryScore<String> r2_2 = new EntryScore<String>("2-2", .65f); + private EntryScore<String> r2_1 = new EntryScore<>("2-1", .85f); + private EntryScore<String> r2_2 = new EntryScore<>("2-2", .65f); - private EntryScore<String> r3_1 = new EntryScore<String>("3-1", .8f); - private EntryScore<String> r3_2 = new EntryScore<String>("3-2", .6f); - private EntryScore<String> r3_3 = new EntryScore<String>("3-3", .4f); + private EntryScore<String> r3_1 = new EntryScore<>("3-1", .8f); + private EntryScore<String> r3_2 = new EntryScore<>("3-2", .6f); + private EntryScore<String> r3_3 = new EntryScore<>("3-3", .4f); private TopEntriesCollectorManager manager; @@ -72,7 +73,7 @@ public class TopEntriesCollectorJUnitTest { TopEntriesCollector hits = manager.reduce(collectors); assertEquals(8, hits.getEntries().getHits().size()); - TopEntriesJUnitTest.verifyResultOrder(hits.getEntries().getHits(), r1_1, r2_1, r3_1, r1_2, r2_2, + LuceneTestUtilities.verifyResultOrder(hits.getEntries().getHits(), r1_1, r2_1, r3_1, r1_2, r2_2, r3_2, r1_3, r3_3); // input collector should not change @@ -116,7 +117,7 @@ public class TopEntriesCollectorJUnitTest { c1.collect(r1_3.getKey(), r1_3.getScore()); assertEquals(3, c1.getEntries().getHits().size()); - TopEntriesJUnitTest.verifyResultOrder(c1.getEntries().getHits(), r1_1, r1_2, r1_3); + LuceneTestUtilities.verifyResultOrder(c1.getEntries().getHits(), r1_1, r1_2, r1_3); ListScanner scanner = new ListScanner(c1.getEntries().getHits()); assertTrue(scanner.hasNext()); @@ -131,6 +132,6 @@ public class TopEntriesCollectorJUnitTest { assertFalse(scanner.hasNext()); assertEquals(3, c1.getEntries().getHits().size()); - TopEntriesJUnitTest.verifyResultOrder(c1.getEntries().getHits(), r1_1, r1_2, r1_3); + LuceneTestUtilities.verifyResultOrder(c1.getEntries().getHits(), r1_1, r1_2, r1_3); } } http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollectorJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollectorJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollectorJUnitTest.java index bf08877..5fd9e2d 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollectorJUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesFunctionCollectorJUnitTest.java @@ -12,7 +12,6 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ - package org.apache.geode.cache.lucene.internal.distributed; import static org.junit.Assert.*; @@ -20,9 +19,7 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; import java.util.Collection; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; import org.junit.Assert; import org.junit.Before; @@ -31,25 +28,26 @@ import org.junit.experimental.categories.Category; import org.mockito.ArgumentMatcher; import org.mockito.Mockito; -import org.apache.geode.CancelCriterion; -import org.apache.geode.cache.execute.FunctionException; -import org.apache.geode.internal.cache.GemFireCacheImpl; +import org.apache.geode.cache.lucene.test.LuceneTestUtilities; +import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.test.junit.categories.UnitTest; @Category(UnitTest.class) public class TopEntriesFunctionCollectorJUnitTest { - EntryScore<String> r1_1; - EntryScore<String> r1_2; - EntryScore<String> r2_1; - EntryScore<String> r2_2; - TopEntriesCollector result1, result2; + + private EntryScore<String> r1_1; + private EntryScore<String> r1_2; + private EntryScore<String> r2_1; + private EntryScore<String> r2_2; + private TopEntriesCollector result1; + private TopEntriesCollector result2; @Before public void initializeCommonObjects() { - r1_1 = new EntryScore<String>("3", .9f); - r1_2 = new EntryScore<String>("1", .8f); - r2_1 = new EntryScore<String>("2", 0.85f); - r2_2 = new EntryScore<String>("4", 0.1f); + r1_1 = new EntryScore<>("3", .9f); + r1_2 = new EntryScore<>("1", .8f); + r2_1 = new EntryScore<>("2", 0.85f); + r2_2 = new EntryScore<>("4", 0.1f); result1 = new TopEntriesCollector(null); result1.collect(r1_1); @@ -73,13 +71,9 @@ public class TopEntriesFunctionCollectorJUnitTest { collector.addResult(null, result1); collector.addResult(null, result2); - final CountDownLatch insideThread = new CountDownLatch(1); - final CountDownLatch resultReceived = new CountDownLatch(1); - - final AtomicReference<TopEntries> result = new AtomicReference<>(); TopEntries merged = collector.getResult(1, TimeUnit.SECONDS); assertEquals(4, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); } @Test @@ -95,7 +89,7 @@ public class TopEntriesFunctionCollectorJUnitTest { TopEntries merged = collector.getResult(); Assert.assertNotNull(merged); assertEquals(3, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2); } @Test @@ -108,7 +102,7 @@ public class TopEntriesFunctionCollectorJUnitTest { TopEntries merged = collector.getResult(); Assert.assertNotNull(merged); assertEquals(4, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); } @Test @@ -121,12 +115,12 @@ public class TopEntriesFunctionCollectorJUnitTest { TopEntries merged = collector.getResult(); Assert.assertNotNull(merged); assertEquals(4, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); merged = collector.getResult(); Assert.assertNotNull(merged); assertEquals(4, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r1_1, r2_1, r1_2, r2_2); } @Test @@ -167,7 +161,7 @@ public class TopEntriesFunctionCollectorJUnitTest { TopEntries merged = collector.getResult(); Assert.assertNotNull(merged); assertEquals(2, merged.size()); - TopEntriesJUnitTest.verifyResultOrder(merged.getHits(), r2_1, r2_2); + LuceneTestUtilities.verifyResultOrder(merged.getHits(), r2_1, r2_2); } @Test(expected = RuntimeException.class) @@ -184,10 +178,10 @@ public class TopEntriesFunctionCollectorJUnitTest { @Test public void testCollectorName() { - GemFireCacheImpl mockCache = mock(GemFireCacheImpl.class); + InternalCache mockCache = mock(InternalCache.class); Mockito.doReturn("server").when(mockCache).getName(); TopEntriesFunctionCollector function = new TopEntriesFunctionCollector(null, mockCache); - assertEquals("server", function.id); + assertEquals("server", function.id()); } } http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesJUnitTest.java index fcfebbc..e21ac7f 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesJUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesJUnitTest.java @@ -16,9 +16,6 @@ package org.apache.geode.cache.lucene.internal.distributed; import static org.junit.Assert.*; -import java.util.Collection; -import java.util.Iterator; - import org.jmock.Mockery; import org.jmock.lib.concurrent.Synchroniser; import org.jmock.lib.legacy.ClassImposteriser; @@ -30,6 +27,7 @@ import org.junit.experimental.categories.Category; import org.apache.geode.CopyHelper; import org.apache.geode.cache.lucene.LuceneQueryFactory; import org.apache.geode.cache.lucene.internal.LuceneServiceImpl; +import org.apache.geode.cache.lucene.test.LuceneTestUtilities; import org.apache.geode.test.junit.categories.UnitTest; @Category(UnitTest.class) @@ -44,34 +42,34 @@ public class TopEntriesJUnitTest { @Test public void testPopulateTopEntries() { - TopEntries<String> hits = new TopEntries<String>(); + TopEntries<String> hits = new TopEntries<>(); hits.addHit(r1_1); hits.addHit(r2_1); hits.addHit(r1_2); hits.addHit(r2_2); assertEquals(4, hits.size()); - verifyResultOrder(hits.getHits(), r1_1, r2_1, r1_2, r2_2); + LuceneTestUtilities.verifyResultOrder(hits.getHits(), r1_1, r2_1, r1_2, r2_2); } @Test public void putSameScoreEntries() { - TopEntries<String> hits = new TopEntries<String>(); - EntryScore<String> r1 = new EntryScore<String>("1", .8f); - EntryScore<String> r2 = new EntryScore<String>("2", .8f); + TopEntries<String> hits = new TopEntries<>(); + EntryScore<String> r1 = new EntryScore<>("1", .8f); + EntryScore<String> r2 = new EntryScore<>("2", .8f); hits.addHit(r1); hits.addHit(r2); assertEquals(2, hits.size()); - verifyResultOrder(hits.getHits(), r1, r2); + LuceneTestUtilities.verifyResultOrder(hits.getHits(), r1, r2); } @Test public void testInitialization() { - TopEntries<String> hits = new TopEntries<String>(); + TopEntries<String> hits = new TopEntries<>(); assertEquals(LuceneQueryFactory.DEFAULT_LIMIT, hits.getLimit()); - hits = new TopEntries<String>(123); + hits = new TopEntries<>(123); assertEquals(123, hits.getLimit()); } @@ -82,47 +80,33 @@ public class TopEntriesJUnitTest { @Test public void enforceLimit() throws Exception { - TopEntries<String> hits = new TopEntries<String>(3); + TopEntries<String> hits = new TopEntries<>(3); hits.addHit(r1_1); hits.addHit(r2_1); hits.addHit(r1_2); hits.addHit(r2_2); assertEquals(3, hits.size()); - verifyResultOrder(hits.getHits(), r1_1, r2_1, r1_2); + LuceneTestUtilities.verifyResultOrder(hits.getHits(), r1_1, r2_1, r1_2); } @Test public void testSerialization() { LuceneServiceImpl.registerDataSerializables(); - TopEntries<String> hits = new TopEntries<String>(3); + TopEntries<String> hits = new TopEntries<>(3); TopEntries<String> copy = CopyHelper.deepCopy(hits); assertEquals(3, copy.getLimit()); assertEquals(0, copy.getHits().size()); - hits = new TopEntries<String>(3); + hits = new TopEntries<>(3); hits.addHit(r1_1); hits.addHit(r2_1); hits.addHit(r1_2); copy = CopyHelper.deepCopy(hits); assertEquals(3, copy.size()); - verifyResultOrder(copy.getHits(), r1_1, r2_1, r1_2); - } - - // TODO: extract to lucene test util class - public static void verifyResultOrder(Collection<EntryScore<String>> list, - EntryScore<String>... expectedEntries) { - Iterator<EntryScore<String>> iter = list.iterator(); - for (EntryScore expectedEntry : expectedEntries) { - if (!iter.hasNext()) { - fail(); - } - EntryScore toVerify = iter.next(); - assertEquals(expectedEntry.getKey(), toVerify.getKey()); - assertEquals(expectedEntry.getScore(), toVerify.getScore(), .0f); - } + LuceneTestUtilities.verifyResultOrder(copy.getHits(), r1_1, r2_1, r1_2); } @Before http://git-wip-us.apache.org/repos/asf/geode/blob/ef56d137/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java index 5563112..17f4dea 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java @@ -18,8 +18,10 @@ import static org.junit.Assert.*; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -44,6 +46,7 @@ import org.apache.geode.cache.lucene.LuceneService; import org.apache.geode.cache.lucene.LuceneServiceProvider; import org.apache.geode.cache.lucene.internal.LuceneIndexForPartitionedRegion; import org.apache.geode.cache.lucene.internal.LuceneServiceImpl; +import org.apache.geode.cache.lucene.internal.distributed.EntryScore; import org.apache.geode.internal.cache.LocalRegion; import org.apache.geode.internal.cache.wan.AbstractGatewaySender; import org.apache.geode.test.dunit.VM; @@ -82,6 +85,19 @@ public class LuceneTestUtilities { public static String Quarter3 = "Q3"; public static String Quarter4 = "Q4"; + public static void verifyResultOrder(Collection<EntryScore<String>> list, + EntryScore<String>... expectedEntries) { + Iterator<EntryScore<String>> iter = list.iterator(); + for (EntryScore expectedEntry : expectedEntries) { + if (!iter.hasNext()) { + fail(); + } + EntryScore toVerify = iter.next(); + assertEquals(expectedEntry.getKey(), toVerify.getKey()); + assertEquals(expectedEntry.getScore(), toVerify.getScore(), .0f); + } + } + public static class IntRangeQueryProvider implements LuceneQueryProvider { String fieldName; int lowerValue;
