THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
/** * The StartpointManager reads and writes {@link Startpoint} to the provided {@link MetadataStore} * * The intention for the StartpointManager is to maintain a strong contract between the caller * and how Startpoints are stored in the underlying MetadataStore. * * Startpoints are written in the MetadataStore using keys of two different formats: * 1) {@link SystemStreamPartition} only * 2) A combination of {@link SystemStreamPartition} and {@link TaskName} * * Startpoints are then fanned out to a fan out namespace in the MetadataStore by the * {@link org.apache.samza.clustermanager.ClusterBasedJobCoordinator} or the standalone * {@link org.apache.samza.coordinator.JobCoordinator} upon startup and the * {@link org.apache.samza.checkpoint.OffsetManager} gets the fan outs to set the starting offsets per task and per * {@link SystemStreamPartition}. The fan outs are deleted once the offsets are committed to the checkpoint. * * The read, write and delete methods are intended for external callers. * The fan out methods are intended to be used within a job coordinator. */ public class StartpointManager { /** * Writes a {@link Startpoint} that defines the start position for a {@link SystemStreamPartition}. * @param ssp The {@link SystemStreamPartition} to map the {@link Startpoint} against. * @param startpoint Reference to a Startpoint object. */ public void writeStartpoint(SystemStreamPartition ssp, Startpoint startpoint) {...} /** * Writes a {@link Startpoint} that defines the start position for a {@link SystemStreamPartition} and {@link TaskName}. * @param ssp The {@link SystemStreamPartition} to map the {@link Startpoint} against. * @param taskName The {@link TaskName} to map the {@link Startpoint} against. * @param startpoint Reference to a Startpoint object. */ public void writeStartpoint(SystemStreamPartition ssp, TaskName taskName, Startpoint startpoint) {...} /** * Returns the last {@link Startpoint} that defines the start position for a {@link SystemStreamPartition}. * @param ssp The {@link SystemStreamPartition} to fetch the {@link Startpoint} for. * @return {@link Optional} of {@link Startpoint} for the {@link SystemStreamPartition}. * It is empty if it does not exist or if it is too stale. */ public Optional<Startpoint> readStartpoint(SystemStreamPartition ssp) {...} /** * Returns the {@link Startpoint} for a {@link SystemStreamPartition} and {@link TaskName}. * @param ssp The {@link SystemStreamPartition} to fetch the {@link Startpoint} for. * @param taskName The {@link TaskName} to fetch the {@link Startpoint} for. * @return {@link Optional} of {@link Startpoint} for the {@link SystemStreamPartition} and {@link TaskName}. * It is empty if it does not exist or if it is too stale. */ public Optional<Startpoint> readStartpoint(SystemStreamPartition ssp, TaskName taskName) {...} /** * Deletes the {@link Startpoint} for a {@link SystemStreamPartition} * @param ssp The {@link SystemStreamPartition} to delete the {@link Startpoint} for. */ public void deleteStartpoint(SystemStreamPartition ssp) {...} /** * Deletes the {@link Startpoint} for a {@link SystemStreamPartition} and {@link TaskName}. * @param ssp ssp The {@link SystemStreamPartition} to delete the {@link Startpoint} for. * @param taskName ssp The {@link TaskName} to delete the {@link Startpoint} for. */ public void deleteStartpoint(SystemStreamPartition ssp, TaskName taskName) {...} /** * The Startpoints that are written to with {@link #writeStartpoint(SystemStreamPartition, Startpoint)} and with * {@link #writeStartpoint(SystemStreamPartition, TaskName, Startpoint)} are moved from a "read-write" namespace * to a "fan out" namespace. * This method is not atomic or thread-safe. The intent is for the Samza Processor's coordinator to use this * method to assign the Startpoints to the appropriate tasks. * @param taskToSSPs Determines which {@link TaskName} each {@link SystemStreamPartition} maps to. * @return The set of active {@link TaskName}s that were fanned out to. */ public Map<TaskName, Map<SystemStreamPartition, Startpoint>> fanOut(Map<TaskName, Set<SystemStreamPartition>> taskToSSPs) throws IOException {...} /** * Read the fanned out {@link Startpoint}s for the given {@link TaskName} * @param taskName to read the fan out Startpoints for * @return fanned out Startpoints */ public Map<SystemStreamPartition, Startpoint> getFanOutForTask(TaskName taskName) throws IOException {...} /** * Deletes the fanned out {@link Startpoint#apply(Object, StartpointVisitor)} for the given {@link TaskName} * @param taskName to delete the fan out Startpoints for */ public void removeFanOutForTask(TaskName taskName) {...} } |
Compatibility, Deprecation, and Migration Plan
...