satellite/metabase: versioning, add new statuses
There are several different object types in a versioned table, which will determine the exact behaviour. The object type states are: * Pending - the object is yet to be committed and is being uploaded. * Committed - the object has been finished and can be read. * DeleteMarker - indicates that the object should be treated as not present when is at the top of the version stack. There are also versioning states: * Unversioned - only one unversioned object is allowed per object key. * Versioned - multiple objects with the same key are allowed. Change-Id: I65dfa781e8da253a4e5d572b799d53c351196eee
This commit is contained in:
parent
58f75502f3
commit
41e16bc398
@ -217,7 +217,7 @@ func (s *scenario) run(ctx *testcontext.Context, b *testing.B, db *metabase.DB)
|
||||
err := db.IterateObjectsAllVersionsWithStatus(ctx, metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: "bucket",
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
}, func(ctx context.Context, it metabase.ObjectsIterator) error {
|
||||
var entry metabase.ObjectEntry
|
||||
for it.Next(ctx, &entry) {
|
||||
@ -241,7 +241,7 @@ func (s *scenario) run(ctx *testcontext.Context, b *testing.B, db *metabase.DB)
|
||||
ProjectID: projectID,
|
||||
BucketName: "bucket",
|
||||
Prefix: metabase.ObjectKey(prefixes[i]),
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
}, func(ctx context.Context, it metabase.ObjectsIterator) error {
|
||||
var entry metabase.ObjectEntry
|
||||
for it.Next(ctx, &entry) {
|
||||
@ -333,7 +333,7 @@ func (s *scenario) run(ctx *testcontext.Context, b *testing.B, db *metabase.DB)
|
||||
Cursor: metabase.IterateCursor{
|
||||
Key: object.ObjectKey,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
}, func(ctx context.Context, it metabase.ObjectsIterator) error {
|
||||
|
@ -302,7 +302,7 @@ func (db *DB) BeginSegment(ctx context.Context, opts BeginSegment) (err error) {
|
||||
object_key = $3 AND
|
||||
version = $4 AND
|
||||
stream_id = $5 AND
|
||||
status = `+pendingStatus,
|
||||
status = `+statusPending,
|
||||
opts.ProjectID, []byte(opts.BucketName), opts.ObjectKey, opts.Version, opts.StreamID).Scan(&value)
|
||||
}
|
||||
if err != nil {
|
||||
@ -440,7 +440,7 @@ func (db *DB) CommitSegment(ctx context.Context, opts CommitSegment) (err error)
|
||||
object_key = $14 AND
|
||||
version = $15 AND
|
||||
stream_id = $16 AND
|
||||
status = `+pendingStatus+
|
||||
status = `+statusPending+
|
||||
` ), $1, $2,
|
||||
$3, $4, $5,
|
||||
$6, $7, $8, $9,
|
||||
@ -566,7 +566,7 @@ func (db *DB) CommitInlineSegment(ctx context.Context, opts CommitInlineSegment)
|
||||
object_key = $13 AND
|
||||
version = $14 AND
|
||||
stream_id = $15 AND
|
||||
status = `+pendingStatus+
|
||||
status = `+statusPending+
|
||||
` ), $1, $2,
|
||||
$3, $4, $5,
|
||||
$6, $7, $8, $9,
|
||||
@ -703,7 +703,7 @@ func (db *DB) CommitObject(ctx context.Context, opts CommitObject) (object Objec
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
status = `+committedStatus,
|
||||
status = `+statusCommittedUnversioned,
|
||||
opts.ProjectID, []byte(opts.BucketName), opts.ObjectKey))(func(rows tagsql.Rows) error {
|
||||
for rows.Next() {
|
||||
var version Version
|
||||
@ -777,7 +777,7 @@ func (db *DB) CommitObject(ctx context.Context, opts CommitObject) (object Objec
|
||||
)
|
||||
SELECT
|
||||
$1 as project_id, $2 as bucket_name, $3 as object_key, $4::INT4 as version, $5 as stream_id,
|
||||
`+committedStatus+` as status, $6::INT4 as segment_count, $7::INT8 as total_plain_size, $8::INT8 as total_encrypted_size,
|
||||
`+statusCommittedUnversioned+` as status, $6::INT4 as segment_count, $7::INT8 as total_plain_size, $8::INT8 as total_encrypted_size,
|
||||
$9::INT4 as fixed_segment_size, NULL::timestamp as zombie_deletion_deadline, expires_at,
|
||||
-- TODO should we allow to override existing encryption parameters or return error if don't match with opts?
|
||||
CASE
|
||||
@ -838,7 +838,7 @@ func (db *DB) CommitObject(ctx context.Context, opts CommitObject) (object Objec
|
||||
}
|
||||
err = tx.QueryRowContext(ctx, `
|
||||
UPDATE objects SET
|
||||
status =`+committedStatus+`,
|
||||
status =`+statusCommittedUnversioned+`,
|
||||
segment_count = $6,
|
||||
|
||||
total_plain_size = $7,
|
||||
@ -859,7 +859,7 @@ func (db *DB) CommitObject(ctx context.Context, opts CommitObject) (object Objec
|
||||
object_key = $3 AND
|
||||
version = $4 AND
|
||||
stream_id = $5 AND
|
||||
status = `+pendingStatus+`
|
||||
status = `+statusPending+`
|
||||
RETURNING
|
||||
created_at, expires_at,
|
||||
encrypted_metadata, encrypted_metadata_encrypted_key, encrypted_metadata_nonce,
|
||||
@ -899,7 +899,7 @@ func (db *DB) CommitObject(ctx context.Context, opts CommitObject) (object Objec
|
||||
object.BucketName = opts.BucketName
|
||||
object.ObjectKey = opts.ObjectKey
|
||||
object.Version = opts.Version
|
||||
object.Status = Committed
|
||||
object.Status = CommittedUnversioned
|
||||
object.SegmentCount = int32(len(segments))
|
||||
object.TotalPlainSize = totalPlainSize
|
||||
object.TotalEncryptedSize = totalEncryptedSize
|
||||
|
@ -88,7 +88,7 @@ func (db *DB) CommitObjectWithSegments(ctx context.Context, opts CommitObjectWit
|
||||
|
||||
err = tx.QueryRowContext(ctx, `
|
||||
UPDATE objects SET
|
||||
status =`+committedStatus+`,
|
||||
status =`+statusCommittedUnversioned+`,
|
||||
segment_count = $6,
|
||||
|
||||
encrypted_metadata_nonce = $7,
|
||||
@ -105,7 +105,7 @@ func (db *DB) CommitObjectWithSegments(ctx context.Context, opts CommitObjectWit
|
||||
object_key = $3 AND
|
||||
version = $4 AND
|
||||
stream_id = $5 AND
|
||||
status = `+pendingStatus+`
|
||||
status = `+statusPending+`
|
||||
RETURNING
|
||||
created_at, expires_at,
|
||||
encryption;
|
||||
@ -132,7 +132,7 @@ func (db *DB) CommitObjectWithSegments(ctx context.Context, opts CommitObjectWit
|
||||
object.BucketName = opts.BucketName
|
||||
object.ObjectKey = opts.ObjectKey
|
||||
object.Version = opts.Version
|
||||
object.Status = Committed
|
||||
object.Status = CommittedUnversioned
|
||||
object.SegmentCount = int32(len(finalSegments))
|
||||
object.EncryptedMetadataNonce = opts.EncryptedMetadataNonce
|
||||
object.EncryptedMetadata = opts.EncryptedMetadata
|
||||
|
@ -159,7 +159,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -285,7 +285,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -383,7 +383,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -486,7 +486,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 2,
|
||||
|
||||
TotalPlainSize: 1024,
|
||||
@ -609,7 +609,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 2,
|
||||
|
||||
TotalPlainSize: 1024,
|
||||
@ -732,7 +732,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 2,
|
||||
|
||||
TotalPlainSize: 1024,
|
||||
@ -803,7 +803,7 @@ func TestCommitObjectWithSegments(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
|
@ -211,7 +211,7 @@ func TestBeginObjectNextVersion(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now2,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -278,7 +278,7 @@ func TestBeginObjectNextVersion(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now1,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -701,7 +701,7 @@ func TestBeginObjectExactVersion(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now1,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -758,7 +758,7 @@ func TestBeginObjectExactVersion(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now1,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -813,7 +813,7 @@ func TestBeginObjectExactVersion(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now1,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -1034,7 +1034,7 @@ func TestBeginSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -1178,7 +1178,7 @@ func TestBeginSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -1784,7 +1784,7 @@ func TestCommitSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -2565,7 +2565,7 @@ func TestCommitInlineSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
},
|
||||
@ -3250,7 +3250,7 @@ func TestCommitObject(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -3361,7 +3361,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 2,
|
||||
FixedSegmentSize: 512,
|
||||
@ -3468,7 +3468,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 2,
|
||||
FixedSegmentSize: math.MaxInt32,
|
||||
@ -3539,7 +3539,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 0,
|
||||
|
||||
@ -3580,7 +3580,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 0,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -3621,7 +3621,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
@ -3670,7 +3670,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
@ -3715,7 +3715,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -3791,7 +3791,7 @@ func TestCommitObject(t *testing.T) {
|
||||
StreamID: obj.StreamID,
|
||||
},
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -3908,7 +3908,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 2,
|
||||
FixedSegmentSize: 512,
|
||||
@ -4022,7 +4022,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 2,
|
||||
FixedSegmentSize: math.MaxInt32,
|
||||
@ -4067,7 +4067,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 0,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -4113,7 +4113,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
@ -4167,7 +4167,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
@ -4217,7 +4217,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -4279,7 +4279,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
TotalEncryptedSize: int64(len(expectedInlineData)),
|
||||
|
||||
@ -4343,7 +4343,7 @@ func TestCommitObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 0,
|
||||
ExpiresAt: &expectedExpiresAt,
|
||||
|
||||
@ -4528,7 +4528,7 @@ func TestCommitObjectWithIncorrectPartSize(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
SegmentCount: 2,
|
||||
FixedSegmentSize: -1,
|
||||
|
@ -349,18 +349,57 @@ const PendingVersion = Version(0)
|
||||
// Version in DB is represented as INT4.
|
||||
const MaxVersion = Version(math.MaxInt32)
|
||||
|
||||
// ObjectStatus defines the statuses that the object might be in.
|
||||
// ObjectStatus defines the status that the object is in.
|
||||
//
|
||||
// There are two types of objects:
|
||||
// - Regular (i.e. Committed), which is used for storing data.
|
||||
// - Delete Marker, which is used to show that an object has been deleted, while preserving older versions.
|
||||
//
|
||||
// Each object can be in two states:
|
||||
// - Pending, meaning that it's still being uploaded.
|
||||
// - Committed, meaning it has finished uploading.
|
||||
// Delete Markers are always considered committed, because they do not require committing.
|
||||
//
|
||||
// There are two options for versioning:
|
||||
// - Unversioned, there's only one allowed per project, bucket and encryption key.
|
||||
// - Versioned, there can be any number of such objects for a given project, bucket and encryption key.
|
||||
//
|
||||
// These lead to a few meaningful distinct statuses, listed below.
|
||||
type ObjectStatus byte
|
||||
|
||||
const (
|
||||
// Pending means that the object is being uploaded or that the client failed during upload.
|
||||
// The failed upload may be continued in the future.
|
||||
Pending = ObjectStatus(1)
|
||||
// Committed means that the object is finished and should be visible for general listing.
|
||||
Committed = ObjectStatus(3)
|
||||
// CommittedUnversioned means that the object is finished and should be visible for general listing.
|
||||
CommittedUnversioned = ObjectStatus(3)
|
||||
// CommittedVersioned means that the object is finished and should be visible for general listing.
|
||||
CommittedVersioned = ObjectStatus(4)
|
||||
// DeleteMarkerUnversioned is inserted when an unversioned object is deleted in a versioning suspended bucket.
|
||||
DeleteMarkerUnversioned = ObjectStatus(5)
|
||||
// DeleteMarkerVersioned is inserted when an object is deleted in a versioning enabled bucket.
|
||||
DeleteMarkerVersioned = ObjectStatus(6)
|
||||
|
||||
pendingStatus = "1"
|
||||
committedStatus = "3"
|
||||
// Constants that can be used while constructing SQL queries.
|
||||
statusPending = "1"
|
||||
statusCommittedUnversioned = "3"
|
||||
statusCommittedVersioned = "4"
|
||||
statusesCommitted = "(3,4)"
|
||||
statusDeleteMarkerUnversioned = "5"
|
||||
statusDeleteMarkerVersioned = "6"
|
||||
statusesDeleteMarker = "(5,6)"
|
||||
)
|
||||
|
||||
// stub uses so the linter wouldn't complain.
|
||||
var (
|
||||
_ = CommittedVersioned
|
||||
_ = DeleteMarkerUnversioned
|
||||
_ = DeleteMarkerVersioned
|
||||
_ = statusCommittedVersioned
|
||||
_ = statusesCommitted
|
||||
_ = statusDeleteMarkerUnversioned
|
||||
_ = statusDeleteMarkerVersioned
|
||||
_ = statusesDeleteMarker
|
||||
)
|
||||
|
||||
// Pieces defines information for pieces.
|
||||
|
@ -251,7 +251,7 @@ func (db *DB) FinishCopyObject(ctx context.Context, opts FinishCopyObject) (obje
|
||||
zombie_deletion_deadline
|
||||
) VALUES (
|
||||
$1, $2, $3, $4, $5,
|
||||
$6,`+committedStatus+`, $7,
|
||||
$6,`+statusCommittedUnversioned+`, $7,
|
||||
$8,
|
||||
$9, $10, $11,
|
||||
$12, $13, $14, null
|
||||
@ -342,7 +342,7 @@ func getObjectAtCopySourceAndDestination(
|
||||
sourceObject.BucketName = opts.BucketName
|
||||
sourceObject.ObjectKey = opts.ObjectKey
|
||||
sourceObject.Version = opts.Version
|
||||
sourceObject.Status = Committed
|
||||
sourceObject.Status = CommittedUnversioned
|
||||
|
||||
// get objects at source and destination (if any)
|
||||
rows, err := tx.QueryContext(ctx, `
|
||||
@ -370,7 +370,7 @@ func getObjectAtCopySourceAndDestination(
|
||||
bucket_name = $3 AND
|
||||
object_key = $4 AND
|
||||
version = $2 AND
|
||||
status = `+committedStatus+`
|
||||
status = `+statusCommittedUnversioned+`
|
||||
UNION ALL
|
||||
SELECT
|
||||
stream_id,
|
||||
@ -387,7 +387,7 @@ func getObjectAtCopySourceAndDestination(
|
||||
bucket_name = $5 AND
|
||||
object_key = $6 AND
|
||||
version = (SELECT version FROM destination_current_versions
|
||||
WHERE status = `+committedStatus+`)`,
|
||||
WHERE status = `+statusCommittedUnversioned+`)`,
|
||||
sourceObject.ProjectID, sourceObject.Version,
|
||||
[]byte(sourceObject.BucketName), sourceObject.ObjectKey,
|
||||
opts.NewBucket, opts.NewEncryptedObjectKey)
|
||||
|
@ -182,7 +182,7 @@ func (db *DB) TestMigrateToLatest(ctx context.Context) error {
|
||||
created_at TIMESTAMPTZ NOT NULL default now(),
|
||||
expires_at TIMESTAMPTZ,
|
||||
|
||||
status INT2 NOT NULL default ` + pendingStatus + `,
|
||||
status INT2 NOT NULL default ` + statusPending + `,
|
||||
segment_count INT4 NOT NULL default 0,
|
||||
|
||||
encrypted_metadata_nonce BYTEA default NULL,
|
||||
@ -409,7 +409,7 @@ func (db *DB) PostgresMigration() *migrate.Migration {
|
||||
created_at TIMESTAMPTZ NOT NULL default now(),
|
||||
expires_at TIMESTAMPTZ,
|
||||
|
||||
status INT2 NOT NULL default ` + pendingStatus + `,
|
||||
status INT2 NOT NULL default ` + statusPending + `,
|
||||
segment_count INT4 NOT NULL default 0,
|
||||
|
||||
encrypted_metadata_nonce BYTEA default NULL,
|
||||
|
@ -113,7 +113,7 @@ WITH deleted_objects AS (
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
status = ` + committedStatus + ` AND
|
||||
status = ` + statusCommittedUnversioned + ` AND
|
||||
(expires_at IS NULL OR expires_at > now())
|
||||
ORDER BY version DESC
|
||||
)
|
||||
@ -207,7 +207,7 @@ func (db *DB) DeletePendingObject(ctx context.Context, opts DeletePendingObject)
|
||||
object_key = $3 AND
|
||||
version = $4 AND
|
||||
stream_id = $5 AND
|
||||
status = `+pendingStatus+`
|
||||
status = `+statusPending+`
|
||||
RETURNING
|
||||
version, stream_id, created_at, expires_at, status, segment_count,
|
||||
encrypted_metadata_nonce, encrypted_metadata, encrypted_metadata_encrypted_key,
|
||||
@ -325,7 +325,7 @@ func (db *DB) DeleteObjectsAllVersions(ctx context.Context, opts DeleteObjectsAl
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = ANY ($3) AND
|
||||
status = `+committedStatus+`
|
||||
status = `+statusCommittedUnversioned+`
|
||||
RETURNING
|
||||
project_id, bucket_name, object_key, version, stream_id, created_at, expires_at,
|
||||
status, segment_count, encrypted_metadata_nonce, encrypted_metadata,
|
||||
|
@ -142,7 +142,7 @@ func TestDeleteBucketObjects(t *testing.T) {
|
||||
{
|
||||
ObjectStream: objX,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -153,7 +153,7 @@ func TestDeleteBucketObjects(t *testing.T) {
|
||||
{
|
||||
ObjectStream: objY,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
|
@ -116,7 +116,7 @@ func (db *DB) DeleteZombieObjects(ctx context.Context, opts DeleteZombieObjects)
|
||||
` + db.impl.AsOfSystemInterval(opts.AsOfSystemInterval) + `
|
||||
WHERE
|
||||
(project_id, bucket_name, object_key, version) > ($1, $2, $3, $4)
|
||||
AND status = ` + pendingStatus + `
|
||||
AND status = ` + statusPending + `
|
||||
AND (zombie_deletion_deadline IS NULL OR zombie_deletion_deadline < $5)
|
||||
ORDER BY project_id, bucket_name, object_key, version
|
||||
LIMIT $6;`
|
||||
|
@ -114,7 +114,7 @@ func TestDeletePendingObject(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -348,7 +348,7 @@ func TestDeletePendingObjectNew(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -1349,7 +1349,7 @@ func TestDeleteObjectLastCommitted(t *testing.T) {
|
||||
{
|
||||
ObjectStream: newObjDiffVersion,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
},
|
||||
|
@ -95,7 +95,7 @@ func (db *DB) GetObjectExactVersion(ctx context.Context, opts GetObjectExactVers
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
version = $4 AND
|
||||
status = `+committedStatus+` AND
|
||||
status = `+statusCommittedUnversioned+` AND
|
||||
(expires_at IS NULL OR expires_at > now())`,
|
||||
opts.ProjectID, []byte(opts.BucketName), opts.ObjectKey, opts.Version).
|
||||
Scan(
|
||||
@ -118,7 +118,7 @@ func (db *DB) GetObjectExactVersion(ctx context.Context, opts GetObjectExactVers
|
||||
object.ObjectKey = opts.ObjectKey
|
||||
object.Version = opts.Version
|
||||
|
||||
object.Status = Committed
|
||||
object.Status = CommittedUnversioned
|
||||
|
||||
return object, nil
|
||||
}
|
||||
@ -152,7 +152,7 @@ func (db *DB) GetObjectLastCommitted(ctx context.Context, opts GetObjectLastComm
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
status = `+committedStatus+` AND
|
||||
status = `+statusCommittedUnversioned+` AND
|
||||
(expires_at IS NULL OR expires_at > now())
|
||||
ORDER BY version desc
|
||||
`, opts.ProjectID, []byte(opts.BucketName), opts.ObjectKey))(func(rows tagsql.Rows) error {
|
||||
@ -200,7 +200,7 @@ func (db *DB) GetObjectLastCommitted(ctx context.Context, opts GetObjectLastComm
|
||||
object.ProjectID = opts.ProjectID
|
||||
object.BucketName = opts.BucketName
|
||||
object.ObjectKey = opts.ObjectKey
|
||||
object.Status = Committed
|
||||
object.Status = CommittedUnversioned
|
||||
|
||||
return object, nil
|
||||
}
|
||||
@ -301,7 +301,7 @@ func (db *DB) GetLatestObjectLastSegment(ctx context.Context, opts GetLatestObje
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
status = `+committedStatus+`
|
||||
status = `+statusCommittedUnversioned+`
|
||||
ORDER BY version DESC
|
||||
LIMIT 1
|
||||
)
|
||||
@ -385,7 +385,7 @@ func (db *DB) BucketEmpty(ctx context.Context, opts BucketEmpty) (empty bool, er
|
||||
func (db *DB) TestingAllCommittedObjects(ctx context.Context, projectID uuid.UUID, bucketName string) (objects []ObjectEntry, err error) {
|
||||
defer mon.Task()(&ctx)(&err)
|
||||
|
||||
return db.testingAllObjectsByStatus(ctx, projectID, bucketName, Committed)
|
||||
return db.testingAllObjectsByStatus(ctx, projectID, bucketName, CommittedUnversioned)
|
||||
}
|
||||
|
||||
func (db *DB) testingAllObjectsByStatus(ctx context.Context, projectID uuid.UUID, bucketName string, status ObjectStatus) (objects []ObjectEntry, err error) {
|
||||
|
@ -90,7 +90,7 @@ func TestGetObjectExactVersion(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -147,7 +147,7 @@ func TestGetObjectExactVersion(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
ExpiresAt: &expiresAt,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -167,7 +167,7 @@ func TestGetObjectExactVersion(t *testing.T) {
|
||||
Result: metabase.Object{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -177,7 +177,7 @@ func TestGetObjectExactVersion(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
@ -273,7 +273,7 @@ func TestGetObjectLastCommitted(t *testing.T) {
|
||||
Result: metabase.Object{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -285,7 +285,7 @@ func TestGetObjectLastCommitted(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -319,7 +319,7 @@ func TestGetObjectLastCommitted(t *testing.T) {
|
||||
Result: metabase.Object{
|
||||
ObjectStream: firstObject,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
@ -328,7 +328,7 @@ func TestGetObjectLastCommitted(t *testing.T) {
|
||||
{
|
||||
ObjectStream: firstObject,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
metabase.RawObject(secondObject),
|
||||
@ -373,7 +373,7 @@ func TestGetObjectLastCommitted(t *testing.T) {
|
||||
StreamID: copiedObj.StreamID,
|
||||
},
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
EncryptedMetadata: copiedObj.EncryptedMetadata,
|
||||
EncryptedMetadataNonce: copiedObj.EncryptedMetadataNonce,
|
||||
@ -473,7 +473,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj1.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -486,7 +486,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
ObjectStream: obj2.ObjectStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj2.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -607,7 +607,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -620,7 +620,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
ObjectStream: copyObjStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -778,7 +778,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -787,7 +787,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
ObjectStream: copyObjStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
EncryptedMetadataNonce: newEncryptedMetadataKeyNonce[:],
|
||||
@ -949,7 +949,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -960,7 +960,7 @@ func TestGetSegmentByPosition(t *testing.T) {
|
||||
ObjectStream: copyObjStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
EncryptedMetadataNonce: newEncryptedMetadataKeyNonce[:],
|
||||
@ -1053,7 +1053,7 @@ func TestGetLatestObjectLastSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 2,
|
||||
|
||||
TotalPlainSize: 1024,
|
||||
@ -1302,7 +1302,7 @@ func TestGetLatestObjectLastSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -1311,7 +1311,7 @@ func TestGetLatestObjectLastSegment(t *testing.T) {
|
||||
ObjectStream: copyObjStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
EncryptedMetadataNonce: newEncryptedMetadataKeyNonce[:],
|
||||
@ -1469,7 +1469,7 @@ func TestGetLatestObjectLastSegment(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj.ObjectStream,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
@ -1480,7 +1480,7 @@ func TestGetLatestObjectLastSegment(t *testing.T) {
|
||||
ObjectStream: copyObjStream,
|
||||
CreatedAt: now,
|
||||
ExpiresAt: obj.ExpiresAt,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
EncryptedMetadataNonce: newEncryptedMetadataKeyNonce[:],
|
||||
|
@ -327,7 +327,7 @@ func doNextQueryStreamsByKey(ctx context.Context, it *objectsIterator) (_ tagsql
|
||||
project_id = $1 AND bucket_name = $2
|
||||
AND object_key = $3
|
||||
AND stream_id > $4::BYTEA
|
||||
AND status = `+pendingStatus+`
|
||||
AND status = `+statusPending+`
|
||||
ORDER BY stream_id ASC
|
||||
LIMIT $5
|
||||
`, it.projectID, it.bucketName,
|
||||
|
@ -29,7 +29,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: uuid.UUID{},
|
||||
BucketName: "sj://mybucket",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
},
|
||||
ErrClass: &metabase.ErrInvalidRequest,
|
||||
ErrText: "ProjectID missing",
|
||||
@ -41,7 +41,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
},
|
||||
ErrClass: &metabase.ErrInvalidRequest,
|
||||
ErrText: "BucketName missing",
|
||||
@ -54,7 +54,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: "mybucket",
|
||||
BatchSize: -1,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
},
|
||||
ErrClass: &metabase.ErrInvalidRequest,
|
||||
ErrText: "BatchSize is negative",
|
||||
@ -83,7 +83,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: "myemptybucket",
|
||||
BatchSize: 10,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
},
|
||||
Result: nil,
|
||||
}.Check(ctx, t, db)
|
||||
@ -135,7 +135,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -144,7 +144,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Version: committed.Version,
|
||||
StreamID: committed.StreamID,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
EncryptedMetadataNonce: encryptedMetadataNonce[:],
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -187,7 +187,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: "mybucket",
|
||||
Recursive: true,
|
||||
BatchSize: limit,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -211,7 +211,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: "mybucket",
|
||||
Recursive: true,
|
||||
BatchSize: limit,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -238,7 +238,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "bucket-a",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -267,7 +267,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "mybucket",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -300,7 +300,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -322,7 +322,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -345,7 +345,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -368,7 +368,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -386,7 +386,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -405,7 +405,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -423,7 +423,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -454,15 +454,15 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
objects["a"],
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
@ -471,16 +471,16 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
Cursor: metabase.IterateCursor{Key: "a", Version: objects["a"].Version + 1},
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
@ -489,16 +489,16 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
Cursor: metabase.IterateCursor{Key: "b", Version: 0},
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
@ -507,7 +507,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -524,7 +524,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -542,7 +542,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -559,7 +559,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -573,7 +573,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -582,7 +582,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
},
|
||||
Result: withoutPrefix("c/",
|
||||
objects["c/"],
|
||||
prefixEntry("c//", metabase.Committed),
|
||||
prefixEntry("c//", metabase.CommittedUnversioned),
|
||||
objects["c/1"],
|
||||
),
|
||||
}.Check(ctx, t, db)
|
||||
@ -591,7 +591,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Opts: metabase.IterateObjectsWithStatus{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -635,7 +635,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Version: -1,
|
||||
},
|
||||
Prefix: prefix,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
}, collector.Add)
|
||||
require.NoError(t, err)
|
||||
@ -650,7 +650,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
},
|
||||
Prefix: prefix,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
}, collector.Add)
|
||||
require.NoError(t, err)
|
||||
@ -672,7 +672,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
Version: -1,
|
||||
},
|
||||
Prefix: metabase.ObjectKey([]byte{1}),
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
}, collector.Add)
|
||||
@ -695,7 +695,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: bucketName,
|
||||
Prefix: metabase.ObjectKey("a/"),
|
||||
BatchSize: 1,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
}, collector.Add)
|
||||
require.NoError(t, err)
|
||||
@ -721,7 +721,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: obj1.ProjectID,
|
||||
BucketName: obj1.BucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
}, collector.Add)
|
||||
@ -754,7 +754,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: obj1.ProjectID,
|
||||
BucketName: obj1.BucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: false,
|
||||
IncludeSystemMetadata: true,
|
||||
}, collector.Add)
|
||||
@ -788,7 +788,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: obj1.ProjectID,
|
||||
BucketName: obj1.BucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: false,
|
||||
}, collector.Add)
|
||||
@ -800,7 +800,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
require.NotEmpty(t, entry.ObjectKey)
|
||||
require.NotEmpty(t, entry.StreamID)
|
||||
require.NotZero(t, entry.Version)
|
||||
require.Equal(t, metabase.Committed, entry.Status)
|
||||
require.Equal(t, metabase.CommittedUnversioned, entry.Status)
|
||||
require.False(t, entry.Encryption.IsZero())
|
||||
|
||||
require.True(t, entry.CreatedAt.IsZero())
|
||||
@ -830,7 +830,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Prefix: metabase.ObjectKey("a/"),
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
BatchSize: 1,
|
||||
}, collector.Add)
|
||||
require.NoError(t, err)
|
||||
@ -927,7 +927,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
BucketName: bucketName,
|
||||
Recursive: false,
|
||||
Prefix: "aaaa/",
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
BatchSize: 2,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -974,7 +974,7 @@ func TestIterateObjectsWithStatus(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
BatchSize: 3,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -1010,13 +1010,13 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1030,13 +1030,13 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1050,12 +1050,12 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -1079,13 +1079,13 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1099,12 +1099,12 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1118,12 +1118,12 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -1164,15 +1164,15 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08"),
|
||||
Version: objects["2017/05/08"].Version,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1187,14 +1187,14 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -1208,14 +1208,14 @@ func TestIterateObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: []metabase.ObjectEntry{
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -1482,7 +1482,7 @@ func createObjects(ctx *testcontext.Context, t *testing.T, db *metabase.DB, numb
|
||||
objects[i] = metabase.RawObject{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
}
|
||||
}
|
||||
@ -1508,7 +1508,7 @@ func createObjectsWithKeys(ctx *testcontext.Context, t *testing.T, db *metabase.
|
||||
Version: obj.Version,
|
||||
StreamID: obj.StreamID,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
}
|
||||
}
|
||||
@ -1584,7 +1584,7 @@ func BenchmarkNonRecursiveListing(b *testing.B) {
|
||||
ProjectID: baseObj.ProjectID,
|
||||
BucketName: baseObj.BucketName,
|
||||
BatchSize: 5,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
}, func(ctx context.Context, oi metabase.ObjectsIterator) error {
|
||||
entry := metabase.ObjectEntry{}
|
||||
for oi.Next(ctx, &entry) {
|
||||
@ -1602,7 +1602,7 @@ func BenchmarkNonRecursiveListing(b *testing.B) {
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "foo/",
|
||||
BatchSize: 5,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
}, func(ctx context.Context, oi metabase.ObjectsIterator) error {
|
||||
entry := metabase.ObjectEntry{}
|
||||
for oi.Next(ctx, &entry) {
|
||||
@ -1620,7 +1620,7 @@ func BenchmarkNonRecursiveListing(b *testing.B) {
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "boo/",
|
||||
BatchSize: 5,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
}, func(ctx context.Context, oi metabase.ObjectsIterator) error {
|
||||
entry := metabase.ObjectEntry{}
|
||||
for oi.Next(ctx, &entry) {
|
||||
|
@ -92,7 +92,7 @@ func (opts *IterateObjectsWithStatus) Verify() error {
|
||||
return ErrInvalidRequest.New("BucketName missing")
|
||||
case opts.BatchSize < 0:
|
||||
return ErrInvalidRequest.New("BatchSize is negative")
|
||||
case !(opts.Status == Pending || opts.Status == Committed):
|
||||
case !(opts.Status == Pending || opts.Status == CommittedUnversioned):
|
||||
return ErrInvalidRequest.New("Status %v is not supported", opts.Status)
|
||||
}
|
||||
return nil
|
||||
|
@ -38,7 +38,7 @@ func (opts *ListObjects) Verify() error {
|
||||
return ErrInvalidRequest.New("BucketName missing")
|
||||
case opts.Limit < 0:
|
||||
return ErrInvalidRequest.New("Invalid limit: %d", opts.Limit)
|
||||
case !(opts.Status == Pending || opts.Status == Committed):
|
||||
case !(opts.Status == Pending || opts.Status == CommittedUnversioned):
|
||||
return ErrInvalidRequest.New("Status is invalid")
|
||||
}
|
||||
return nil
|
||||
|
@ -86,7 +86,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: obj.ProjectID,
|
||||
BucketName: obj.BucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{},
|
||||
}.Check(ctx, t, db)
|
||||
@ -116,7 +116,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "mybucket",
|
||||
Recursive: false,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
Limit: limit,
|
||||
@ -143,7 +143,7 @@ func TestListObjects(t *testing.T) {
|
||||
BucketName: "mybucket",
|
||||
Recursive: true,
|
||||
Limit: limit,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -172,7 +172,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "bucket-a",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -202,7 +202,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: uuid.UUID{1},
|
||||
BucketName: "mybucket",
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -236,7 +236,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
@ -259,7 +259,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -283,7 +283,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -307,7 +307,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -326,7 +326,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -346,7 +346,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -365,7 +365,7 @@ func TestListObjects(t *testing.T) {
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Recursive: true,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -396,16 +396,16 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
objects["a"],
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
@ -414,7 +414,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -422,9 +422,9 @@ func TestListObjects(t *testing.T) {
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
@ -433,7 +433,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -441,9 +441,9 @@ func TestListObjects(t *testing.T) {
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry("b/", metabase.Committed),
|
||||
prefixEntry("b/", metabase.CommittedUnversioned),
|
||||
objects["c"],
|
||||
prefixEntry("c/", metabase.Committed),
|
||||
prefixEntry("c/", metabase.CommittedUnversioned),
|
||||
objects["g"],
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
@ -452,7 +452,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -470,7 +470,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -489,7 +489,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -507,7 +507,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -521,7 +521,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -531,7 +531,7 @@ func TestListObjects(t *testing.T) {
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: withoutPrefix("c/",
|
||||
objects["c/"],
|
||||
prefixEntry("c//", metabase.Committed),
|
||||
prefixEntry("c//", metabase.CommittedUnversioned),
|
||||
objects["c/1"],
|
||||
)},
|
||||
}.Check(ctx, t, db)
|
||||
@ -540,7 +540,7 @@ func TestListObjects(t *testing.T) {
|
||||
Opts: metabase.ListObjects{
|
||||
ProjectID: projectID,
|
||||
BucketName: bucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
|
||||
@ -579,14 +579,14 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -600,14 +600,14 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -621,13 +621,13 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -651,14 +651,14 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -672,13 +672,13 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -692,13 +692,13 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -738,16 +738,16 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08"),
|
||||
Version: objects["2017/05/08"].Version,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("08/"), metabase.CommittedUnversioned),
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -762,15 +762,15 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
|
||||
@ -784,15 +784,15 @@ func TestListObjectsSkipCursor(t *testing.T) {
|
||||
Key: metabase.ObjectKey("2017/05/08/a/x"),
|
||||
Version: 1,
|
||||
},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
IncludeCustomMetadata: true,
|
||||
IncludeSystemMetadata: true,
|
||||
},
|
||||
Result: metabase.ListObjectsResult{
|
||||
Objects: []metabase.ObjectEntry{
|
||||
withoutPrefix1("2017/05/", objects["2017/05/08"+afterDelimiter]),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.Committed),
|
||||
prefixEntry(metabase.ObjectKey("09/"), metabase.CommittedUnversioned),
|
||||
prefixEntry(metabase.ObjectKey("10/"), metabase.CommittedUnversioned),
|
||||
}},
|
||||
}.Check(ctx, t, db)
|
||||
})
|
||||
@ -829,7 +829,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
result, err := db.ListObjects(ctx, metabase.ListObjects{
|
||||
ProjectID: baseObj.ProjectID,
|
||||
BucketName: baseObj.BucketName,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
@ -838,7 +838,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
ProjectID: baseObj.ProjectID,
|
||||
BucketName: baseObj.BucketName,
|
||||
Cursor: metabase.ListObjectsCursor{Key: result.Objects[len(result.Objects)-1].ObjectKey},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
@ -852,7 +852,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
ProjectID: baseObj.ProjectID,
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "foo/",
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
@ -863,7 +863,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "foo/",
|
||||
Cursor: metabase.ListObjectsCursor{Key: cursorKey},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
@ -877,7 +877,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
ProjectID: baseObj.ProjectID,
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "boo/",
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
@ -888,7 +888,7 @@ func BenchmarkNonRecursiveObjectsListing(b *testing.B) {
|
||||
BucketName: baseObj.BucketName,
|
||||
Prefix: "boo/",
|
||||
Cursor: metabase.ListObjectsCursor{Key: cursorKey},
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Limit: batchsize,
|
||||
})
|
||||
require.NoError(b, err)
|
||||
|
@ -106,7 +106,7 @@ func TestIterateLoopObjects(t *testing.T) {
|
||||
},
|
||||
{
|
||||
ObjectStream: committed,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
EncryptedMetadataSize: len(encryptedMetadata),
|
||||
CreatedAt: createdAt,
|
||||
},
|
||||
@ -717,7 +717,7 @@ func TestIterateLoopSegments(t *testing.T) {
|
||||
func loopObjectEntryFromRaw(m metabase.RawObject) metabase.LoopObjectEntry {
|
||||
return metabase.LoopObjectEntry{
|
||||
ObjectStream: m.ObjectStream,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
CreatedAt: m.CreatedAt,
|
||||
ExpiresAt: m.ExpiresAt,
|
||||
SegmentCount: m.SegmentCount,
|
||||
|
@ -242,7 +242,7 @@ func CreateFullObjectsWithKeys(ctx *testcontext.Context, t *testing.T, db *metab
|
||||
|
||||
objects[key] = metabase.LoopObjectEntry{
|
||||
ObjectStream: obj,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
CreatedAt: time.Now(),
|
||||
}
|
||||
}
|
||||
|
@ -64,12 +64,12 @@ func (db *DB) UpdateObjectMetadata(ctx context.Context, opts UpdateObjectMetadat
|
||||
project_id = $1 AND
|
||||
bucket_name = $2 AND
|
||||
object_key = $3 AND
|
||||
status = `+committedStatus+` AND
|
||||
status = `+statusCommittedUnversioned+` AND
|
||||
(expires_at IS NULL OR expires_at > now())
|
||||
ORDER BY version desc
|
||||
) AND
|
||||
stream_id = $4 AND
|
||||
status = `+committedStatus,
|
||||
status = `+statusCommittedUnversioned,
|
||||
opts.ProjectID, []byte(opts.BucketName), opts.ObjectKey, opts.StreamID,
|
||||
opts.EncryptedMetadataNonce, opts.EncryptedMetadata, opts.EncryptedMetadataEncryptedKey)
|
||||
if err != nil {
|
||||
|
@ -82,7 +82,7 @@ func TestUpdateObjectMetadata(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
},
|
||||
@ -105,7 +105,7 @@ func TestUpdateObjectMetadata(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
@ -142,7 +142,7 @@ func TestUpdateObjectMetadata(t *testing.T) {
|
||||
{
|
||||
ObjectStream: newObjDiffVersion,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
},
|
||||
},
|
||||
@ -172,7 +172,7 @@ func TestUpdateObjectMetadata(t *testing.T) {
|
||||
{
|
||||
ObjectStream: newObjDiffVersion,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
Encryption: metabasetest.DefaultEncryption,
|
||||
|
||||
EncryptedMetadata: encryptedMetadata,
|
||||
|
@ -176,7 +176,7 @@ func (db *DB) FinishMoveObject(ctx context.Context, opts FinishMoveObject) (err
|
||||
return Error.New("failed to scan objects: %w", err)
|
||||
}
|
||||
|
||||
if status == Committed {
|
||||
if status == CommittedUnversioned {
|
||||
return ErrObjectAlreadyExists.New("")
|
||||
} else if status == Pending && version == opts.Version {
|
||||
useNewVersion = true
|
||||
|
@ -323,7 +323,7 @@ func TestUpdateSegmentPieces(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
@ -400,7 +400,7 @@ func TestUpdateSegmentPieces(t *testing.T) {
|
||||
{
|
||||
ObjectStream: obj,
|
||||
CreatedAt: now,
|
||||
Status: metabase.Committed,
|
||||
Status: metabase.CommittedUnversioned,
|
||||
SegmentCount: 1,
|
||||
|
||||
TotalPlainSize: 512,
|
||||
|
@ -83,7 +83,7 @@ func TestZombieDeletion(t *testing.T) {
|
||||
objects, err = planet.Satellites[0].Metabase.DB.TestingAllObjects(ctx)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, objects, 1)
|
||||
require.Equal(t, metabase.Committed, objects[0].Status)
|
||||
require.Equal(t, metabase.CommittedUnversioned, objects[0].Status)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -887,7 +887,7 @@ func (endpoint *Endpoint) ListObjects(ctx context.Context, req *pb.ObjectListReq
|
||||
}
|
||||
|
||||
// Default to Commmitted status for backward-compatibility with older uplinks.
|
||||
status := metabase.Committed
|
||||
status := metabase.CommittedUnversioned
|
||||
if req.Status != pb.Object_INVALID {
|
||||
status = metabase.ObjectStatus(req.Status)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user