Record Class DVPosition

java.lang.Object
java.lang.Record
org.apache.iceberg.flink.maintenance.operator.DVPosition
All Implemented Interfaces:
Serializable

@Internal public record DVPosition(String dataFilePath, long position, int specId, byte[] partition, long dataSequenceNumber) extends Record implements Serializable
A deletion vector position emitted by EqualityConvertPKIndex when resolving an equality delete. Identifies a specific row (by file path and position) to be marked as deleted, and carries the data file's specId + encoded partition so the downstream resolver can write the DV without re-reading data manifests.

dataSequenceNumber is the data file's sequence number. The worker keeps it in its index so a resolving equality delete only deletes rows older than itself (only applies an equality delete with sequence S to data with sequence < S).

partition is a byte[] (see StructLikeSerializer.encodePartition(org.apache.iceberg.StructLike, org.apache.iceberg.types.Types.StructType)) so Flink serializes it natively rather than falling back to Kryo, including in the worker's keyed state.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final DVPosition
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DVPosition(String dataFilePath, long position, int specId, byte[] partition, long dataSequenceNumber)
    Creates an instance of a DVPosition record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the value of the dataFilePath record component.
    long
    Returns the value of the dataSequenceNumber record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    boolean
     
    byte[]
    Returns the value of the partition record component.
    long
    Returns the value of the position record component.
    int
    Returns the value of the specId record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • DVPosition

      public DVPosition(String dataFilePath, long position, int specId, byte[] partition, long dataSequenceNumber)
      Creates an instance of a DVPosition record class.
      Parameters:
      dataFilePath - the value for the dataFilePath record component
      position - the value for the position record component
      specId - the value for the specId record component
      partition - the value for the partition record component
      dataSequenceNumber - the value for the dataSequenceNumber record component
  • Method Details

    • isAbort

      public boolean isAbort()
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • dataFilePath

      public String dataFilePath()
      Returns the value of the dataFilePath record component.
      Returns:
      the value of the dataFilePath record component
    • position

      public long position()
      Returns the value of the position record component.
      Returns:
      the value of the position record component
    • specId

      public int specId()
      Returns the value of the specId record component.
      Returns:
      the value of the specId record component
    • partition

      public byte[] partition()
      Returns the value of the partition record component.
      Returns:
      the value of the partition record component
    • dataSequenceNumber

      public long dataSequenceNumber()
      Returns the value of the dataSequenceNumber record component.
      Returns:
      the value of the dataSequenceNumber record component