Compute: images.get sends unsupported API version after rev20261026, still in rev20261106

Đang mở
#33,941 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
38/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
backend-api-design

Hướng nghiên cứu

Read the generated Compute.Images.Get implementation linked in the issue and compare its API_VERSION with the supported versions in the captured server error. Then trace where that generated version comes from in the Compute discovery input or regeneration process; the issue does not name those files. Done means establishing whether 2026-11-01 is supported for stable images.get and identifying the corrected generated client or supported artifact version.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

Upgrading com.google.apis:google-api-services-compute from v1-rev20261016-2.9.2 to v1-rev20261026-2.9.2 changes the generated Compute.Images.Get request header from X-Goog-Api-Version: 2026-09-01 to X-Goog-Api-Version: 2026-11-01.

In the affected GCP integration-test run, image GET requests were repeatedly rejected with HTTP 400 because the service did not support 2026-11-01. This blocked image-related provisioning workflows.

The latest published release, v1-rev20261106-2.9.2 (checked on 2026-11-12), still sets the same header. Its Images.Get implementation is identical to the one in the failing release.

Environment details
  • API: Compute Engine API, stable v1, images.get.
  • Affected artifact: google-api-services-compute:v1-rev20261026-2.9.2.
  • Also checked: v1-rev20261106-2.9.2 (latest); baseline: v1-rev20261016-2.9.2.
  • Base client: com.google.api-client:google-api-client:2.9.2.
  • Independent header-only reproduction: Amazon Corretto Java 21.0.13, macOS 26.7.2, google-http-client and google-http-client-gson 2.2.0.
  • The exact OS/JDK build of the original failing CI run is not included in the available error report.
Steps to reproduce
  1. Use one of the Compute artifact versions listed above.
  2. Construct compute.images().get(project, image) without explicitly overriding the API-version header.
  3. Inspect request.getRequestHeaders().get("X-Goog-Api-Version"). The example below does not require credentials or make a network request.
  4. In the affected authenticated integration-test environment, executing the image GET with the newer artifact produced the HTTP 400 shown below.
Minimal code example

Dependencies (change the Compute version to compare releases):

implementation 'com.google.apis:google-api-services-compute:v1-rev20261106-2.9.2'
implementation 'com.google.http-client:google-http-client-gson:2.2.0'
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.client.testing.http.MockHttpTransport;
import com.google.api.services.compute.Compute;

public class ComputeApiVersionRepro {
    public static void main(String[] args) throws Exception {
        Compute compute = new Compute.Builder(
                new MockHttpTransport(), GsonFactory.getDefaultInstance(), null)
                .setApplicationName("compute-api-version-repro")
                .build();

        Compute.Images.Get request = compute.images()
                .get("example-project", "example-image");
        System.out.println(request.getRequestHeaders().get("X-Goog-Api-Version"));
    }
}

I compiled this example and ran it separately with each of the three published Compute JARs, holding the supporting classpath constant:

Compute artifact version Printed API-version header
v1-rev20261016-2.9.2 2026-09-01
v1-rev20261026-2.9.2 2026-11-01
v1-rev20261106-2.9.2 2026-11-01
Observed server error

Captured from the failing integration-test run; project and image names are replaced with placeholders:

400 Bad Request
GET https://compute.googleapis.com/compute/v1/projects/<project>/global/images/<image>
Invalid API version '2026-11-01' provided. Supported API versions are [v1, 2026-10-01-preview, 2026-09-01]

I have independently verified the generated headers and published sources, but have not rerun an authenticated GCP request to establish whether server-side support for 2026-11-01 has changed since this error was captured.

Expected behavior

A generated stable-v1 client should select an API version accepted by the Compute service, so an existing images.get call does not start failing solely because of a client-library update.

Source evidence

The latest generated Compute.Images.Get sets:

private static final String API_VERSION = "2026-11-01";
// In the request constructor:
if (headers.get(API_VERSION_HEADER) == null) {
  headers.set(API_VERSION_HEADER, API_VERSION);
}
Current mitigation / requested clarification

We have reverted the dependency bump and pinned v1-rev20261016-2.9.2, whose generated header is one of the versions listed as supported in the captured error.

Please confirm whether 2026-11-01 is intended and fully available for stable Compute images.get, or whether the discovery/generated client needs to be corrected. Please also identify the recommended supported artifact version for this regression.

Ngôn ngữ chính
Java
Star
731
Fork
402
Merge trung bình
5 giờ 43 phút
Pull request đã merge (30 ngày)
959

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của googleapis/google-api-java-client-services

Tất cả issue của googleapis/google-api-java-client-services

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.