/** * Broadcasts given job to all nodes in cluster group. Every participating node will return a * job result. Collection of all returned job results is returned from the result future. * * @param job Job to broadcast to all cluster group nodes. * @return Collection of results for this execution. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <R> Collection<R> broadcast(IgniteCallable<R> job) throws IgniteException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public V get(K key) throws TransactionException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public boolean containsKey(K key) throws TransactionException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public boolean remove(K key) throws TransactionException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public V getAndRemove(K key) throws TransactionException;
/** * Unregisters all listeners identified with provided operation ID on all nodes in the cluster group. * <p> * Supports asynchronous execution (see {@link IgniteAsyncSupport}). * * @param opId Listen ID that was returned from {@link #remoteListen(Object, IgniteBiPredicate)} method. * @throws IgniteException If failed to unregister listeners. */ @IgniteAsyncSupported public void stopRemoteListen(UUID opId) throws IgniteException;
/** * Executes provided job on a node within the underlying cluster group. * * @param job Job closure to execute. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public void run(IgniteRunnable job) throws IgniteException;
/** * Executes collection of jobs on nodes within the underlying cluster group. * Collection of all returned job results is returned from the result future. * * @param jobs Collection of jobs to execute. * @return Collection of job results for this execution. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <R> Collection<R> call(Collection<? extends IgniteCallable<R>> jobs) throws IgniteException;
/** * Executes collection of jobs on nodes within the underlying cluster group. The returned * job results will be reduced into an individual result by provided reducer. * * @param jobs Collection of jobs to execute. * @param rdc Reducer to reduce all job results into one individual return value. * @return Reduced job result for this execution. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <R1, R2> R2 call(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1, R2> rdc) throws IgniteException;
/** * Executes provided closure job on nodes within the underlying cluster group. A new job is executed for * every argument in the passed in collection. The number of actual job executions will be * equal to size of the job arguments collection. * * @param job Job to run. * @param args Job arguments. * @return Collection of job results. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <T, R> Collection<R> apply(IgniteClosure<T, R> job, Collection<? extends T> args) throws IgniteException;
/** * Gets values from cache. Will bypass started transaction, if any, i.e. will not enlist entries * and will not lock any keys if pessimistic transaction is started by thread. * * @param keys The keys whose associated values are to be returned. * @return A map of entries that were found for the given keys. */ @IgniteAsyncSupported public Map<K, V> getAllOutTx(Set<? extends K> keys);
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public void put(K key, V val) throws TransactionException;
/** * {@inheritDoc} * <p> * For {@link CacheAtomicityMode#ATOMIC} return * value on primary node crash may be incorrect because of the automatic retries. It is recommended * to disable retries with {@link #withNoRetries()} and manually restore primary-backup * consistency in case of update failure. * * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public boolean remove(K key, V oldVal) throws TransactionException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public boolean replace(K key, V val) throws TransactionException;
/** * {@inheritDoc} * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public void removeAll(Set<? extends K> keys) throws TransactionException;
/** * Executes provided job on a node within the underlying cluster group. The result of the * job execution is returned from the result closure. * * @param job Job to execute. * @return Job result. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <R> R call(IgniteCallable<R> job) throws IgniteException;
/** * {@inheritDoc} * <p> * For {@link CacheAtomicityMode#ATOMIC} return * value on primary node crash may be incorrect because of the automatic retries. It is recommended * to disable retries with {@link #withNoRetries()} and manually restore primary-backup * consistency in case of update failure. * * @throws TransactionException If operation within transaction is failed. */ @IgniteAsyncSupported @Override public boolean replace(K key, V oldVal, V newVal) throws TransactionException;
/** * Clears entry from the cache and swap storage, without notifying listeners or * {@link CacheWriter}s. Entry is cleared only if it is not currently locked, * and is not participating in a transaction. * * @param key Key to clear. * @throws IllegalStateException if the cache is {@link #isClosed()} * @throws CacheException if there is a problem during the clear */ @IgniteAsyncSupported public void clear(K key);
/** * Broadcasts given closure job with passed in argument to all nodes in the cluster group. * Every participating node will return a job result. Collection of all returned job results * is returned from the result future. * * @param job Job to broadcast to all cluster group nodes. * @param arg Job closure argument. * @return Collection of results for this execution. * @throws IgniteException If execution failed. */ @IgniteAsyncSupported public <R, T> Collection<R> broadcast(IgniteClosure<T, R> job, @Nullable T arg) throws IgniteException;
/** * Executes {@link #localLoadCache(IgniteBiPredicate, Object...)} on all cache nodes. * * @param p Optional predicate (may be {@code null}). If provided, will be used to * filter values loaded from storage before they are put into cache. * @param args Optional user arguments to be passed into * {@link CacheStore#loadCache(IgniteBiInClosure, Object...)} method. * @throws CacheException If loading failed. */ @IgniteAsyncSupported public void loadCache(@Nullable IgniteBiPredicate<K, V> p, @Nullable Object... args) throws CacheException;