public static long setAuthAttributes(ServerConnection connection) throws Exception{ try { connection.getLogger().fine("setAttributes()"); Principal principal = ((HandShake)connection.getHandshake()).verifyCredentials(); connection.setPrincipal(principal);//TODO:hitesh is this require now ??? return getUniqueId(connection, principal); }catch(Exception ex) { throw ex; } }
public ServerToClientFunctionResultSender(ChunkedMessage msg, int messageType, ServerConnection sc, Function function, ExecuteFunctionOperationContext authzContext) { this.msg = msg; this.msg.setVersion(sc.getClientVersion()); this.messageType = messageType; this.sc = sc; this.fn = function; this.authContext = authzContext; this.logger = sc.getLogger(); this.isSelector = sc.getAcceptor().isSelector(); if(this.isSelector){ this.commBuffer = msg.getCommBuffer(); } }
private static void handleInterruptedIOException(Message msg, ServerConnection servConn, Exception e) { LogWriterI18n logger = servConn.getLogger(); CachedRegionHelper crHelper = servConn.getCachedRegionHelper(); if (!crHelper.isShutdown() && servConn.isOpen()) { if (!suppressIOExceptionLogging) { if (logger.fineEnabled()) logger.fine("Aborted message due to interrupt: " + e); } } servConn.setFlagProcessMessagesAsFalse(); }
private static void writeContainsKeyResponse(boolean containsKey, Message origMsg, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message responseMsg = servConn.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setNumberOfParts(1); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.addObjPart(containsKey ? Boolean.TRUE : Boolean.FALSE); responseMsg.send(servConn, logger, origMsg.getTransactionId()); }
private static void writeContainsKeyResponse(boolean containsKey, Message origMsg, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message responseMsg = servConn.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setNumberOfParts(1); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.addObjPart(containsKey ? Boolean.TRUE : Boolean.FALSE); responseMsg.send(servConn, logger, origMsg.getTransactionId()); }
private static void writeSizeResponse(Integer sizeCount, Message origMsg, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message responseMsg = servConn.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setNumberOfParts(1); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.addObjPart(sizeCount); responseMsg.send(servConn, logger, origMsg.getTransactionId()); }
private static void writeBatchException(Message origMsg, Throwable e, int index, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Exception be = new BatchException(e, index); Message errorMsg = servConn.getErrorResponseMessage(); errorMsg.setMessageType(MessageType.EXCEPTION); errorMsg.setNumberOfParts(2); errorMsg.setTransactionId(origMsg.getTransactionId()); errorMsg.addObjPart(be); errorMsg.addStringPart(be.toString()); errorMsg.send(servConn);//TODO:hitesh is this user initiative if (logger.warningEnabled()) { // Log a warning if necessary. Only log RegionDestroyedExceptions once per region. boolean logWarning = true; if (e instanceof RegionDestroyedException) { RegionDestroyedException rde = (RegionDestroyedException) e; synchronized (notFoundRegionsSync) { if (notFoundRegions.contains(rde.getRegionFullPath())) { logWarning = false; } else { notFoundRegions.add(rde.getRegionFullPath()); } } } if (logWarning) { logger.warning( LocalizedStrings.ProcessBatch_0_WROTE_BATCH_EXCEPTION, servConn.getName(), be); } } }
private static void sendGetAllResponseChunk(Region region, ObjectPartList list, boolean lastChunk, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); ChunkedMessage chunkedResponseMsg = servConn.getChunkedResponseMessage(); chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(lastChunk); chunkedResponseMsg.addObjPart(list, zipValues); if (logger.fineEnabled()) { String str = servConn.getName() + ": Sending" + (lastChunk ? " last " : " ") + "getAll response chunk for region=" + region.getFullPath() + " values=" + list + " chunk=<" + chunkedResponseMsg + ">"; logger.fine(str); } chunkedResponseMsg.sendChunk(servConn); }
protected static void writeException(Message origMsg, int msgType, Throwable e, boolean isSevere, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); 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(); } if (logger.severeEnabled()) { logger.severe(LocalizedStrings.BaseCommand_SEVERE_CACHE_EXCEPTION_0, msg); } } errorMsg.addObjPart(e); errorMsg.addStringPart(getExceptionTrace(e)); errorMsg.send(servConn); if (logger.fineEnabled()) { logger.fine(servConn.getName() + ": Wrote exception: ", e); } }
private static void sendGetAllResponseChunk(Region region, ObjectPartList651 list, boolean lastChunk, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); ChunkedMessage chunkedResponseMsg = servConn.getChunkedResponseMessage(); chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(lastChunk); chunkedResponseMsg.addObjPart(list, zipValues); if (logger.fineEnabled()) { String str = servConn.getName() + ": Sending" + (lastChunk ? " last " : " ") + "getAll response chunk for region=" + region.getFullPath() + " values=" + list + " chunk=<" + chunkedResponseMsg + ">"; logger.fine(str); } chunkedResponseMsg.sendChunk(servConn); }
private static void sendGetAllResponseChunk(Region region, ObjectPartList list, boolean lastChunk, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); ChunkedMessage chunkedResponseMsg = servConn.getChunkedResponseMessage(); chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(lastChunk); chunkedResponseMsg.addObjPart(list, zipValues); if (logger.fineEnabled()) { String str = servConn.getName() + ": Sending" + (lastChunk ? " last " : " ") + "getAll response chunk for region=" + region.getFullPath() + (logger.finerEnabled()? " values=" + list + " chunk=<" + chunkedResponseMsg + ">" : ""); logger.fine(str); } chunkedResponseMsg.sendChunk(servConn); }
private static void sendKeySetResponseChunk(Region region, List list, boolean lastChunk, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); ChunkedMessage chunkedResponseMsg = servConn.getChunkedResponseMessage(); chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(lastChunk); chunkedResponseMsg.addObjPart(list, zipValues); if (logger.fineEnabled()) { String str = servConn.getName() + ": Sending" + (lastChunk ? " last " : " ") + "key set response chunk for region=" + region.getFullPath(); if (logger.finerEnabled()) { str = str + " keys=" + list + " chunk=<" + chunkedResponseMsg + ">"; } logger.fine(str); } chunkedResponseMsg.sendChunk(servConn); }
/** * @param list * is a List of entry keys */ protected static void sendRegisterInterestResponseChunk(Region region, Object riKey, ArrayList list, boolean lastChunk, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); ChunkedMessage chunkedResponseMsg = servConn.getRegisterInterestResponseMessage(); chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(lastChunk); chunkedResponseMsg.addObjPart(list, zipValues); String regionName = (region == null) ? " null " : region.getFullPath(); if (logger.fineEnabled()) { String str = servConn.getName() + ": Sending" + (lastChunk ? " last " : " ") + "register interest response chunk for region: " + regionName + " for keys: " + riKey + " chunk=<" + chunkedResponseMsg + ">"; logger.fine(str); } chunkedResponseMsg.sendChunk(servConn); }
private static void handleShutdownException(Message msg, ServerConnection servConn, Exception e) { LogWriterI18n logger = servConn.getLogger(); CachedRegionHelper crHelper = servConn.getCachedRegionHelper(); boolean potentialModification = servConn.getPotentialModification(); if (!crHelper.isShutdown()) { if (potentialModification) { int transId = (msg != null) ? msg.getTransactionId() : Integer.MIN_VALUE; if (logger.warningEnabled()) { logger.warning( LocalizedStrings.BaseCommand_0_UNEXPECTED_SHUTDOWNEXCEPTION_DURING_OPERATION_ON_REGION_1_KEY_2_MESSAGEID_3, new Object[] {servConn.getName(), servConn.getModRegion(), servConn.getModKey(), Integer.valueOf(transId)}, e); } } else { if (logger.warningEnabled()) { logger.warning( LocalizedStrings.BaseCommand_0_UNEXPECTED_SHUTDOWNEXCEPTION, servConn.getName(),e); } } } servConn.setFlagProcessMessagesAsFalse(); }
private static void handleIOException(Message msg, ServerConnection servConn, Exception e) { LogWriterI18n logger = servConn.getLogger(); CachedRegionHelper crHelper = servConn.getCachedRegionHelper(); boolean potentialModification = servConn.getPotentialModification(); if (!crHelper.isShutdown() && servConn.isOpen()) { if (!suppressIOExceptionLogging) { if (potentialModification) { int transId = (msg != null) ? msg.getTransactionId() : Integer.MIN_VALUE; if (logger.warningEnabled()) { logger.warning( LocalizedStrings.BaseCommand_0_UNEXPECTED_IOEXCEPTION_DURING_OPERATION_FOR_REGION_1_KEY_2_MESSID_3, new Object[] {servConn.getName(), servConn.getModRegion(), servConn.getModKey(), Integer.valueOf(transId)}, e); } } else { if (logger.warningEnabled()) { logger.warning( LocalizedStrings.BaseCommand_0_UNEXPECTED_IOEXCEPTION, servConn.getName(), e); } } } } servConn.setFlagProcessMessagesAsFalse(); }
private static void writeBatchException(Message origMsg, List<BatchException70> exceptions, ServerConnection servConn, int batchId) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message errorMsg = servConn.getErrorResponseMessage(); errorMsg.setMessageType(MessageType.EXCEPTION); errorMsg.setNumberOfParts(2); errorMsg.setTransactionId(origMsg.getTransactionId()); errorMsg.addObjPart(exceptions); //errorMsg.addStringPart(be.toString()); errorMsg.send(servConn); for(Exception e: exceptions) { ((GatewayReceiverStats)servConn.getCacheServerStats()).incExceptionsOccured(); } for(Exception be: exceptions) { if (logger.warningEnabled()) { logger.warning(LocalizedStrings.ProcessBatch_0_WROTE_BATCH_EXCEPTION, servConn.getName(), be); } } } }
protected void writeReply(Message origMsg, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message replyMsg = servConn.getReplyMessage(); servConn.getCache().getCancelCriterion().checkCancelInProgress(null); replyMsg.setMessageType(MessageType.REPLY); //TODO:hitesh need to chk this, why it is setting one ?? replyMsg.setNumberOfParts(1); replyMsg.setTransactionId(origMsg.getTransactionId()); replyMsg.addBytesPart(OK_BYTES); replyMsg.send(servConn); if (logger.finerEnabled()) { logger.finer(servConn.getName() + ": rpl tx: " + origMsg.getTransactionId()); } } protected void writeReplyWithRefreshMetadata(Message origMsg,
protected static void writeCommitResponse(TXRemoteCommitMessage response, Message origMsg, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); Message responseMsg = servConn.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.setNumberOfParts(1); //response.setClientVersion(servConn.getClientVersion()); responseMsg.addObjPart(response, zipValues); servConn.getCache().getCancelCriterion().checkCancelInProgress(null); if (logger.fineEnabled()) { logger.fine("TX: sending a " + (response == null ? "null" : "nonNull") + " for transaction:" + origMsg.getTransactionId()); /* TODO: merge: update for client TX + new TXId((InternalDistributedMember) servConn.getProxyID() .getDistributedMember(), origMsg.getTransactionId())); */ } responseMsg.send(servConn); origMsg.flush(); }
protected static void writeKeySetErrorResponse(Message origMsg, int messageType, String message, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); // Send chunked response header identifying error message ChunkedMessage chunkedResponseMsg = servConn.getKeySetResponseMessage(); if (logger.fineEnabled()) { logger.fine(servConn.getName() + ": Sending error message header type: " + messageType + " transaction: " + origMsg.getTransactionId()); } chunkedResponseMsg.setMessageType(messageType); chunkedResponseMsg.setTransactionId(origMsg.getTransactionId()); chunkedResponseMsg.sendHeader(); // Send actual error if (logger.fineEnabled()) { logger.fine(servConn.getName() + ": Sending error message chunk: " + message); } chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(true); chunkedResponseMsg.addStringPart(message); chunkedResponseMsg.sendChunk(servConn); }
protected static void writeChunkedErrorResponse(Message origMsg, int messageType, String message, ServerConnection servConn) throws IOException { LogWriterI18n logger = servConn.getLogger(); // Send chunked response header identifying error message ChunkedMessage chunkedResponseMsg = servConn.getChunkedResponseMessage(); if (logger.fineEnabled()) { logger.fine(servConn.getName() + ": Sending error message header type: " + messageType + " transaction: " + origMsg.getTransactionId()); } chunkedResponseMsg.setMessageType(messageType); chunkedResponseMsg.setTransactionId(origMsg.getTransactionId()); chunkedResponseMsg.sendHeader(); // Send actual error if (logger.fineEnabled()) { logger.fine(servConn.getName() + ": Sending error message chunk: " + message); } chunkedResponseMsg.setNumberOfParts(1); chunkedResponseMsg.setLastChunk(true); chunkedResponseMsg.addStringPart(message); chunkedResponseMsg.sendChunk(servConn); }