Skip to content

Commit e23b1fe

Browse files
diana.strebkova@t-systems.comdianaStr7
diana.strebkova@t-systems.com
authored andcommitted
Added fix when minio serve_direct is true
1 parent 0482d5e commit e23b1fe

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

models/packages/package_file.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ func extractBuildNumberFromFileName(filename string) (int, error) {
279279

280280
buildNumber, err := strconv.Atoi(buildNumberStr)
281281
if err != nil {
282-
return 0, fmt.Errorf("failed to convert build number to integer: '%s'", buildNumberStr)
282+
return 0, fmt.Errorf("failed to convert maven package build number to integer: '%s'", buildNumberStr)
283283
}
284284

285285
return buildNumber, nil

modules/setting/packages.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ func loadPackagesFrom(rootCfg ConfigProvider) (err error) {
8989
Packages.LimitSizeRubyGems = mustBytes(sec, "LIMIT_SIZE_RUBYGEMS")
9090
Packages.LimitSizeSwift = mustBytes(sec, "LIMIT_SIZE_SWIFT")
9191
Packages.LimitSizeVagrant = mustBytes(sec, "LIMIT_SIZE_VAGRANT")
92+
Packages.DefaultRPMSignEnabled = sec.Key("DEFAULT_RPM_SIGN_ENABLED").MustBool(false)
9293
Packages.RetainMavenSnapshotBuilds = sec.Key("RETAIN_MAVEN_SNAPSHOT_BUILDS").MustInt(Packages.RetainMavenSnapshotBuilds)
9394
return nil
9495
}

services/packages/maven/cleanup.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func CleanupSnapshotVersions(ctx context.Context) error {
5151
}
5252

5353
func isSnapshotVersion(version string) bool {
54-
return strings.Contains(version, "-SNAPSHOT")
54+
return strings.HasSuffix(version, "-SNAPSHOT")
5555
}
5656

5757
func cleanSnapshotFiles(ctx context.Context, versionID int64, retainBuilds int) error {
@@ -92,7 +92,12 @@ func cleanSnapshotFiles(ctx context.Context, versionID int64, retainBuilds int)
9292
}
9393

9494
func extractMaxBuildNumberFromMetadata(ctx context.Context, metadataFile *packages.PackageFile) (int, error) {
95-
content, _, _, err := packages_service.GetPackageFileStream(ctx, metadataFile)
95+
pb, err := packages.GetBlobByID(ctx, metadataFile.BlobID)
96+
if err != nil {
97+
return 0, fmt.Errorf("failed to get package blob: %w", err)
98+
}
99+
100+
content, _, _, err := packages_service.GetPackageBlobStream(ctx, metadataFile, pb, nil, true)
96101
if err != nil {
97102
return 0, fmt.Errorf("failed to get package file stream: %w", err)
98103
}

services/packages/packages.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -600,8 +600,8 @@ func GetPackageFileStream(ctx context.Context, pf *packages_model.PackageFile) (
600600
}
601601

602602
// GetPackageBlobStream returns the content of the specific package blob
603-
// If the storage supports direct serving and it's enabled, only the direct serving url is returned.
604-
func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, pb *packages_model.PackageBlob, serveDirectReqParams url.Values) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
603+
// If the storage supports direct serving and it's enabled, only the direct serving url is returned; otherwise, forceInternalServe should be set to true.
604+
func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, pb *packages_model.PackageBlob, serveDirectReqParams url.Values, forceInternalServe ...bool) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
605605
key := packages_module.BlobHash256Key(pb.HashSHA256)
606606

607607
cs := packages_module.NewContentStore()
@@ -610,7 +610,9 @@ func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, p
610610
var u *url.URL
611611
var err error
612612

613-
if cs.ShouldServeDirect() {
613+
internalServe := len(forceInternalServe) > 0 && forceInternalServe[0]
614+
615+
if !internalServe && cs.ShouldServeDirect() {
614616
u, err = cs.GetServeDirectURL(key, pf.Name, serveDirectReqParams)
615617
if err != nil && !errors.Is(err, storage.ErrURLNotSupported) {
616618
log.Error("Error getting serve direct url: %v", err)

0 commit comments

Comments
 (0)