adoptium / adoptium-support

For end-user problems reported with our binary distributions
Apache License 2.0
45 stars 15 forks source link

API /v3/binary/version endpoint is broken #787

Closed juanvalino closed 1 year ago

juanvalino commented 1 year ago

Please provide a brief summary of the bug

All API calls to endpoint /v3/binary/version return the following error:

{"errorMessage":"No releases match the request"}

Is not possible to search for any binary. Tried several combinations of input parameters without success.

Please provide steps to reproduce where possible

curl -X 'GET' \
  'https://api.adoptium.net/v3/binary/version/jdk-11.0.6%2B10/linux/x64/jdk/hotspot/normal/eclipse?project=jdk' \
  -H 'accept: */*'

Expected Results

The url of the binary.

Actual Results

{"errorMessage":"No releases match the request"}

What Java Version are you using?

n/a

What is your operating system and platform?

Fedora 38.

How did you install Java?

n/a

Did it work before?

n/a

Did you test with the latest update version?

n/a

Did you test with other Java versions?

n/a

Relevant log output

n/a
jerboaa commented 1 year ago

Going by https://api.adoptium.net/q/swagger-ui/#/Release%20Info/getReleaseNames and getting the release names between 10 and 11.0.20 we get:

$ curl 'https://api.adoptium.net/v3/info/release_names?heap_size=normal&image_type=jdk&page=0&page_size=10&project=jdk&release_type=ga&sort_method=DEFAULT&sort_order=DESC&vendor=eclipse&version=%2810%2C11.0.20%5D'

{
    "releases": [
        "jdk-11.0.19+7",
        "jdk-11.0.18+10",
        "jdk-11.0.17+8",
        "jdk-11.0.16.1+1",
        "jdk-11.0.16+8",
        "jdk-11.0.15+10",
        "jdk-11.0.14.1+1",
        "jdk-11.0.14+9",
        "jdk-11.0.13+8",
        "jdk-11.0.12+7"
    ]
}

So yes, 11.0.6+10 doesn't exist via temurin. It's too old and you might find it somewhere in AdoptOpenJDK archives. But, jdk-11.0.16+8 for example does:

$ wget -O jdk-11.0.16+8.tar.gz 'https://api.adoptium.net/v3/binary/version/jdk-11.0.16+8/linux/x64/jdk/hotspot/normal/eclipse?project=jdk'
--2023-05-08 14:00:26--  https://api.adoptium.net/v3/binary/version/jdk-11.0.16+8/linux/x64/jdk/hotspot/normal/eclipse?project=jdk
Resolving api.adoptium.net (api.adoptium.net)... 20.62.244.126
Connecting to api.adoptium.net (api.adoptium.net)|20.62.244.126|:443... connected.
HTTP request sent, awaiting response... 307 Temporary Redirect
Location: https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16%2B8/OpenJDK11U-jdk_x64_linux_hotspot_11.0.16_8.tar.gz [following]
--2023-05-08 14:00:27--  https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16%2B8/OpenJDK11U-jdk_x64_linux_hotspot_11.0.16_8.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/372924883/283e373e-a8c9-4da5-acaa-0cc4c85c5777?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230508T120027Z&X-Amz-Expires=300&X-Amz-Signature=6d24ddc1e2f838332afff9f81da88f7884744f3c5556780661a8ff2270f95650&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=372924883&response-content-disposition=attachment%3B%20filename%3DOpenJDK11U-jdk_x64_linux_hotspot_11.0.16_8.tar.gz&response-content-type=application%2Foctet-stream [following]
--2023-05-08 14:00:27--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/372924883/283e373e-a8c9-4da5-acaa-0cc4c85c5777?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230508T120027Z&X-Amz-Expires=300&X-Amz-Signature=6d24ddc1e2f838332afff9f81da88f7884744f3c5556780661a8ff2270f95650&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=372924883&response-content-disposition=attachment%3B%20filename%3DOpenJDK11U-jdk_x64_linux_hotspot_11.0.16_8.tar.gz&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 193752176 (185M) [application/octet-stream]
Saving to: ‘jdk-11.0.16+8.tar.gz’

jdk-11.0.16+8.tar.gz                                        100%[=========================================================================================================================================>] 184.78M  9.53MB/s    in 19s     

2023-05-08 14:00:47 (9.49 MB/s) - ‘jdk-11.0.16+8.tar.gz’ saved [193752176/193752176]

So the endpoint isn't exactly broken, but working as expected.

jerboaa commented 1 year ago

Or with curl (the endpoint responds with a redirect, fwiw):

$ curl -v 'https://api.adoptium.net/v3/binary/version/jdk-11.0.16+8/linux/x64/jdk/hotspot/normal/eclipse?project=jdk'
*   Trying 20.62.244.126:443...
* Connected to api.adoptium.net (20.62.244.126) port 443 (#0)
* ALPN: offers h2
* ALPN: offers http/1.1
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt
*  CApath: none
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=api.adoptium.net
*  start date: Mar  9 13:27:41 2023 GMT
*  expire date: Jun  7 13:27:40 2023 GMT
*  subjectAltName: host "api.adoptium.net" matched cert's "api.adoptium.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> GET /v3/binary/version/jdk-11.0.16+8/linux/x64/jdk/hotspot/normal/eclipse?project=jdk HTTP/1.1
> Host: api.adoptium.net
> User-Agent: curl/7.85.0
> Accept: */*
> 
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* Mark bundle as not supporting multiuse
< HTTP/1.1 307 Temporary Redirect
< Date: Mon, 08 May 2023 12:03:17 GMT
< Content-Type: application/octet-stream
< Content-Length: 0
< Connection: keep-alive
< Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< content-encoding: identity
< Location: https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16%2B8/OpenJDK11U-jdk_x64_linux_hotspot_11.0.16_8.tar.gz
< 
* Connection #0 to host api.adoptium.net left intact
juanvalino commented 1 year ago

Yes @jerboaa. You are right. Thank you for clarifying this.