feat(sync): fix review comments

Signed-off-by: Vishwas Rajashekar <dev@vrajashkr.com>
This commit is contained in:
Vishwas Rajashekar
2026-05-20 08:53:17 +05:30
parent f7444abbd4
commit 80b1712b62
4 changed files with 14 additions and 3 deletions
+1 -1
View File
@@ -82,7 +82,7 @@ func (ifbc *InFlightBlobCopier) Copy() error {
ifbc.numBytesCopied = latestByteNum
ifbc.Unlock()
if latestByteNum >= ifbc.Source.numBytesTotal {
if latestByteNum >= ifbc.Source.Descriptor().Size {
// transfer is complete
break
}
+2 -1
View File
@@ -535,7 +535,8 @@ func (service *BaseService) syncRef(ctx context.Context, localRepo string, remot
copyOpts := []regclient.ImageOpts{}
if service.config.Stream != nil && *service.config.Stream && service.streamManager != nil {
// When streaming is enabled, all blobs are read through the streaming reader.
if service.config.IsStreamEnabled() {
service.log.Debug().Str("repo", localRepo).Str("reference", remoteImageRef.Tag).
Msg("streaming is enabled. Enabling reader hook")
copyOpts = append(copyOpts, regclient.ImageWithBlobReaderHook(service.streamManager.StreamingBlobReader))
+10
View File
@@ -147,6 +147,8 @@ func (sm *ChunkingStreamManager) StoreImageForStreaming(repo, reference string,
sm.logger.Error().Err(err).Str("blob", manifest.GetDescriptor().Digest.String()).
Msg("failed to prepare active stream for blob")
delete(sm.streamingRefs, key)
return err
}
@@ -164,6 +166,8 @@ func (sm *ChunkingStreamManager) StoreImageForStreaming(repo, reference string,
sm.logger.Error().Err(err).Str("blob", configDesc.Digest.String()).
Msg("failed to get config descriptor from manifest")
delete(sm.streamingRefs, key)
return err
}
@@ -171,6 +175,8 @@ func (sm *ChunkingStreamManager) StoreImageForStreaming(repo, reference string,
if err != nil {
sm.logger.Error().Err(err).Str("blob", configDesc.Digest.String()).Msg("failed to prepare active stream for blob")
delete(sm.streamingRefs, key)
return err
}
@@ -179,6 +185,8 @@ func (sm *ChunkingStreamManager) StoreImageForStreaming(repo, reference string,
if err != nil {
sm.logger.Error().Err(err).Msg("failed to get layers from manifest")
delete(sm.streamingRefs, key)
return err
}
@@ -187,6 +195,8 @@ func (sm *ChunkingStreamManager) StoreImageForStreaming(repo, reference string,
if err != nil {
sm.logger.Error().Err(err).Str("blob", layer.Digest.String()).Msg("failed to prepare active stream for blob")
delete(sm.streamingRefs, key)
return err
}
}
+1 -1
View File
@@ -1693,7 +1693,7 @@ func TestBaseServiceIsStreamingForRepo(t *testing.T) {
streamEnabled := true
streamDisabled := false
Convey("returns false when Stream is not configured)", t, func() {
Convey("returns false when Stream is not configured", t, func() {
conf := syncconf.RegistryConfig{
URLs: []string{"http://localhost"},
}