DeltaSourceMetadataEvolutionSupport¶
DeltaSourceMetadataEvolutionSupport is an extension of the DeltaSourceBase abstraction to support DeltaSources.
Implementations¶
trackingMetadataChange Flag¶
trackingMetadataChange is enabled (true) when all the following hold:
- allowUnsafeStreamingReadOnColumnMappingSchemaChanges (of this SchemaReadOptions) is disabled
- There is a PersistedMetadata (of this DeltaSourceMetadataTrackingLog)
trackingMetadataChange is used when:
DeltaSourceis requested to getFileChanges and getSnapshotAtDeltaSourceBaseis requested to checkNonAdditiveSchemaChanges, checkReadIncompatibleSchemaChangeOnStreamStartOnce and getNextOffsetFromPreviousOffsetDeltaSourceCDCSupportis requested to getFileChangesForCDCDeltaSourceMetadataEvolutionSupportis requested to getMetadataOrProtocolChangeIndexedFileIterator and updateMetadataTrackingLogAndFailTheStreamIfNeeded
initializeMetadataTrackingAndExitStream¶
initializeMetadataTrackingAndExitStream(
batchStartVersion: Long,
batchEndVersionOpt: Option[Long] = None,
alwaysFailUponLogInitialized: Boolean = false): Unit
initializeMetadataTrackingAndExitStream...FIXME
initializeMetadataTrackingAndExitStream is used when:
DeltaSourceis requested to validateAndInitMetadataLogForPlannedBatchesDuringStreamStartDeltaSourceBaseis requested to getStartingOffsetFromSpecificDeltaVersion
updateMetadataTrackingLogAndFailTheStreamIfNeeded¶
updateMetadataTrackingLogAndFailTheStreamIfNeeded(
end: Offset): Unit
updateMetadataTrackingLogAndFailTheStreamIfNeeded(
changedMetadataOpt: Option[Metadata],
changedProtocolOpt: Option[Protocol],
version: Long,
replace: Boolean = false): Unit
updateMetadataTrackingLogAndFailTheStreamIfNeeded...FIXME
updateMetadataTrackingLogAndFailTheStreamIfNeeded is used when:
DeltaSourceis requested to getSnapshotAt and commit