Skip to content

fix: never cache JSON representation of a container#2606

Merged
mdelapenya merged 7 commits intotestcontainers:mainfrom
mdelapenya:wait-for-available-ports
Jul 2, 2024
Merged

fix: never cache JSON representation of a container#2606
mdelapenya merged 7 commits intotestcontainers:mainfrom
mdelapenya:wait-for-available-ports

Conversation

@mdelapenya
Copy link
Member

@mdelapenya mdelapenya commented Jun 25, 2024

  • chore: wait for the exposed ports before wait strategies
  • chore: do not cache raw representation of a container while inspecting it

What does this PR do?

We are removing the raw attribute of the container, so we are not caching it when calling the Inspect method of a container.

At the same time, a container will wait for all the exposed ports to be available from the Docker representation for the container.

Why is it important?

There are cases where Docker or the container runtime is not updating the mapped ports by the time testcontainers uses them. Here we are fixing them.

Related issues

Follow-ups

We probably need a way to cache again the response, but we can decide how in a follow-up. Returning to pre-#2534 seems convenient until then.

@mdelapenya mdelapenya added the chore Changes that do not impact the existing functionality label Jun 25, 2024
@mdelapenya mdelapenya requested a review from a team as a code owner June 25, 2024 16:48
@mdelapenya mdelapenya self-assigned this Jun 25, 2024
@netlify
Copy link

netlify bot commented Jun 25, 2024

Deploy Preview for testcontainers-go ready!

Name Link
🔨 Latest commit 1be17a2
🔍 Latest deploy log https://app.netlify.com/sites/testcontainers-go/deploys/6683cce3fc24f000072f298d
😎 Deploy Preview https://deploy-preview-2606--testcontainers-go.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Not using fixed ports is good
* main:
  chore(deps): bump github.com/docker/docker from v26.1.4 to v27.0.2 (testcontainers#2593)
  fix: Rename TC_HOST environment variable to TESTCONTAINERS_HOST_OVERRIDE (testcontainers#2536)
  chore: test cleanups (testcontainers#2608)
  chore(ci): pass docker install type to the nightly build payload (testcontainers#2612)
  chore: run rootless mode in nighlty builds (testcontainers#2611)
  chore(deps): bump github.com/hashicorp/go-retryablehttp (testcontainers#2605)
  chore: improve log handling when container is stopping (testcontainers#2601)
@mdelapenya mdelapenya added bug An issue with the library and removed chore Changes that do not impact the existing functionality labels Jul 2, 2024
@mdelapenya mdelapenya changed the title chore: never cache JSON representation of a container fix: never cache JSON representation of a container Jul 2, 2024
@mdelapenya mdelapenya merged commit 59cf064 into testcontainers:main Jul 2, 2024
mdelapenya added a commit that referenced this pull request Jul 2, 2024
* main:
  fix: never cache JSON representation of a container (#2606)
  chore: remove most uses of  TestcontainersConfig and deprecated TestcontainersConfig fields. (#2614)
  chore(deps): bump github.com/docker/docker from v27.0.2 to v27.0.3 (#2615)
  chore(deps): bump github.com/docker/docker from v26.1.4 to v27.0.2 (#2593)
@mdelapenya mdelapenya mentioned this pull request Jul 2, 2024
@mdelapenya mdelapenya deleted the wait-for-available-ports branch July 15, 2024 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug An issue with the library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: port not found when calling [Bug]: Restarted container cannot fetch its port

1 participant