Skip to content

BigQuery request missing projectId in URL when running in Native Image #3692

@next-pausegarra

Description

@next-pausegarra

Hello,

I'm experiencing an issue where the projectId is missing from the BigQuery request URL when running my Spring Boot application compiled as a GraalVM Native Image.

Expected Behavior:

The request should include the projectId in the URL, like this:

POST https://www.googleapis.com/bigquery/v2/projects/{my-project-id}/queries

Actual Behavior:

However, when running as a Native Image, the request URL is missing the projectId:

POST https://www.googleapis.com/bigquery/v2/projects//queries

This results in a 404 Not Found error from the BigQuery API.

Steps to Reproduce:

Use the Google Cloud BigQuery Client in a Spring Boot application.

  1. Set the projectId explicitly in BigQueryOptions:
BigQuery bigQuery = BigQueryOptions.newBuilder()
    .setProjectId("my-project-id")
    .setCredentials(GoogleCredentials.getApplicationDefault())
    .build()
    .getService();
  1. Compile the application using GraalVM Native Image.
  2. Run the application and observe the logs.
  3. The request URL to BigQuery does not include the projectId, causing a 404 Not Found error.

Additional Information:

  • When running in JVM mode (mvn spring-boot:run), the request works correctly, and the projectId is included in the URL.
  • Only the Native Image build has this issue.
  • I have verified that projectId is correctly set in the application properties and logs before making the request.

Environment Details:

  • Google Cloud BigQuery Client Version: 1.2.8.RELEASE
  • Spring Boot Version: 3.2.5
  • Operating System: macOS 14.1.1 (23B81)
  • JDK:
openjdk version "21.0.6" 2025-01-21 LTS
OpenJDK Runtime Environment Liberica-NIK-23.1.6-1 (build 21.0.6+10-LTS)
OpenJDK 64-Bit Server VM Liberica-NIK-23.1.6-1 (build 21.0.6+10-LTS, mixed mode, sharing)

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: bigqueryIssues related to the googleapis/java-bigquery API.priority: p3Desirable enhancement or fix. May not be included in next release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions