public boolean contains(final Object key) { boolean retval = false; for (GMSCacheable c : cache.keySet()) { if (logger.isLoggable(FINER)) { logger.log(FINER, new StringBuffer().append("key=").append(key).append(" underlying key=").append(c.getKey()).toString()); } if (key.equals(c.getKey())) { retval = true; } } return retval; }
public boolean contains(final Object key) { boolean retval = false; for (GMSCacheable c : cache.keySet()) { if (logger.isLoggable(FINER)) { logger.log(FINER, new StringBuffer().append("key=").append(key).append(" underlying key=").append(c.getKey()).toString()); } if (key.equals(c.getKey())) { retval = true; } } return retval; }
private Map<Serializable, Serializable> getEntryFromCacheForPattern(final String componentName, final String memberToken) { Map<Serializable, Serializable> retval = new Hashtable<Serializable, Serializable>(); for (GMSCacheable c : cache.keySet()) { if (componentName.equals(c.getComponentName())) { if (memberToken.equals(c.getMemberTokenId())) { retval.put((Serializable) c.getKey(), (Serializable) cache.get(c)); } } } return retval; }
public Map<GMSCacheable, Object> getFromCache(final Object key) { final Map<GMSCacheable, Object> retval = new Hashtable<GMSCacheable, Object>(); for (GMSCacheable c : cache.keySet()) { if (key.equals(c.getComponentName()) || key.equals(c.getMemberTokenId()) || key.equals(c.getKey())) { retval.put(c, cache.get(c)); } } return retval; }
public boolean contains(final String componentName, final Object key) { boolean retval = false; for (GMSCacheable c : cache.keySet()) { if (logger.isLoggable(FINER)) { logger.log(FINER, new StringBuffer().append("comp=").append(componentName).append(" underlying comp=").append(c.getComponentName()).toString()); logger.log(FINER, new StringBuffer().append("key=").append(key).append(" underlying key=").append(c.getKey()).toString()); } if (key.equals(c.getKey()) && componentName.equals(c.getComponentName())) { retval = true; } } return retval; }
private Map<Serializable, Serializable> getEntryFromCacheForPattern(final String componentName, final String memberToken) { Map<Serializable, Serializable> retval = new Hashtable<Serializable, Serializable>(); for (GMSCacheable c : cache.keySet()) { if (componentName.equals(c.getComponentName())) { if (memberToken.equals(c.getMemberTokenId())) { retval.put((Serializable) c.getKey(), (Serializable) cache.get(c)); } } } return retval; }
public boolean contains(final String componentName, final Object key) { boolean retval = false; for (GMSCacheable c : cache.keySet()) { if (logger.isLoggable(FINER)) { logger.log(FINER, new StringBuffer().append("comp=").append(componentName).append(" underlying comp=").append(c.getComponentName()).toString()); logger.log(FINER, new StringBuffer().append("key=").append(key).append(" underlying key=").append(c.getKey()).toString()); } if (key.equals(c.getKey()) && componentName.equals(c.getComponentName())) { retval = true; } } return retval; }
public Map<GMSCacheable, Object> getFromCache(final Object key) { final Map<GMSCacheable, Object> retval = new Hashtable<GMSCacheable, Object>(); for (GMSCacheable c : cache.keySet()) { if (key.equals(c.getComponentName()) || key.equals(c.getMemberTokenId()) || key.equals(c.getKey())) { retval.put(c, cache.get(c)); } } return retval; }
private List<String> getRecoveriesInProgressByFailedMember(final String token) { final List<String> tokens = new ArrayList<String>(); final DistributedStateCache dsc = getGMSContext().getDistributedStateCache(); final Map<GMSCacheable, Object> entries = dsc.getFromCache(token); for (Map.Entry<GMSCacheable,Object> entry : entries.entrySet()) { GMSCacheable gmsCacheable = entry.getKey(); //if this member is recovering someone else if (token.equals(gmsCacheable.getMemberTokenId()) && !token.equals(gmsCacheable.getKey())) { if (entry.getValue() instanceof String) { if (((String) entry.getValue()).startsWith(REC_PROGRESS_STATE)) { if (logger.isLoggable(Level.FINER)){ logger.log(Level.FINER, new StringBuffer("Failed Member ").append(token) .append(" had recovery-in-progress for ") .append(gmsCacheable.getKey()).append(" when ") .append(token).append(" failed. ").toString()); } tokens.add((String) gmsCacheable.getKey()); RecoveryTargetSelector.setRecoverySelectionState( getGMSContext().getServerIdentityToken(), (String) gmsCacheable.getKey(), getGMSContext().getGroupName()); } } } } return tokens; }
private List<String> getRecoveriesInProgressByFailedMember(final String token) { final List<String> tokens = new ArrayList<String>(); final DistributedStateCache dsc = getGMSContext().getDistributedStateCache(); final Map<GMSCacheable, Object> entries = dsc.getFromCache(token); for (Map.Entry<GMSCacheable,Object> entry : entries.entrySet()) { GMSCacheable gmsCacheable = entry.getKey(); //if this member is recovering someone else if (token.equals(gmsCacheable.getMemberTokenId()) && !token.equals(gmsCacheable.getKey())) { if (entry.getValue() instanceof String) { if (((String) entry.getValue()).startsWith(REC_PROGRESS_STATE)) { if (logger.isLoggable(Level.FINER)){ logger.log(Level.FINER, new StringBuffer("Failed Member ").append(token) .append(" had recovery-in-progress for ") .append(gmsCacheable.getKey()).append(" when ") .append(token).append(" failed. ").toString()); } tokens.add((String) gmsCacheable.getKey()); RecoveryTargetSelector.setRecoverySelectionState( getGMSContext().getServerIdentityToken(), (String) gmsCacheable.getKey(), getGMSContext().getGroupName()); } } } } return tokens; }
private void removeRecoveryAppointments( final Map<GMSCacheable, Object> fromCache, final String failedMemberToken, final String componentName) throws GMSException { if (isWatchdog()) { return; } final DistributedStateCache dsc = getGMSContext() .getDistributedStateCache(); for (final Map.Entry<GMSCacheable, Object> entry : fromCache.entrySet()) { final GMSCacheable cKey = entry.getKey(); if (cKey.getKey().equals(failedMemberToken) && cKey.getComponentName().equals(componentName) && entry.getValue().toString().startsWith(REC_APPOINTED_STATE)) { if (logger.isLoggable(Level.FINE)){ logger.log(Level.FINE, "remove RecoveryAppointment componentName: " + componentName + " failedMember:" + failedMemberToken + "value=" + entry.getValue().toString()); } dsc.removeFromCache(cKey.getComponentName(), cKey.getMemberTokenId(), (Serializable) cKey.getKey()); } } }
private void removeRecoveryAppointments( final Map<GMSCacheable, Object> fromCache, final String failedMemberToken, final String componentName) throws GMSException { if (isWatchdog()) { return; } final DistributedStateCache dsc = getGMSContext() .getDistributedStateCache(); for (final Map.Entry<GMSCacheable, Object> entry : fromCache.entrySet()) { final GMSCacheable cKey = entry.getKey(); if (cKey.getKey().equals(failedMemberToken) && cKey.getComponentName().equals(componentName) && entry.getValue().toString().startsWith(REC_APPOINTED_STATE)) { if (logger.isLoggable(Level.FINE)){ logger.log(Level.FINE, "remove RecoveryAppointment componentName: " + componentName + " failedMember:" + failedMemberToken + "value=" + entry.getValue().toString()); } dsc.removeFromCache(cKey.getComponentName(), cKey.getMemberTokenId(), (Serializable) cKey.getKey()); } } }
GMSCacheable gmsCacheable = entry.getKey(); if (token.equals(gmsCacheable.getMemberTokenId()) && !token.equals(gmsCacheable.getKey())) { if (entry.getValue() instanceof String) { if (((String) entry.getValue()).startsWith(REC_APPOINTED_STATE) && !currentCoreMembers.contains(gmsCacheable.getKey())) { if (logger.isLoggable(Level.FINER)){ .append(token) .append(" was appointed for recovery of ") .append(gmsCacheable.getKey()) .append(" when ").append(token) .append(" failed. ") .toString()); tokens.add((String) gmsCacheable.getKey()); try { dsc.removeFromCache(gmsCacheable.getComponentName(), gmsCacheable.getMemberTokenId(), (Serializable) gmsCacheable.getKey()); RecoveryTargetSelector.setRecoverySelectionState( getGMSContext().getServerIdentityToken(), (String) gmsCacheable.getKey(), getGMSContext().getGroupName()); } catch (GMSException e) {
GMSCacheable gmsCacheable = entry.getKey(); if (token.equals(gmsCacheable.getMemberTokenId()) && !token.equals(gmsCacheable.getKey())) { if (entry.getValue() instanceof String) { if (((String) entry.getValue()).startsWith(REC_APPOINTED_STATE) && !currentCoreMembers.contains(gmsCacheable.getKey())) { if (logger.isLoggable(Level.FINER)){ .append(token) .append(" was appointed for recovery of ") .append(gmsCacheable.getKey()) .append(" when ").append(token) .append(" failed. ") .toString()); tokens.add((String) gmsCacheable.getKey()); try { dsc.removeFromCache(gmsCacheable.getComponentName(), gmsCacheable.getMemberTokenId(), (Serializable) gmsCacheable.getKey()); RecoveryTargetSelector.setRecoverySelectionState( getGMSContext().getServerIdentityToken(), (String) gmsCacheable.getKey(), getGMSContext().getGroupName()); } catch (GMSException e) {
final GMSCacheable c = entry.getKey(); if (componentName.equals(c.getComponentName())) { //if this member is being recovered by someone if (memberToken.equals(c.getKey())) { //if this is an old record of a self recovery then ignore if (!memberToken.equals(c.getMemberTokenId())) { if (((String) entry.getValue())
final GMSCacheable c = entry.getKey(); if (componentName.equals(c.getComponentName())) { //if this member is being recovered by someone if (memberToken.equals(c.getKey())) { //if this is an old record of a self recovery then ignore if (!memberToken.equals(c.getMemberTokenId())) { if (((String) entry.getValue())