/** * Process an interest request of type ALL_KEYS * * @param region * the region * @param policy * the policy * @throws IOException */ private static void handleAllKeys(LocalRegion region, InterestResultPolicy policy, ServerConnection servConn) throws IOException { ArrayList keyList = new ArrayList(maximumChunkSize); if (region != null) { for (Iterator it = region.keySet(sendTombstonesInRIResults(servConn, policy)).iterator(); it.hasNext();) { appendInterestResponseKey(region, "ALL_KEYS", it.next(), keyList, "ALL_KEYS", servConn); } } // Send the last chunk (the only chunk for individual and list keys) // always send it back, even if the list is of zero size. sendRegisterInterestResponseChunk(region, "ALL_KEYS", keyList, true, servConn); }
public void receiveSet(Set theSet) throws IOException { appendInterestResponseKeys(region, keyList, theSet, newKeyList, "list", servConn); } });
boolean shouldMasquerade = shouldMasqueradeForTx(msg, servConn); try { if (shouldMasquerade) { try { tx = txMgr.masqueradeAs(msg, member, false); cmdExecute(msg, servConn, start); } finally { txMgr.unmasquerade(tx); cmdExecute(msg, servConn, start); BaseCommand.handleEOFException(msg, servConn, eof); BaseCommand.handleInterruptedIOException(msg, servConn, e); return; BaseCommand.handleIOException(msg, servConn, e); return; BaseCommand.handleShutdownException(msg, servConn, e); return; handleExceptionNoDisconnect(msg, servConn, e); handleExceptionNoDisconnect(msg, servConn, e); handleExceptionNoDisconnect(msg, servConn, e);
if (region instanceof PartitionedRegion) { handleListPR((PartitionedRegion)region, keyList, policy, servConn); return; Object entryKey = it.next(); if (region.containsKey(entryKey) || (sendTombstonesInRIResults(servConn, policy) && region.containsTombstone(entryKey))) { appendInterestResponseKey(region, keyList, entryKey, newKeyList, "list", servConn); sendRegisterInterestResponseChunk(region, keyList, newKeyList, true, servConn);
if (region instanceof PartitionedRegion) { handleRegExPR((PartitionedRegion)region, regex, policy, servConn); return; for (Iterator it = region.keySet(sendTombstonesInRIResults(servConn, policy)).iterator(); it.hasNext();) { Object entryKey = it.next(); if (!(entryKey instanceof String)) { appendInterestResponseKey(region, regex, entryKey, keyList, "regex", servConn); sendRegisterInterestResponseChunk(region, regex, keyList, true, servConn);
sendRegisterInterestResponseChunk(region, riKey, new ArrayList(), true, servConn); return; handleList(region, (List)riKey, policy, servConn); return; handleSingleton(region, riKey, policy, servConn); return; String regEx = (String)riKey; if (regEx.equals(".*")) { handleAllKeys(region, policy, servConn); handleRegEx(region, regEx, policy, servConn); case InterestType.KEY: if (riKey.equals("ALL_KEYS")) { handleAllKeys(region, policy, servConn); handleSingleton(region, riKey, policy, servConn);
handleEOFException(null, servConn, eof); handleInterruptedIOException(null, servConn, e); handleIOException(null, servConn, e); handleShutdownException(null, servConn, e); handleThrowable(null, servConn, e);
protected static void writeException(Message origMsg, int msgType, Throwable e, boolean isSevere, ServerConnection servConn) throws IOException { Message errorMsg = servConn.getErrorResponseMessage(); errorMsg.setMessageType(msgType); errorMsg.setNumberOfParts(2); errorMsg.setTransactionId(origMsg.getTransactionId()); if (isSevere) { String msg = e.getMessage(); if (msg == null) { msg = e.toString(); } logger.fatal(LocalizedMessage.create(LocalizedStrings.BaseCommand_SEVERE_CACHE_EXCEPTION_0, msg)); } errorMsg.addObjPart(e); errorMsg.addStringPart(getExceptionTrace(e)); errorMsg.send(servConn); if (logger.isDebugEnabled()) { logger.debug("{}: Wrote exception: {}", servConn.getName(), e.getMessage(), e); } }
protected static void appendInterestResponseKeys(LocalRegion region, Object riKey, Collection entryKeys, ArrayList collector, String riDescr, ServerConnection servConn) throws IOException { for (Iterator it = entryKeys.iterator(); it.hasNext();) { appendInterestResponseKey(region, riKey, it.next(), collector, riDescr, servConn); } }
sendRegisterInterestResponseChunk(region, riKey, new ArrayList(), true, servConn); return; handleKeysValuesPolicy(region, riKey, interestType, serializeValues, servConn); return; handleList(region, (List)riKey, policy, servConn); return; handleSingleton(region, riKey, policy, servConn); return; String regEx = (String)riKey; if (regEx.equals(".*")) { handleAllKeys(region, policy, servConn); handleRegEx(region, regEx, policy, servConn); case InterestType.KEY: if (riKey.equals("ALL_KEYS")) { handleAllKeys(region, policy, servConn); handleSingleton(region, riKey, policy, servConn);
handleEOFException(null, servConn, eof); handleInterruptedIOException(null, servConn, e); handleIOException(null, servConn, e); handleShutdownException(null, servConn, e); handleThrowable(null, servConn, e);
if (region instanceof PartitionedRegion) { handleListPR((PartitionedRegion)region, keyList, policy, servConn); return; Object entryKey = it.next(); if (region.containsKey(entryKey) || (sendTombstonesInRIResults(servConn, policy) && region.containsTombstone(entryKey))) { appendInterestResponseKey(region, keyList, entryKey, newKeyList, "list", servConn); sendRegisterInterestResponseChunk(region, keyList, newKeyList, true, servConn);
if (region instanceof PartitionedRegion) { handleRegExPR((PartitionedRegion)region, regex, policy, servConn); return; for (Iterator it = region.keySet(sendTombstonesInRIResults(servConn, policy)).iterator(); it.hasNext();) { Object entryKey = it.next(); if (!(entryKey instanceof String)) { appendInterestResponseKey(region, regex, entryKey, keyList, "regex", servConn); sendRegisterInterestResponseChunk(region, regex, keyList, true, servConn);
message.setNumberOfParts(3); message.addObjPart(e); message.addStringPart(BaseCommand.getExceptionTrace(e)); InternalFunctionInvocationTargetException fe = (InternalFunctionInvocationTargetException) e.getCause(); message.addObjPart(fe.getFailedNodeSet()); message.addStringPart(BaseCommand.getExceptionTrace(e)); numParts = 2;
protected static void appendInterestResponseKeys(LocalRegion region, Object riKey, Collection entryKeys, ArrayList collector, String riDescr, ServerConnection servConn) throws IOException { for (Iterator it = entryKeys.iterator(); it.hasNext();) { appendInterestResponseKey(region, riKey, it.next(), collector, riDescr, servConn); } } }
boolean shouldMasquerade = shouldMasqueradeForTx(msg, servConn); try { if (shouldMasquerade) { try { txContext = txMgr.masqueradeAs(msg, member, true); cmdExecute(msg, servConn, start); } finally { txMgr.unmasquerade(txContext, true); cmdExecute(msg, servConn, start); BaseCommand.handleEOFException(msg, servConn, eof); BaseCommand.handleInterruptedIOException(msg, servConn, e); return; BaseCommand.handleIOException(msg, servConn, e); return; BaseCommand.handleShutdownException(msg, servConn, e); return; handleExceptionNoDisconnect(msg, servConn, e); handleExceptionNoDisconnect(msg, servConn, e); handleExceptionNoDisconnect(msg, servConn, e);
/** * Process an interest request of type ALL_KEYS * * @param region * the region * @param policy * the policy * @throws IOException */ private static void handleAllKeys(LocalRegion region, InterestResultPolicy policy, ServerConnection servConn) throws IOException { ArrayList keyList = new ArrayList(maximumChunkSize); if (region != null) { for (Iterator it = region.keySet(sendTombstonesInRIResults(servConn, policy)).iterator(); it.hasNext();) { appendInterestResponseKey(region, "ALL_KEYS", it.next(), keyList, "ALL_KEYS", servConn); } } // Send the last chunk (the only chunk for individual and list keys) // always send it back, even if the list is of zero size. sendRegisterInterestResponseChunk(region, "ALL_KEYS", keyList, true, servConn); }
chunkedResponseMsg.addObjPart(e); if (numOfParts == 2) { chunkedResponseMsg.addStringPart(getExceptionTrace(e)); chunkedResponseMsg.addObjPart(e); if (numOfParts == 2) { chunkedResponseMsg.addStringPart(getExceptionTrace(e));
public void receiveSet(Set theSet) throws IOException { appendInterestResponseKeys(region, regex, theSet, keyList, "regex", servConn); } });
/** * Process an interest request consisting of a single key * * @param region * the region * @param entryKey * the key * @param policy * the policy * @throws IOException */ private static void handleSingleton(LocalRegion region, Object entryKey, InterestResultPolicy policy, ServerConnection servConn) throws IOException { ArrayList keyList = new ArrayList(1); if (region != null) { if (region.containsKey(entryKey) || (sendTombstonesInRIResults(servConn, policy) && region.containsTombstone(entryKey))) { appendInterestResponseKey(region, entryKey, entryKey, keyList, "individual", servConn); } } // Send the last chunk (the only chunk for individual and list keys) // always send it back, even if the list is of zero size. sendRegisterInterestResponseChunk(region, entryKey, keyList, true, servConn); }