@Override public boolean isOperational(ProcessId processId, boolean local) { if (local) { return operationalLocalProcesses.computeIfAbsent(processId, p -> false); } if (processId.equals(ProcessId.ELASTICSEARCH)) { return isElasticSearchAvailable(); } for (Map.Entry<ClusterProcess, Boolean> entry : operationalProcesses.entrySet()) { if (entry.getKey().getProcessId().equals(processId) && entry.getValue()) { return true; } } return false; }
@Override public boolean isOperational(ProcessId processId, boolean local) { if (local) { return operationalLocalProcesses.computeIfAbsent(processId, p -> false); } for (Map.Entry<ClusterProcess, Boolean> entry : operationalProcesses.entrySet()) { if (entry.getKey().getProcessId().equals(processId) && entry.getValue()) { return true; } } return false; }
public Set<Integer> getQueriesForPaths(Collection<Integer> pathIds, boolean checkIndexed) { // TODO: also specify: do we care about unique indexes or not.. logger.trace("getQueriesForPaths.enter; got pathIds: {}; query cache size: {}", pathIds, xqCache.size()); Set<Integer> result = new HashSet<>(); for (Map.Entry<Integer, Query> e: xqCache.entrySet()) { if (intersects(e.getValue(), pathIds, checkIndexed)) { result.add(e.getKey()); } } logger.trace("getQueriesForPaths.exit; returning: {}", result); return result; }
@Override public void clientDisconnected(Client client) { String clientId = client.getUuid(); logger.trace("clientDisconnected.enter; client: {}", clientId); // check and destroy client's resources for (Map.Entry<String, Properties> entry: clientsCache.entrySet()) { Properties props = entry.getValue(); String uuid = props.getProperty(pn_client_memberId); if (clientId.equals(uuid)) { clientsCache.remove(entry.getKey()); } } }
public Collection<Integer> getTypeIndexes(String root, boolean uniqueOnly) { Collection<Integer> result = new HashSet<>(); //idxDict.keySet(p); for (Map.Entry<Integer, Index> e: idxDict.entrySet()) { if (root.equals(e.getValue().getTypePath())) { if (uniqueOnly) { if (!e.getValue().isUnique()) { continue; } } result.add(e.getKey()); } } logger.trace("getTypeIndexes.exit; returning {} path for root: {}, unique: {}", result.size(), root, uniqueOnly); return result; }
void invalidateQueryResults(int pathId, Elements elts) { logger.trace("invalidateQueryResults.enter; pathId: {}; elts: {}", pathId, elts.getElements().size()); if (!xqCache.isEmpty()) { Map<Integer, PathExpression> queries = new HashMap<>(); for (Map.Entry<Integer, Query> e: xqCache.entrySet()) { PathExpression pex = getCachedPathExpression(e.getValue(), pathId); if (pex != null) { queries.put(e.getKey(), pex); } } if (!queries.isEmpty()) { for (Map.Entry<Integer, PathExpression> e: queries.entrySet()) { removeQueryResults(e.getKey(), e.getValue(), elts); } } } logger.trace("invalidateQueryResults.exit"); }
@ManagedAttribute(description="Return client connection properties, per client") public TabularData getClientProperties() { TabularData result = null; //HazelcastClientProxy hzProxy = (com.hazelcast.client.impl.HazelcastClientProxy) schemaManager.getHazelcastClient(); try { for (Map.Entry<String, Properties> e: clientCache.entrySet()) { Properties props = e.getValue(); props.setProperty("client", e.getKey()); props.remove(pn_schema_password); CompositeData data = propsToComposite("clients", "client props", props); result = compositeToTabular("clients", "client props", "client", result, data); } } catch (OpenDataException ex) { logger.error("getClientProperties.error: ", ex); } return result; }