org.apache.storm.hdfs.trident.rotation

## Interface FileRotationPolicy

- All Superinterfaces:
    Serializable
  All Known Implementing Classes:
    FileSizeRotationPolicy, NoRotationPolicy, TimedRotationPolicy

      public interface FileRotationPolicy
      extends Serializable

  Used by the HdfsBolt to decide when to rotate files.

  The HdfsBolt will call the `mark()` method for every tuple received. If the `mark()` method returns `true` the HdfsBolt will perform a file rotation.

  After file rotation, the HdfsBolt will call the `reset()` method.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `mark(long offset)` Check if a file rotation should be performed based on the offset at which file is being written.
    `boolean` | `mark(TridentTuple tuple, long offset)` Called for every tuple the HdfsBolt executes.
    `void` | `reset()` Called after the HdfsBolt rotates a file.
    `void` | `start()` Start the policy.

- - ### Method Detail

    - #### mark

          boolean mark(TridentTuple tuple,
                       long offset)

      Called for every tuple the HdfsBolt executes.

      Parameters:
        `tuple` - The tuple executed.
        `offset` - current offset of file being written
      Returns:
        true if a file rotation should be performed

    - #### mark

          boolean mark(long offset)

      Check if a file rotation should be performed based on the offset at which file is being written.

      Parameters:
        `offset` - the current offset of file being written
      Returns:
        true if a file rotation should be performed.

    - #### reset

          void reset()

      Called after the HdfsBolt rotates a file.

    - #### start

          void start()

      Start the policy. Useful in case of policies like timed rotation where the timer can be started.

Copyright © 2021 The Apache Software Foundation. All rights reserved.