Skip to content

Conversation

@yaraskm
Copy link

@yaraskm yaraskm commented Dec 8, 2021

  • The previous method would loop over the image references and try to
    save each one. Even if this did work, the tar archive would overwrite
    the previous instance on each invocation meaning that the last image
    specified on the CLI would be the only one in the archive. Even then,
    this method would hang because a filesystem lock was acquired on the
    underlying BoltDB during the first invocation of the loop
    (within client.createWorkerOpt(...)) but never freed. Because of this, every
    subsequent call would only hang as seen in Hang when saving multiple images to tarball #332

  • This refactor properly passes all image references to the underlying
    buildkit type to let it construct the image archive with all references
    specified.

- The previous method would loop over the image references and try to
save each one. Even if this did work, the tar archive would overwrite
the previous instance on each invocation meaning that the last image
specified on the CLI would be the only one in the archive. Even then,
this method would hang because a filesystem lock was acquired on the
underlying BoltDB during the first invocation of the loop
(within `client.createWorkerOpt(...)`) but never freed. Because of this, every
subsequent call would only hang as seen in genuinetools#332

- This refactor properly passes all image references to the underlying
buildkit type to let it construct the image archive with all references
specified.
@yaraskm
Copy link
Author

yaraskm commented Dec 20, 2021

I know that you're busy with other things @jessfraz and @AkihiroSuda but is there anyway that you could take a quick look at this fix? It resolves a core functionality issue and I really want to avoid running a forked copy of the project long term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant