Switch to UUIDv7

Signed-off-by: Raj Siva-Rajah <raj@zapzap.cloud>
This commit is contained in:
Raj Siva-Rajah 2025-07-02 01:41:45 +00:00
parent da404778ed
commit b559f27a08
10 changed files with 20 additions and 9 deletions

View File

@ -18,11 +18,11 @@ import (
"github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3"
"github.com/distribution/distribution/v3/internal/dcontext" "github.com/distribution/distribution/v3/internal/dcontext"
"github.com/distribution/distribution/v3/internal/uuid"
"github.com/distribution/distribution/v3/manifest/ocischema" "github.com/distribution/distribution/v3/manifest/ocischema"
"github.com/distribution/distribution/v3/registry/api/errcode" "github.com/distribution/distribution/v3/registry/api/errcode"
"github.com/distribution/distribution/v3/testutil" "github.com/distribution/distribution/v3/testutil"
"github.com/distribution/reference" "github.com/distribution/reference"
"github.com/google/uuid"
"github.com/opencontainers/go-digest" "github.com/opencontainers/go-digest"
"github.com/opencontainers/image-spec/specs-go" "github.com/opencontainers/image-spec/specs-go"
v1 "github.com/opencontainers/image-spec/specs-go/v1" v1 "github.com/opencontainers/image-spec/specs-go/v1"

View File

@ -4,7 +4,7 @@ import (
"context" "context"
"sync" "sync"
"github.com/google/uuid" "github.com/distribution/distribution/v3/internal/uuid"
) )
// instanceContext is a context that provides only an instance id. It is // instanceContext is a context that provides only an instance id. It is

View File

@ -9,7 +9,7 @@ import (
"time" "time"
"github.com/distribution/distribution/v3/internal/requestutil" "github.com/distribution/distribution/v3/internal/requestutil"
"github.com/google/uuid" "github.com/distribution/distribution/v3/internal/uuid"
"github.com/gorilla/mux" "github.com/gorilla/mux"
) )

View File

@ -5,7 +5,7 @@ import (
"runtime" "runtime"
"time" "time"
"github.com/google/uuid" "github.com/distribution/distribution/v3/internal/uuid"
) )
// WithTrace allocates a traced timing span in a new context. This allows a // WithTrace allocates a traced timing span in a new context. This allows a

11
internal/uuid/uuid.go Normal file
View File

@ -0,0 +1,11 @@
package uuid
import (
"github.com/google/uuid"
)
// Returns a new V7 UUID string. V7 UUIDs are time-ordered for better database performance.
// Panics on error to maintain compatibility with google/uuid's NewString() method.
func NewString() string {
return uuid.Must(uuid.NewV7()).String()
}

View File

@ -6,9 +6,9 @@ import (
"github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3"
"github.com/distribution/distribution/v3/internal/requestutil" "github.com/distribution/distribution/v3/internal/requestutil"
"github.com/distribution/distribution/v3/internal/uuid"
"github.com/distribution/reference" "github.com/distribution/reference"
events "github.com/docker/go-events" events "github.com/docker/go-events"
"github.com/google/uuid"
"github.com/opencontainers/go-digest" "github.com/opencontainers/go-digest"
v1 "github.com/opencontainers/image-spec/specs-go/v1" v1 "github.com/opencontainers/image-spec/specs-go/v1"
) )

View File

@ -4,11 +4,11 @@ import (
"testing" "testing"
"github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3"
"github.com/distribution/distribution/v3/internal/uuid"
"github.com/distribution/distribution/v3/manifest/schema2" "github.com/distribution/distribution/v3/manifest/schema2"
v2 "github.com/distribution/distribution/v3/registry/api/v2" v2 "github.com/distribution/distribution/v3/registry/api/v2"
"github.com/distribution/reference" "github.com/distribution/reference"
events "github.com/docker/go-events" events "github.com/docker/go-events"
"github.com/google/uuid"
"github.com/opencontainers/go-digest" "github.com/opencontainers/go-digest"
"github.com/opencontainers/image-spec/specs-go" "github.com/opencontainers/image-spec/specs-go"
v1 "github.com/opencontainers/image-spec/specs-go/v1" v1 "github.com/opencontainers/image-spec/specs-go/v1"

View File

@ -12,10 +12,10 @@ import (
"path" "path"
"time" "time"
"github.com/distribution/distribution/v3/internal/uuid"
storagedriver "github.com/distribution/distribution/v3/registry/storage/driver" storagedriver "github.com/distribution/distribution/v3/registry/storage/driver"
"github.com/distribution/distribution/v3/registry/storage/driver/base" "github.com/distribution/distribution/v3/registry/storage/driver/base"
"github.com/distribution/distribution/v3/registry/storage/driver/factory" "github.com/distribution/distribution/v3/registry/storage/driver/factory"
"github.com/google/uuid"
) )
const ( const (

View File

@ -10,9 +10,9 @@ import (
"github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3"
"github.com/distribution/distribution/v3/internal/dcontext" "github.com/distribution/distribution/v3/internal/dcontext"
"github.com/distribution/distribution/v3/internal/uuid"
"github.com/distribution/distribution/v3/registry/storage/driver" "github.com/distribution/distribution/v3/registry/storage/driver"
"github.com/distribution/reference" "github.com/distribution/reference"
"github.com/google/uuid"
"github.com/opencontainers/go-digest" "github.com/opencontainers/go-digest"
v1 "github.com/opencontainers/image-spec/specs-go/v1" v1 "github.com/opencontainers/image-spec/specs-go/v1"
) )

View File

@ -7,9 +7,9 @@ import (
"testing" "testing"
"time" "time"
"github.com/distribution/distribution/v3/internal/uuid"
"github.com/distribution/distribution/v3/registry/storage/driver" "github.com/distribution/distribution/v3/registry/storage/driver"
"github.com/distribution/distribution/v3/registry/storage/driver/inmemory" "github.com/distribution/distribution/v3/registry/storage/driver/inmemory"
"github.com/google/uuid"
) )
func testUploadFS(t *testing.T, numUploads int, repoName string, startedAt time.Time) (driver.StorageDriver, context.Context) { func testUploadFS(t *testing.T, numUploads int, repoName string, startedAt time.Time) (driver.StorageDriver, context.Context) {