mongo-php-library icon indicating copy to clipboard operation
mongo-php-library copied to clipboard

PHPLIB-899: No longer use buildinfo command to detect Atlas Data Lake instances

Open alcaeus opened this issue 3 years ago • 2 comments

PHPLIB-899

This PR changes the detection logic for Atlas Data Lake to no longer use buildInfo, but rather rely on an externally set environment variable, as ADL no longer supports buildInfo. In addition, it changes the Evergreen build variant to use Ubuntu 18.04 as the built-in mongohoused didn't run on debian11.

Note that ADL tests will still fail due to CDRIVER-4502; this will be fixed in a separate pull request.

alcaeus avatar Oct 14 '22 08:10 alcaeus

the built-in mongohoused didn't run on debian11

Thanks for catching that. Are there any more details about the incompatibility that we can relay this to the ADL team?

/cc @craiggwilson in case he's still involved with that project

jmikola avatar Oct 16 '22 13:10 jmikola

Thanks for catching that. Are there any more details about the incompatibility that we can relay this to the ADL team?

These are the relevant errors:

go: golang.org/x/[email protected]: read tcp [2600:1f18:ae9:dd00:13c7:e76a:9dd9:b049]:56172->[2607:f8b0:4004:c09::8d]:443: read: connection reset by peer
go: golang.org/x/[email protected]: Get "https://proxy.golang.org/golang.org/x/time/@v/v0.0.0-20220210224613-90d013bbcef8.zip": read tcp [2600:1f18:ae9:dd00:13c7:e76a:9dd9:b049]:56172->[2607:f8b0:4004:c09::8d]:443: read: connection reset by peer
go: golang.org/x/[email protected]: Get "https://proxy.golang.org/golang.org/x/tools/@v/v0.1.12.zip": read tcp [2600:1f18:ae9:dd00:13c7:e76a:9dd9:b049]:56172->[2607:f8b0:4004:c09::8d]:443: read: connection reset by peer
go: golang.org/x/[email protected]: Get "https://proxy.golang.org/golang.org/x/xerrors/@v/v0.0.0-20220609144429-65e65417b02f.zip": read tcp [2600:1f18:ae9:dd00:13c7:e76a:9dd9:b049]:56172->[2607:f8b0:4004:c09::8d]:443: read: connection reset by peer
go version go1.18.5 linux/amd64

Trying to resolve this I came across this line in the Python driver's evergreen config: https://github.com/mongodb/mongo-python-driver/blob/3eb316ed3042d7b9690afbf04acb86b318b82658/.evergreen/config.yml#L314. Checking that build config, I didn't see any mention of debian and decided to take the easy way of testing on Ubuntu.

After re-evaluating this with a clear head, I realised that we were missing passing the VARIANT environment variable, which ensures that the golang config is correct. I've replaced the second commit in this PR with a simpler one that provides a variant and works just as well.

alcaeus avatar Oct 17 '22 08:10 alcaeus

Sorry, was on vacation. What is the deal here? I just looked at our buildInfo command response and it hasn't changed in a really long time. How did this break for y'all?

craiggwilson avatar Oct 18 '22 15:10 craiggwilson

When we originally created the build failure ticket, all we could see that the error appears when calling buildInfo, hence my original work to remove calling buildInfo. Only later did I realise that there is a secondary issue caused by a libmongoc bug that made all other commands fail as well. When I fixed that I didn't realise that this most likely also caused what we thought was an issue with the buildInfo command.

Now that I was able to test again, I was able to confirm that the buildInfo command works as expected and tests pass again with the libmongoc patch applied. I'll create a separate pull request that adds the variant.

alcaeus avatar Oct 19 '22 11:10 alcaeus