Class EndOfSegment
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.kafka.protocol.EndOfSegment
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.Comparable<org.apache.avro.specific.SpecificRecord>
,org.apache.avro.generic.GenericContainer
,org.apache.avro.generic.GenericRecord
,org.apache.avro.generic.IndexedRecord
,org.apache.avro.specific.SpecificRecord
public class EndOfSegment extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
This ControlMessage is sent at least once per partition per producer. It may be sent more than once per partition/producer, but only after the producer has sent a StartOfSegment into that partition. There should be an equal number of StartOfSegment and EndOfSegment messages in each producer/partition pair.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description java.nio.ByteBuffer
checksumValue
The value of the checksum computed since the last StartOfSegment ControlMessage.java.util.List<java.lang.Long>
computedAggregates
A map containing the results of the aggregate computation strategies that were promised in the previous StartOfSegment ControlMessage.boolean
finalSegment
This field is set to true when the producer knows that there is no more data coming from its data source after this EndOfSegment.static org.apache.avro.Schema
SCHEMA$
-
Constructor Summary
Constructors Constructor Description EndOfSegment()
Default constructor.EndOfSegment(java.nio.ByteBuffer checksumValue, java.util.List<java.lang.Long> computedAggregates, java.lang.Boolean finalSegment)
All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
get(int field$)
java.nio.ByteBuffer
getChecksumValue()
Gets the value of the 'checksumValue' field.static org.apache.avro.Schema
getClassSchema()
java.util.List<java.lang.Long>
getComputedAggregates()
Gets the value of the 'computedAggregates' field.boolean
getFinalSegment()
Gets the value of the 'finalSegment' field.org.apache.avro.Schema
getSchema()
org.apache.avro.specific.SpecificData
getSpecificData()
void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
void
setChecksumValue(java.nio.ByteBuffer value)
Sets the value of the 'checksumValue' field.void
setComputedAggregates(java.util.List<java.lang.Long> value)
Sets the value of the 'computedAggregates' field.void
setFinalSegment(boolean value)
Sets the value of the 'finalSegment' field.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
checksumValue
public java.nio.ByteBuffer checksumValue
The value of the checksum computed since the last StartOfSegment ControlMessage.
-
computedAggregates
public java.util.List<java.lang.Long> computedAggregates
A map containing the results of the aggregate computation strategies that were promised in the previous StartOfSegment ControlMessage. The downstream consumer may choose to compare the value of these aggregates against those that it computed on its own ir oder to use them as additional validation safeguards, or it may choose to merely log them, or even ignore them altogether.
-
finalSegment
public boolean finalSegment
This field is set to true when the producer knows that there is no more data coming from its data source after this EndOfSegment. This happens at the time the producer is closed.
-
-
Constructor Detail
-
EndOfSegment
public EndOfSegment()
Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder()
.
-
EndOfSegment
public EndOfSegment(java.nio.ByteBuffer checksumValue, java.util.List<java.lang.Long> computedAggregates, java.lang.Boolean finalSegment)
All-args constructor.- Parameters:
checksumValue
- The value of the checksum computed since the last StartOfSegment ControlMessage.computedAggregates
- A map containing the results of the aggregate computation strategies that were promised in the previous StartOfSegment ControlMessage. The downstream consumer may choose to compare the value of these aggregates against those that it computed on its own ir oder to use them as additional validation safeguards, or it may choose to merely log them, or even ignore them altogether.finalSegment
- This field is set to true when the producer knows that there is no more data coming from its data source after this EndOfSegment. This happens at the time the producer is closed.
-
-
Method Detail
-
getClassSchema
public static org.apache.avro.Schema getClassSchema()
-
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()
- Overrides:
getSpecificData
in classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()
- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getChecksumValue
public java.nio.ByteBuffer getChecksumValue()
Gets the value of the 'checksumValue' field.- Returns:
- The value of the checksum computed since the last StartOfSegment ControlMessage.
-
setChecksumValue
public void setChecksumValue(java.nio.ByteBuffer value)
Sets the value of the 'checksumValue' field. The value of the checksum computed since the last StartOfSegment ControlMessage.- Parameters:
value
- the value to set.
-
getComputedAggregates
public java.util.List<java.lang.Long> getComputedAggregates()
Gets the value of the 'computedAggregates' field.- Returns:
- A map containing the results of the aggregate computation strategies that were promised in the previous StartOfSegment ControlMessage. The downstream consumer may choose to compare the value of these aggregates against those that it computed on its own ir oder to use them as additional validation safeguards, or it may choose to merely log them, or even ignore them altogether.
-
setComputedAggregates
public void setComputedAggregates(java.util.List<java.lang.Long> value)
Sets the value of the 'computedAggregates' field. A map containing the results of the aggregate computation strategies that were promised in the previous StartOfSegment ControlMessage. The downstream consumer may choose to compare the value of these aggregates against those that it computed on its own ir oder to use them as additional validation safeguards, or it may choose to merely log them, or even ignore them altogether.- Parameters:
value
- the value to set.
-
getFinalSegment
public boolean getFinalSegment()
Gets the value of the 'finalSegment' field.- Returns:
- This field is set to true when the producer knows that there is no more data coming from its data source after this EndOfSegment. This happens at the time the producer is closed.
-
setFinalSegment
public void setFinalSegment(boolean value)
Sets the value of the 'finalSegment' field. This field is set to true when the producer knows that there is no more data coming from its data source after this EndOfSegment. This happens at the time the producer is closed.- Parameters:
value
- the value to set.
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-