Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Remove version from BlobSourceCheckpointData
  • Loading branch information
jalauzon-msft committed Jan 7, 2025
commit e4aa9c7749990816cec99bcfde51322198e192e6

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@

namespace Azure.Storage.DataMovement.Blobs
{
internal class BlobDestinationCheckpointData : BlobCheckpointData
internal class BlobDestinationCheckpointData : StorageResourceCheckpointData
{
public int Version;

/// <summary>
/// The type of blob.
/// </summary>
Expand Down Expand Up @@ -74,8 +76,8 @@ public BlobDestinationCheckpointData(
AccessTier? accessTier,
DataTransferProperty<Metadata> metadata,
DataTransferProperty<Tags> tags)
: base(DataMovementBlobConstants.DestinationCheckpointData.SchemaVersion)
{
Version = DataMovementBlobConstants.DestinationCheckpointData.SchemaVersion;
BlobType = blobType;
PreserveBlobType = blobType?.Preserve ?? true;
BlobTypeValue = blobType?.Value != default ? blobType.Value : default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,17 @@
// Licensed under the MIT License.

using System.IO;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Common;

namespace Azure.Storage.DataMovement.Blobs
{
internal class BlobSourceCheckpointData : BlobCheckpointData
internal class BlobSourceCheckpointData : StorageResourceCheckpointData
{
public BlobSourceCheckpointData()
: base(DataMovementBlobConstants.SourceCheckpointData.SchemaVersion)
{
}

public override int Length => DataMovementBlobConstants.SourceCheckpointData.DataSize;
public override int Length => 0;

protected override void Serialize(Stream stream)
{
Argument.AssertNotNull(stream, nameof(stream));
BinaryWriter writer = new BinaryWriter(stream);

// Version
writer.Write(Version);
}

internal static BlobSourceCheckpointData Deserialize(Stream stream)
{
Argument.AssertNotNull(stream, nameof(stream));
BinaryReader reader = new BinaryReader(stream);

// Version
int version = reader.ReadInt32();
if (version != DataMovementBlobConstants.SourceCheckpointData.SchemaVersion)
{
throw Errors.UnsupportedJobSchemaVersionHeader(version.ToString());
}

return new BlobSourceCheckpointData();
}
internal static BlobSourceCheckpointData Deserialize(Stream stream) => new();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ private StorageResource FromTransferProperties(
bool getSource,
CancellationToken cancellationToken)
{
BlobCheckpointData checkpointData = properties.GetCheckpointData(getSource);
StorageResourceCheckpointData checkpointData = properties.GetCheckpointData(getSource);

ResourceType type = GetType(checkpointData, properties.IsContainer);
Uri uri = getSource ? properties.SourceUri : properties.DestinationUri;
Expand Down Expand Up @@ -725,7 +725,7 @@ public StorageResource Rehydrate(
}
#endregion

private static ResourceType GetType(BlobCheckpointData checkpointData, bool isContainer)
private static ResourceType GetType(StorageResourceCheckpointData checkpointData, bool isContainer)
{
if (isContainer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@ internal class ResourceId

internal class SourceCheckpointData
{
internal const int SchemaVersion = 2;

internal const int VersionIndex = 0;
internal const int DataSize = VersionIndex + IntSizeInBytes;
internal const int DataSize = 0;
}

internal class DestinationCheckpointData
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ internal static PageBlobUploadPagesFromUriOptions ToUploadPagesFromUriOptions(
};
}

internal static BlobCheckpointData GetCheckpointData(this DataTransferProperties properties, bool isSource)
internal static StorageResourceCheckpointData GetCheckpointData(this DataTransferProperties properties, bool isSource)
{
if (isSource)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
// Licensed under the MIT License.

extern alias DMBlobs;
extern alias BaseBlobs;

using System;
using System.IO;
using BaseBlobs::Azure.Storage.Blobs.Models;
using DMBlobs::Azure.Storage.DataMovement.Blobs;
using NUnit.Framework;

Expand All @@ -17,25 +16,17 @@ public class BlobSourceCheckpointDataTests
public void Ctor()
{
BlobSourceCheckpointData data = new();

Assert.AreEqual(DataMovementBlobConstants.SourceCheckpointData.SchemaVersion, data.Version);
}

[Test]
public void Serialize()
{
BlobSourceCheckpointData data = new();
byte[] expected = Array.Empty<byte>();

byte[] expected;
using (MemoryStream stream = new MemoryStream(DataMovementBlobConstants.SourceCheckpointData.DataSize))
{
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(DataMovementBlobConstants.SourceCheckpointData.SchemaVersion);
expected = stream.ToArray();
}
BlobSourceCheckpointData data = new();

byte[] actual;
using (MemoryStream stream = new MemoryStream(DataMovementBlobConstants.SourceCheckpointData.DataSize))
using (MemoryStream stream = new())
{
data.Serialize(stream);
actual = stream.ToArray();
Expand All @@ -45,20 +36,13 @@ public void Serialize()
}

[Test]
[TestCase(BlobType.Block)]
[TestCase(BlobType.Page)]
[TestCase(BlobType.Append)]
public void Deserialize(BlobType blobType)
public void Deserialize()
{
BlobSourceCheckpointData data = new();
BlobSourceCheckpointData deserialized;

using (Stream stream = new MemoryStream(DataMovementBlobConstants.SourceCheckpointData.DataSize))
using (MemoryStream stream = new())
{
data.Serialize(stream);
stream.Position = 0;
BlobSourceCheckpointData deserialized = BlobSourceCheckpointData.Deserialize(stream);

Assert.AreEqual(DataMovementBlobConstants.SourceCheckpointData.SchemaVersion, deserialized.Version);
deserialized = BlobSourceCheckpointData.Deserialize(Stream.Null);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ private static BlobDestinationCheckpointData GetDefaultDestinationCheckpointData
default,
default);

private static byte[] GetBytes(BlobCheckpointData checkpointData)
private static byte[] GetBytes(StorageResourceCheckpointData checkpointData)
{
using (MemoryStream stream = new MemoryStream())
{
Expand Down