private static GMSCacheable createCompositeKey( final String componentName, final String memberTokenId, final Object key) { return new GMSCacheable(componentName, memberTokenId, key); }
private GMSCacheable getTrueKey(GMSCacheable cKey) { final Set<GMSCacheable> keys; keys = cache.keySet(); for (GMSCacheable comp : keys) { if (comp.equals(cKey)) { cKey = comp; break; } } return cKey; }
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; }
private String getDSCContents() { final StringBuffer buf = new StringBuffer(); final ConcurrentHashMap<GMSCacheable, Object> copy; copy = new ConcurrentHashMap<GMSCacheable, Object>(cache); for (Map.Entry<GMSCacheable, Object> entry : copy.entrySet()) { buf.append(entry.getKey().hashCode()).append(" key=") .append(entry.getKey().toString()) .append(" : value=") .append(entry.getValue()) .append("\n"); } return buf.toString(); }
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; }
for (Map.Entry<GMSCacheable, Object> entry : entries.entrySet()) { 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()) .startsWith(REC_PROGRESS_STATE)) { if (logger.isLoggable(Level.FINER)){ logger.log(Level.FINER, c.toString() + " value:" + entry.getValue()); logger.log(Level.FINER,"Returning true for isFenced query");
public Map<Serializable, Serializable> getAllMemberDetails(final Serializable key) { final Map<Serializable, Serializable> retval = new HashMap<Serializable, Serializable>(); if (isWatchdog()) { return retval; } final Map<GMSCacheable, Object> ret = ctx.getDistributedStateCache().getFromCache(key); for (Map.Entry<GMSCacheable, Object> entry: ret.entrySet()) { GMSCacheable c = entry.getKey(); if (c.getComponentName().equals(MEMBER_DETAILS)) { retval.put(c.getMemberTokenId(), (Serializable) entry.getValue()); } } 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; }
public void addToLocalCache(GMSCacheable cKey, final Object state) { cKey = getTrueKey(cKey); if (logger.isLoggable(Level.FINEST)) { logger.log(Level.FINEST, "Adding cKey=" + cKey.toString() + " state=" + state.toString()); } cache.put(cKey, state); notifyCacheUpdate(); printDSCContents(); }
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; }
for (Map.Entry<GMSCacheable, Object> entry : entries.entrySet()) { 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()) .startsWith(REC_PROGRESS_STATE)) { if (logger.isLoggable(Level.FINER)){ logger.log(Level.FINER, c.toString() + " value:" + entry.getValue()); logger.log(Level.FINER,"Returning true for isFenced query");
private String getDSCContents() { final StringBuffer buf = new StringBuffer(); final ConcurrentHashMap<GMSCacheable, Object> copy; copy = new ConcurrentHashMap<GMSCacheable, Object>(cache); for (Map.Entry<GMSCacheable, Object> entry : copy.entrySet()) { buf.append(entry.getKey().hashCode()).append(" key=") .append(entry.getKey().toString()) .append(" : value=") .append(entry.getValue()) .append("\n"); } return buf.toString(); }
public Map<Serializable, Serializable> getAllMemberDetails(final Serializable key) { final Map<Serializable, Serializable> retval = new HashMap<Serializable, Serializable>(); if (isWatchdog()) { return retval; } final Map<GMSCacheable, Object> ret = ctx.getDistributedStateCache().getFromCache(key); for (Map.Entry<GMSCacheable, Object> entry: ret.entrySet()) { GMSCacheable c = entry.getKey(); if (c.getComponentName().equals(MEMBER_DETAILS)) { retval.put(c.getMemberTokenId(), (Serializable) entry.getValue()); } } 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 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; }
public void addToLocalCache(GMSCacheable cKey, final Object state) { cKey = getTrueKey(cKey); if (logger.isLoggable(Level.FINEST)) { logger.log(Level.FINEST, "Adding cKey=" + cKey.toString() + " state=" + state.toString()); } cache.put(cKey, state); notifyCacheUpdate(); printDSCContents(); }
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; }
private static GMSCacheable createCompositeKey( final String componentName, final String memberTokenId, final Object key) { return new GMSCacheable(componentName, memberTokenId, key); }
private GMSCacheable getTrueKey(GMSCacheable cKey) { final Set<GMSCacheable> keys; keys = cache.keySet(); for (GMSCacheable comp : keys) { if (comp.equals(cKey)) { cKey = comp; break; } } return cKey; }