Skip to content

Commit 631b6b7

Browse files
committed
feat: create grpcZstd blob access
1 parent 2d6050f commit 631b6b7

File tree

10 files changed

+665
-79
lines changed

10 files changed

+665
-79
lines changed

pkg/blobstore/configuration/ac_blob_access_creator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func (bac *acBlobAccessCreator) NewCustomBlobAccess(terminationGroup program.Gro
106106
DigestKeyFormat: base.DigestKeyFormat.Combine(bac.contentAddressableStorage.DigestKeyFormat),
107107
}, "completeness_checking", nil
108108
case *pb.BlobAccessConfiguration_Grpc:
109-
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc, terminationGroup)
109+
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc.Client, terminationGroup)
110110
if err != nil {
111111
return BlobAccessInfo{}, "", err
112112
}

pkg/blobstore/configuration/cas_blob_access_creator.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,18 @@ func (bac *casBlobAccessCreator) NewCustomBlobAccess(terminationGroup program.Gr
8989
DigestKeyFormat: base.DigestKeyFormat,
9090
}, "existence_caching", nil
9191
case *pb.BlobAccessConfiguration_Grpc:
92-
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc, terminationGroup)
92+
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc.Client, terminationGroup)
9393
if err != nil {
9494
return BlobAccessInfo{}, "", err
9595
}
96+
compressionThresholdBytes := int64(0)
97+
if backend.Grpc.EnableZstdCompression {
98+
compressionThresholdBytes = 100
99+
}
96100
// TODO: Should we provide a configuration option, so
97101
// that digest.KeyWithoutInstance can be used?
98102
return BlobAccessInfo{
99-
BlobAccess: grpcclients.NewCASBlobAccess(client, uuid.NewRandom, 65536),
103+
BlobAccess: grpcclients.NewCASBlobAccess(client, uuid.NewRandom, 65536, compressionThresholdBytes),
100104
DigestKeyFormat: digest.KeyWithInstance,
101105
}, "grpc", nil
102106
case *pb.BlobAccessConfiguration_ReferenceExpanding:

pkg/blobstore/configuration/fsac_blob_access_creator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (fsacBlobAccessCreator) GetDefaultCapabilitiesProvider() capabilities.Provi
4444
func (bac *fsacBlobAccessCreator) NewCustomBlobAccess(terminationGroup program.Group, configuration *pb.BlobAccessConfiguration, nestedCreator NestedBlobAccessCreator) (BlobAccessInfo, string, error) {
4545
switch backend := configuration.Backend.(type) {
4646
case *pb.BlobAccessConfiguration_Grpc:
47-
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc, terminationGroup)
47+
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc.Client, terminationGroup)
4848
if err != nil {
4949
return BlobAccessInfo{}, "", err
5050
}

pkg/blobstore/configuration/icas_blob_access_creator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func (icasBlobAccessCreator) GetDefaultCapabilitiesProvider() capabilities.Provi
4040
func (bac *icasBlobAccessCreator) NewCustomBlobAccess(terminationGroup program.Group, configuration *pb.BlobAccessConfiguration, nestedCreator NestedBlobAccessCreator) (BlobAccessInfo, string, error) {
4141
switch backend := configuration.Backend.(type) {
4242
case *pb.BlobAccessConfiguration_Grpc:
43-
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc, terminationGroup)
43+
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc.Client, terminationGroup)
4444
if err != nil {
4545
return BlobAccessInfo{}, "", err
4646
}

pkg/blobstore/configuration/iscc_blob_access_creator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (isccBlobAccessCreator) GetDefaultCapabilitiesProvider() capabilities.Provi
4444
func (bac *isccBlobAccessCreator) NewCustomBlobAccess(terminationGroup program.Group, configuration *pb.BlobAccessConfiguration, nestedCreator NestedBlobAccessCreator) (BlobAccessInfo, string, error) {
4545
switch backend := configuration.Backend.(type) {
4646
case *pb.BlobAccessConfiguration_Grpc:
47-
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc, terminationGroup)
47+
client, err := bac.grpcClientFactory.NewClientFromConfiguration(backend.Grpc.Client, terminationGroup)
4848
if err != nil {
4949
return BlobAccessInfo{}, "", err
5050
}

pkg/blobstore/grpcclients/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ go_library(
2222
"//pkg/util",
2323
"@bazel_remote_apis//build/bazel/remote/execution/v2:remote_execution_go_proto",
2424
"@com_github_google_uuid//:uuid",
25+
"@com_github_klauspost_compress//zstd",
2526
"@org_golang_google_genproto_googleapis_bytestream//:bytestream",
2627
"@org_golang_google_grpc//:grpc",
2728
"@org_golang_google_grpc//codes",
@@ -43,6 +44,7 @@ go_test(
4344
"@bazel_remote_apis//build/bazel/remote/execution/v2:remote_execution_go_proto",
4445
"@bazel_remote_apis//build/bazel/semver:semver_go_proto",
4546
"@com_github_google_uuid//:uuid",
47+
"@com_github_klauspost_compress//zstd",
4648
"@com_github_stretchr_testify//require",
4749
"@org_golang_google_genproto_googleapis_bytestream//:bytestream",
4850
"@org_golang_google_grpc//:grpc",

0 commit comments

Comments
 (0)