Class NumberedOverwriteShardSpec
java.lang.Object
org.apache.druid.timeline.partition.NumberedOverwriteShardSpec
- All Implemented Interfaces:
OverwriteShardSpec,ShardSpec
Deprecated.
- See Also:
-
AtomicUpdateGroup
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.druid.timeline.partition.ShardSpec
ShardSpec.Type -
Constructor Summary
ConstructorsConstructorDescriptionNumberedOverwriteShardSpec(int partitionId, int startRootPartitionId, int endRootPartitionId, short minorVersion) Deprecated.NumberedOverwriteShardSpec(int partitionId, int startRootPartitionId, int endRootPartitionId, short minorVersion, short atomicUpdateGroupSize) Deprecated. -
Method Summary
Modifier and TypeMethodDescription<T> PartitionChunk<T>createChunk(T obj) Deprecated.booleanDeprecated.shortDeprecated.Returns the atomic update group size which this segment belongs to.Deprecated.Get dimensions who have possible range for the rows this shard contains.intDeprecated.Returns the end root partition ID of the atomic update group which this segment belongs to.Deprecated.shortDeprecated.Returns the minor version associated to the atomic update group which this segment belongs to.intDeprecated.Returns the partition ID of this segment.intDeprecated.Returns the start root partition ID of the atomic update group which this segment belongs to.getType()Deprecated.Get the type name of this ShardSpec.inthashCode()Deprecated.booleanpossibleInDomain(Map<String, com.google.common.collect.RangeSet<String>> domain) Deprecated.if given domain ranges are not possible in this shard, return false; otherwise return true;toString()Deprecated.withAtomicUpdateGroupSize(short atomicUpdateGroupSize) Deprecated.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.druid.timeline.partition.OverwriteShardSpec
getNumCorePartitions, sharePartitionSpace, withAtomicUpdateGroupSizeMethods inherited from interface org.apache.druid.timeline.partition.ShardSpec
canCreateNumberedPartitionChunk, getDomainVirtualColumns, withCorePartitions, withPartitionNum
-
Constructor Details
-
NumberedOverwriteShardSpec
public NumberedOverwriteShardSpec(int partitionId, int startRootPartitionId, int endRootPartitionId, short minorVersion, short atomicUpdateGroupSize) Deprecated. -
NumberedOverwriteShardSpec
public NumberedOverwriteShardSpec(int partitionId, int startRootPartitionId, int endRootPartitionId, short minorVersion) Deprecated.
-
-
Method Details
-
withAtomicUpdateGroupSize
Deprecated.- Specified by:
withAtomicUpdateGroupSizein interfaceOverwriteShardSpec
-
createChunk
Deprecated.- Specified by:
createChunkin interfaceShardSpec
-
getPartitionNum
public int getPartitionNum()Deprecated.Description copied from interface:ShardSpecReturns the partition ID of this segment.- Specified by:
getPartitionNumin interfaceShardSpec
-
getStartRootPartitionId
public int getStartRootPartitionId()Deprecated.Description copied from interface:ShardSpecReturns the start root partition ID of the atomic update group which this segment belongs to.- Specified by:
getStartRootPartitionIdin interfaceShardSpec- See Also:
-
AtomicUpdateGroup
-
getEndRootPartitionId
public int getEndRootPartitionId()Deprecated.Description copied from interface:ShardSpecReturns the end root partition ID of the atomic update group which this segment belongs to.- Specified by:
getEndRootPartitionIdin interfaceShardSpec- See Also:
-
AtomicUpdateGroup
-
getMinorVersion
public short getMinorVersion()Deprecated.Description copied from interface:ShardSpecReturns the minor version associated to the atomic update group which this segment belongs to.- Specified by:
getMinorVersionin interfaceShardSpec- See Also:
-
AtomicUpdateGroup
-
getAtomicUpdateGroupSize
public short getAtomicUpdateGroupSize()Deprecated.Description copied from interface:ShardSpecReturns the atomic update group size which this segment belongs to.- Specified by:
getAtomicUpdateGroupSizein interfaceShardSpec- See Also:
-
AtomicUpdateGroup
-
getLookup
Deprecated. -
getDomainDimensions
Deprecated.Description copied from interface:ShardSpecGet dimensions who have possible range for the rows this shard contains. These columns might be physical columns stored in the shard, or computed expressions, in which case the manner in which they were computed is available inShardSpec.getDomainVirtualColumns().- Specified by:
getDomainDimensionsin interfaceShardSpec- Returns:
- list of dimensions who has its possible range. Dimensions with unknown possible range are not listed.
-
possibleInDomain
Deprecated.Description copied from interface:ShardSpecif given domain ranges are not possible in this shard, return false; otherwise return true;- Specified by:
possibleInDomainin interfaceShardSpec- Returns:
- possibility of in domain
-
getType
Deprecated.Description copied from interface:ShardSpecGet the type name of this ShardSpec. -
equals
Deprecated. -
hashCode
public int hashCode()Deprecated. -
toString
Deprecated.
-
This shardSpec is used only for the segments created by overwriting tasks with segment lock enabled. When the segment lock is used, there is a concept of atomic update group which is a set of segments atomically becoming queryable together in Brokers. It is a similar concept to the core partition set (explained
NumberedShardSpec), but different in a sense that there is only one core partition set per time chunk while there could be multiple atomic update groups in one time chunk.The atomic update group has the root partition range and the minor version to determine the visibility between atomic update groups; the group of the highest minor version in the same root partition range becomes queryable when they have the same major version (
DataSegment.getVersion()).Note that this shardSpec is used only when you overwrite existing segments with segment lock enabled. If the task doesn't overwrite segments, it will use NumberedShardSpec instead even when segment lock is used. Similar to NumberedShardSpec, the size of the atomic update group is determined when the task publishes segments at the end of ingestion. As a result,
atomicUpdateGroupSizeis set toPartitionIds.UNKNOWN_ATOMIC_UPDATE_GROUP_SIZEfirst, and updated when publishing segments inSegmentPublisherHelper#annotateShardSpec.