All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.distexec.FailoverContext Maven / Gradle / Ivy

package org.infinispan.distexec;

import java.util.List;

import org.infinispan.remoting.transport.Address;

/**
 * As {@link DistributedTask} might potentially fail on subset of executing nodes FailureContext
 * provides details of such task failure. FailureContext has a scope of a node where the task
 * failed.
 *
 * @author Vladimir Blagojevic
 * @since 5.2
 */
public interface FailoverContext {

   /**
    * Returns an Address of the node where the task failed
    *
    * @return the Address of the failed execution location
    */
   Address executionFailureLocation();

   /**
    * Returns a list of candidates for possible repeated execution governed by installed
    * {@link DistributedTaskFailoverPolicy}
    *
    * @return an Address list of possible execution candidates
    */
   List
executionCandidates(); /** * Returns the Throwable which was the cause of the task failure. This includes both system * exception related to Infinispan transient failures (node crash, transient errors etc) as well * as application level exceptions. Returned Throwable will most likely contain the chain of * Exceptions that interested clients can inspect and, if desired, find the root cause of the * returned Throwable * * @see Throwable#getCause() API to recursively traverse the Exception chain * * @return the Throwable that caused task failure on the particular Infinispan node */ Throwable cause(); /** * Returns a list of input keys for this task. Note that this method does not return all of the * keys used as input for {@link DistributedTask} but rather only the input keys used as input * for a part of that task where the execution failed * * @param * @return the list of input keys if any */ List inputKeys(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy