@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); for (String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); for (String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); for (String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); for (String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv=new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); for(String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv=new ArrayList<Operation>(); GetOperation.Callback callback = new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); for(String k : op.getKeys()) { rv.add(get(k, callback)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv=new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; if(op.getCallback() instanceof GetOperation.Callback) { getCb=new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); } else { getsCb=new MultiGetsOperationCallback( op.getCallback(), op.getKeys().size()); } for(String k : op.getKeys()) { rv.add(getCb == null ? gets(k, getsCb) : get(k, getCb)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv=new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; if(op.getCallback() instanceof GetOperation.Callback) { getCb=new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); } else { getsCb=new MultiGetsOperationCallback( op.getCallback(), op.getKeys().size()); } for(String k : op.getKeys()) { rv.add(getCb == null ? gets(k, getsCb) : get(k, getCb)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; if (op.getCallback() instanceof GetOperation.Callback) { getCb = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); } else { getsCb = new MultiGetsOperationCallback(op.getCallback(), op.getKeys().size()); } for (String k : op.getKeys()) { rv.add(getCb == null ? gets(k, getsCb) : get(k, getCb)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; if (op.getCallback() instanceof GetOperation.Callback) { getCb = new MultiGetOperationCallback( op.getCallback(), op.getKeys().size()); } else { getsCb = new MultiGetsOperationCallback( op.getCallback(), op.getKeys().size()); } for (String k : op.getKeys()) { rv.add(getCb == null ? gets(k, getsCb) : get(k, getCb)); } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; ReplicaGetOperation.Callback replicaGetCb = null; if (op.getCallback() instanceof GetOperation.Callback) { getCb = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); } else if(op.getCallback() instanceof ReplicaGetOperation.Callback) { replicaGetCb = new MultiReplicaGetOperationCallback(op.getCallback(), op.getKeys().size()); } else { getsCb = new MultiGetsOperationCallback(op.getCallback(), op.getKeys().size()); } for (String k : op.getKeys()) { if(getCb != null) { rv.add(get(k, getCb)); } else if(getsCb != null) { rv.add(gets(k, getsCb)); } else { rv.add(replicaGet(k, ((ReplicaGetOperationImpl)op).getReplicaIndex() ,replicaGetCb)); } } return rv; }
@Override protected Collection<? extends Operation> cloneGet(KeyedOperation op) { Collection<Operation> rv = new ArrayList<Operation>(); GetOperation.Callback getCb = null; GetsOperation.Callback getsCb = null; ReplicaGetOperation.Callback replicaGetCb = null; if (op.getCallback() instanceof GetOperation.Callback) { getCb = new MultiGetOperationCallback(op.getCallback(), op.getKeys().size()); } else if(op.getCallback() instanceof ReplicaGetOperation.Callback) { replicaGetCb = new MultiReplicaGetOperationCallback(op.getCallback(), op.getKeys().size()); } else { getsCb = new MultiGetsOperationCallback(op.getCallback(), op.getKeys().size()); } for (String k : op.getKeys()) { if(getCb != null) { rv.add(get(k, getCb)); } else if(getsCb != null) { rv.add(gets(k, getsCb)); } else { rv.add(replicaGet(k, ((ReplicaGetOperationImpl)op).getReplicaIndex() ,replicaGetCb)); } } return rv; }
private void redistributeOperations(Collection<Operation> ops) { for(Operation op : ops) { if(op instanceof KeyedOperation) { KeyedOperation ko = (KeyedOperation)op; int added = 0; for(String k : ko.getKeys()) { for(Operation newop : opFact.clone(ko)) { addOperation(k, newop); added++; } } assert added > 0 : "Didn't add any new operations when redistributing"; } else { // Cancel things that don't have definite targets. op.cancel(); } } }
private void redistributeOperations(Collection<Operation> ops) { for(Operation op : ops) { if(op instanceof KeyedOperation) { KeyedOperation ko = (KeyedOperation)op; int added = 0; for(String k : ko.getKeys()) { for(Operation newop : opFact.clone(ko)) { addOperation(k, newop); added++; } } assert added > 0 : "Didn't add any new operations when redistributing"; } else { // Cancel things that don't have definite targets. op.cancel(); } } }
private void redistributeOperations(Collection<Operation> ops, String cause) { for (Operation op : ops) { if (op instanceof KeyedOperation) { KeyedOperation ko = (KeyedOperation) op; int added = 0; for (String k : ko.getKeys()) { for (Operation newop : opFact.clone(ko)) { addOperation(k, newop); added++; } } assert added > 0 : "Didn't add any new operations when redistributing"; } else { // Cancel things that don't have definite targets. op.cancel(cause); } } }
@Override public void addOperations(final Map<MemcachedNode, Operation> ops) { for (Map.Entry<MemcachedNode, Operation> me : ops.entrySet()) { final MemcachedNode node = me.getKey(); if (!node.isActive()) { cf.checkConfigUpdate(); } Operation o = me.getValue(); // add the vbucketIndex to the operation if (locator instanceof VBucketNodeLocator) { if (o instanceof KeyedOperation && o instanceof VBucketAware) { Collection<String> keys = ((KeyedOperation) o).getKeys(); VBucketNodeLocator vbucketLocator = (VBucketNodeLocator) locator; for (String key : keys) { short vbucketIndex = (short) vbucketLocator.getVBucketIndex(key); VBucketAware vbucketAwareOp = (VBucketAware) o; vbucketAwareOp.setVBucket(key, vbucketIndex); } } } o.setHandlingNode(node); o.initialize(); node.addOp(o); addedQueue.offer(node); } updateLastWrite(); Selector s = selector.wakeup(); assert s == selector : "Wakeup returned the wrong selector."; }
op.getKeys().size()); if(op instanceof GetOperation) { rv.addAll(cloneGet(op)); GetsOperation.Callback callback = (GetsOperation.Callback)op.getCallback(); for(String k : op.getKeys()) { rv.add(gets(k, callback)); rv.add(cas(cop.getStoreType(), first(op.getKeys()), cop.getCasValue(), cop.getFlags(), cop.getExpiration(), cop.getBytes(), cop.getCallback())); } else if(op instanceof DeleteOperation) { rv.add(delete(first(op.getKeys()), op.getCallback())); } else if(op instanceof MutatorOperation) { MutatorOperation mo = (MutatorOperation)op; rv.add(mutate(mo.getType(), first(op.getKeys()), mo.getBy(), mo.getDefault(), mo.getExpiration(), op.getCallback())); } else if(op instanceof StoreOperation) { StoreOperation so = (StoreOperation)op; rv.add(store(so.getStoreType(), first(op.getKeys()), so.getFlags(), so.getExpiration(), so.getData(), op.getCallback())); } else if(op instanceof ConcatenationOperation) { ConcatenationOperation c = (ConcatenationOperation)op; rv.add(cat(c.getStoreType(), c.getCasValue(), first(op.getKeys()), c.getData(), c.getCallback())); } else {
op.getKeys().size()); if(op instanceof GetOperation) { rv.addAll(cloneGet(op)); GetsOperation.Callback callback = (GetsOperation.Callback)op.getCallback(); for(String k : op.getKeys()) { rv.add(gets(k, callback)); rv.add(cas(cop.getStoreType(), first(op.getKeys()), cop.getCasValue(), cop.getFlags(), cop.getExpiration(), cop.getBytes(), cop.getCallback())); } else if(op instanceof DeleteOperation) { rv.add(delete(first(op.getKeys()), op.getCallback())); } else if(op instanceof MutatorOperation) { MutatorOperation mo = (MutatorOperation)op; rv.add(mutate(mo.getType(), first(op.getKeys()), mo.getBy(), mo.getDefault(), mo.getExpiration(), op.getCallback())); } else if(op instanceof StoreOperation) { StoreOperation so = (StoreOperation)op; rv.add(store(so.getStoreType(), first(op.getKeys()), so.getFlags(), so.getExpiration(), so.getData(), op.getCallback())); } else if(op instanceof ConcatenationOperation) { ConcatenationOperation c = (ConcatenationOperation)op; rv.add(cat(c.getStoreType(), c.getCasValue(), first(op.getKeys()), c.getData(), c.getCallback())); } else {
private void redistributeOperations(Collection<Operation> ops) { for (Operation op : ops) { if (op.isCancelled() || op.isTimedOut()) { continue; } if (op instanceof KeyedOperation) { KeyedOperation ko = (KeyedOperation) op; int added = 0; for (String k : ko.getKeys()) { for (Operation newop : opFact.clone(ko)) { addOperation(k, newop); added++; } } assert added > 0 : "Didn't add any new operations when redistributing"; } else { // Cancel things that don't have definite targets. op.cancel(); } } }
if (newop instanceof KeyedOperation) { KeyedOperation newKeyedOp = (KeyedOperation) newop; for (String k : newKeyedOp.getKeys()) { addOperation(k, newop); op.addClone(newop);