C
- The component type.public final class GenericArraySerializerSnapshot<C> extends CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
GenericArraySerializer
.CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
Constructor and Description |
---|
GenericArraySerializerSnapshot()
Constructor to be used for read instantiation.
|
GenericArraySerializerSnapshot(GenericArraySerializer<C> genericArraySerializer)
Constructor to be used for writing the snapshot.
|
Modifier and Type | Method and Description |
---|---|
protected GenericArraySerializer<C> |
createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
Creates an instance of the outer serializer with a given array of its nested serializers.
|
protected int |
getCurrentOuterSnapshotVersion()
Returns the version of the current outer snapshot's written binary format.
|
protected TypeSerializer<?>[] |
getNestedSerializers(GenericArraySerializer<C> outerSerializer)
Gets the nested serializers from the outer serializer.
|
protected void |
readOuterSnapshot(int readOuterSnapshotVersion,
DataInputView in,
ClassLoader userCodeClassLoader)
Reads the outer snapshot, i.e. any information beyond the nested serializers of the outer
serializer.
|
protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility |
resolveOuterSchemaCompatibility(TypeSerializerSnapshot<C[]> oldSerializerSnapshot)
Checks the schema compatibility of the given old serializer snapshot based on the outer
snapshot.
|
TypeSerializerSchemaCompatibility<C[]> |
resolveSchemaCompatibility(TypeSerializerSnapshot<C[]> oldSerializerSnapshot)
Checks current serializer's compatibility to read data written by the prior serializer.
|
protected void |
writeOuterSnapshot(DataOutputView out)
Writes the outer snapshot, i.e. any information beyond the nested serializers of the outer
serializer.
|
getCurrentVersion, getNestedSerializerSnapshots, isOuterSnapshotCompatible, readSnapshot, resolveOuterSchemaCompatibility, restoreSerializer, writeSnapshot
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
readVersionedSnapshot, resolveSchemaCompatibility, writeVersionedSnapshot
public GenericArraySerializerSnapshot()
public GenericArraySerializerSnapshot(GenericArraySerializer<C> genericArraySerializer)
protected int getCurrentOuterSnapshotVersion()
CompositeTypeSerializerSnapshot
getCurrentOuterSnapshotVersion
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
protected void writeOuterSnapshot(DataOutputView out) throws IOException
CompositeTypeSerializerSnapshot
The base implementation of this methods writes nothing, i.e. it assumes that the outer
serializer only has nested serializers and no extra information. Otherwise, if the outer
serializer contains some extra information that needs to be persisted as part of the
serializer snapshot, this must be overridden. Note that this method and the corresponding
methods CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView, ClassLoader)
, CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializerSnapshot)
needs to be implemented.
writeOuterSnapshot
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
out
- the DataOutputView
to write the outer snapshot to.IOException
protected void readOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader) throws IOException
CompositeTypeSerializerSnapshot
The base implementation of this methods reads nothing, i.e. it assumes that the outer
serializer only has nested serializers and no extra information. Otherwise, if the outer
serializer contains some extra information that has been persisted as part of the serializer
snapshot, this must be overridden. Note that this method and the corresponding methods CompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView)
, CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializerSnapshot)
needs to be implemented.
readOuterSnapshot
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
readOuterSnapshotVersion
- the read version of the outer snapshot.in
- the DataInputView
to read the outer snapshot from.userCodeClassLoader
- the user code class loader.IOException
public TypeSerializerSchemaCompatibility<C[]> resolveSchemaCompatibility(TypeSerializerSnapshot<C[]> oldSerializerSnapshot)
TypeSerializerSnapshot
When a checkpoint/savepoint is restored, this method checks whether the serialization format of the data in the checkpoint/savepoint is compatible for the format of the serializer used by the program that restores the checkpoint/savepoint. The outcome can be that the serialization format is compatible, that the program's serializer needs to reconfigure itself (meaning to incorporate some information from the TypeSerializerSnapshot to be compatible), that the format is outright incompatible, or that a migration needed. In the latter case, the TypeSerializerSnapshot produces a serializer to deserialize the data, and the restoring program's serializer re-serializes the data, thus converting the format during the restore operation.
This method must be implemented to clarify the compatibility. See FLIP-263 for more details.
resolveSchemaCompatibility
in interface TypeSerializerSnapshot<C[]>
resolveSchemaCompatibility
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
oldSerializerSnapshot
- the old serializer snapshot to check.protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility resolveOuterSchemaCompatibility(TypeSerializerSnapshot<C[]> oldSerializerSnapshot)
CompositeTypeSerializerSnapshot
The base implementation of this method assumes that the outer serializer only has nested
serializers and no extra information, and therefore the result of the check is CompositeTypeSerializerSnapshot.OuterSchemaCompatibility.COMPATIBLE_AS_IS
. Otherwise, if the outer serializer contains some
extra information that has been persisted as part of the serializer snapshot, this must be
overridden. Note that this method and the corresponding methods CompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView)
, CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView,
ClassLoader)
needs to be implemented.
resolveOuterSchemaCompatibility
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
oldSerializerSnapshot
- the old serializer snapshot, which contains the old outer
information to check against.CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
indicating whether the new serializer's outer
information is compatible, requires migration, or incompatible with the one written in
this snapshot.protected GenericArraySerializer<C> createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
CompositeTypeSerializerSnapshot
createOuterSerializerWithNestedSerializers
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
nestedSerializers
- array of nested serializers to create the outer serializer with.protected TypeSerializer<?>[] getNestedSerializers(GenericArraySerializer<C> outerSerializer)
CompositeTypeSerializerSnapshot
getNestedSerializers
in class CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
outerSerializer
- the outer serializer.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.