/** * Do not call this method if the value is Delta instance. Exclicitly passing * <code>Operation.CREATE</code> to the <code>PutOp.execute()</code> method as the caller of this * method does not put Delta instances as value. * */ public Object putForMetaRegion(Object key, Object value, byte[] deltaBytes, EntryEventImpl event, Object callbackArg) { if (this.region == null) { return PutOp.execute(this.pool, this.regionName, key, value, deltaBytes, event, Operation.CREATE, false, null, callbackArg, this.pool.getPRSingleHopEnabled()); } else { return PutOp.execute(this.pool, this.region, key, value, deltaBytes, event, Operation.CREATE, false, null, callbackArg, this.pool.getPRSingleHopEnabled()); } }
@Override public Object get(Object key, Object callbackArg, EntryEventImpl clientEvent) { recordTXOperation(ServerRegionOperation.GET, key, callbackArg); return GetOp.execute(this.pool, this.region, key, callbackArg, this.pool.getPRSingleHopEnabled(), clientEvent); }
/** * Does a region put on the server using the given connection. * * @param con the connection to use to send to the server * @param key the entry key to do the put on * @param value the entry value to put * @param eventId the event ID for this put * @param callbackArg an optional callback arg to pass to any cache callbacks */ public void putOnForTestsOnly(Connection con, Object key, Object value, EventID eventId, Object callbackArg) { EventIDHolder event = new EventIDHolder(eventId); PutOp.execute(con, this.pool, this.regionName, key, value, event, callbackArg, this.pool.getPRSingleHopEnabled()); }
@Override public Object put(Object key, Object value, byte[] deltaBytes, EntryEventImpl event, Operation op, boolean requireOldValue, Object expectedOldValue, Object callbackArg, boolean isCreate) { recordTXOperation(ServerRegionOperation.PUT, key, value, deltaBytes, event.getEventId(), op, Boolean.valueOf(requireOldValue), expectedOldValue, callbackArg, Boolean.valueOf(isCreate)); Operation operation = op; if (!isCreate && this.region.getDataPolicy() == DataPolicy.EMPTY && op.isCreate() && op != Operation.PUT_IF_ABSENT) { operation = Operation.UPDATE; } if (this.region == null) { return PutOp.execute(this.pool, this.regionName, key, value, deltaBytes, event, operation, requireOldValue, expectedOldValue, callbackArg, this.pool.getPRSingleHopEnabled()); } else { return PutOp.execute(this.pool, this.region, key, value, deltaBytes, event, operation, requireOldValue, expectedOldValue, callbackArg, this.pool.getPRSingleHopEnabled()); } }
@Override public Object destroy(Object key, Object expectedOldValue, Operation operation, EntryEventImpl event, Object callbackArg) { if (event.isBulkOpInProgress()) { // this is a removeAll, ignore this! return null; } recordTXOperation(ServerRegionOperation.DESTROY, key, expectedOldValue, operation, event.getEventId(), callbackArg); return DestroyOp.execute(this.pool, this.region, key, expectedOldValue, operation, event, callbackArg, this.pool.getPRSingleHopEnabled()); }
@Override public VersionedObjectList putAll(Map map, EventID eventId, boolean skipCallbacks, Object callbackArg) { recordTXOperation(ServerRegionOperation.PUT_ALL, null, map, eventId); int txID = TXManagerImpl.getCurrentTXUniqueId(); if (this.pool.getPRSingleHopEnabled() && (txID == TXManagerImpl.NOTX)) { return PutAllOp.execute(this.pool, this.region, map, eventId, skipCallbacks, this.pool.getRetryAttempts(), callbackArg); } else { return PutAllOp.execute(this.pool, this.region, map, eventId, skipCallbacks, false, callbackArg); } }
@Override public VersionedObjectList removeAll(Collection<Object> keys, EventID eventId, Object callbackArg) { recordTXOperation(ServerRegionOperation.REMOVE_ALL, null, keys, eventId); int txID = TXManagerImpl.getCurrentTXUniqueId(); if (this.pool.getPRSingleHopEnabled() && (txID == TXManagerImpl.NOTX)) { return RemoveAllOp.execute(this.pool, this.region, keys, eventId, this.pool.getRetryAttempts(), callbackArg); } else { return RemoveAllOp.execute(this.pool, this.region, keys, eventId, false, callbackArg); } }
if (this.pool.getPRSingleHopEnabled()) { ClientMetadataService cms = this.region.getCache().getClientMetadataService(); if (cms.isMetadataStable()) {
@Override public VersionedObjectList getAll(List keys, Object callback) { recordTXOperation(ServerRegionOperation.GET_ALL, null, keys); int txID = TXManagerImpl.getCurrentTXUniqueId(); VersionedObjectList result; if (this.pool.getPRSingleHopEnabled() && (txID == TXManagerImpl.NOTX)) { result = GetAllOp.execute(this.pool, this.region, keys, this.pool.getRetryAttempts(), callback); } else { result = GetAllOp.execute(this.pool, this.regionName, keys, callback); } if (result != null) { for (Iterator it = result.iterator(); it.hasNext();) { VersionedObjectList.Entry entry = it.next(); Object key = entry.getKey(); Object value = entry.getValue(); boolean isOnServer = entry.isKeyNotOnServer(); if (!isOnServer) { if (value instanceof Throwable) { logger.warn(String.format( "%s: Caught the following exception attempting to get value for key=%s", new Object[] {value, key}), (Throwable) value); } } } } return result; }
boolean inTransaction = TXManagerImpl.getCurrentTXState() != null; if (this.pool.getPRSingleHopEnabled() && !inTransaction) { ClientMetadataService cms = region.getCache().getClientMetadataService(); if (cms.isMetadataStable()) {