Packages

package v1

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed abstract class CDCOperation extends GeneratedEnum

    Type of operation performed on vertices in this state entry.

    Type of operation performed on vertices in this state entry. Ordered by application precedence: DELETE → SPLIT → UNION → APPEND → ALIVE.

  2. final case class CDCSequence(state: Seq[CDCState] = _root_.scala.Seq.empty, commitId: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, commitTimestamp: Long = 0L, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[CDCSequence] with Product with Serializable

    A grouped set of all operations that affect a cluster of related vector_ids in a single processing run.

    A grouped set of all operations that affect a cluster of related vector_ids in a single processing run.

    Operations within state are ordered by type: DELETE → SPLIT → UNION → APPEND → ALIVE. All entries share connected vector_ids — if operation A references vector_id X and operation B references vector_id X (as either vector_id or prev_vector_id), they belong to the same CDCSequence.

    Example — Ultimate scenario (one Kafka message): state = [ { operation: DELETE, prev_vector_id: a, user_id: [ifv_dead] }, { operation: SPLIT, vector_id: d, prev_vector_id: a, user_id: [ifv1] }, { operation: SPLIT, vector_id: e, prev_vector_id: b, user_id: [ifv3] }, { operation: UNION, vector_id: c, prev_vector_id: a, user_id: [ifv2] }, { operation: UNION, vector_id: c, prev_vector_id: b, user_id: [ifv4] }, { operation: APPEND, vector_id: c, user_id: [ifv_new] }, ]

    Example — ALIVE heartbeat (separate message, no structural changes): state = [ { operation: ALIVE, vector_id: a }, ]

    state

    Chronologically ordered state changes (DELETE → SPLIT → UNION → APPEND → ALIVE)

    commitId

    Meta information for debugging and metrics, shows which run the changes were pulled from

    commitTimestamp

    Run batch processing completion time

    Annotations
    @SerialVersionUID()
  3. final case class CDCState(vectorId: Option[ByteString] = _root_.scala.None, prevVectorId: Option[ByteString] = _root_.scala.None, userId: Seq[ByteString] = _root_.scala.Seq.empty, operation: CDCOperation = io.bidmachine.protobuf.vectorid.cdc.v1.CDCOperation.CDC_OPERATION_UNSPECIFIED, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[CDCState] with Product with Serializable

    A single state change entry within a CDC message.

    A single state change entry within a CDC message. Represents one operation affecting a set of IFA/IFV vertices.

    Field presence by operation: DELETE: prev_vector_id + user_id SPLIT: vector_id + prev_vector_id + user_id UNION: vector_id + prev_vector_id + user_id APPEND: vector_id + user_id ALIVE: vector_id only (TTL heartbeat, no user_id changes)

    vectorId

    Vector UUID after the operation. Present for APPEND, UNION, SPLIT, ALIVE. Absent for DELETE.

    prevVectorId

    Previous vector UUID before the operation. Present for DELETE, UNION, SPLIT. Absent for APPEND, ALIVE.

    userId

    List of IFA/IFV source IDs affected by this state change. Present for DELETE, SPLIT, UNION, APPEND. Empty for ALIVE (no mapping changes).

    operation

    The operation that produced this state change

    Annotations
    @SerialVersionUID()
  4. final case class VectorIdStateSnapshot(vectorId: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, prevVectorId: Seq[ByteString] = _root_.scala.Seq.empty, userId: Seq[ByteString] = _root_.scala.Seq.empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[VectorIdStateSnapshot] with Product with Serializable

    The state we broadcast for streaming API Examples: Split: prev run: vector_id = 1; prev_vector_id = [ ]; user_id = [a, b, c, d, e] - original entity curr run: vector_id = 11; prev_vector_id = [1]; user_id = [a, b, c] - a message of split curr run: vector_id = 12; prev_vector_id = [1]; user_id = [d, e] - another message of split

    The state we broadcast for streaming API Examples: Split: prev run: vector_id = 1; prev_vector_id = [ ]; user_id = [a, b, c, d, e] - original entity curr run: vector_id = 11; prev_vector_id = [1]; user_id = [a, b, c] - a message of split curr run: vector_id = 12; prev_vector_id = [1]; user_id = [d, e] - another message of split

    Merge: prev run: vector_id = 11; prev_vector_id = [1]; user_id = [a, b] - original entity prev run: vector_id = 39; prev_vector_id = [3]; user_id = [e, f] - original entity curr run: vector_id = 45; prev_vector_id = [11, 39]; user_id = [a, b, e, f] - a message of merge

    Append: prev run: vector_id = 15; prev_vector_id = [1]; user_id = [a, b] - original entity curr run: vector_id = 15; prev_vector_id = [15]; user_id = [a, b, h] - a message of append

    Create: curr run: vector_id = 99; prev_vector_id = [ ]; user_id = [e, i, o] - a message of create

    vectorId

    An actual vector id

    prevVectorId

    List of previous vector ids, can be empty

    userId

    List of source ids (ifa/ifv/...), can't be empty

    Annotations
    @SerialVersionUID()

Value Members

  1. object CDCOperation extends GeneratedEnumCompanion[CDCOperation]
  2. object CDCSequence extends GeneratedMessageCompanion[CDCSequence]
  3. object CDCState extends GeneratedMessageCompanion[CDCState]
  4. object CdcProto extends GeneratedFileObject
  5. object VectorIdStateSnapshot extends GeneratedMessageCompanion[VectorIdStateSnapshot]

Ungrouped