8000 feat(tool/cloud-gemini-data-analytics-query): support Spanner Graph graphIds by lcjin-del · Pull Request #4420 · googleapis/mcp-toolbox · GitHub
[go: up one dir, main page]

Skip to content

feat(tool/cloud-gemini-data-analytics-query): support Spanner Graph graphIds - #4420

Open
lcjin-del wants to merge 1 commit into
googleapis:mainfrom
lcjin-del:feat/cloudgda-spanner-graph-ids
Open

lcjin-del wants to merge 1 commit into
googleapis:mainfrom
lcjin-del:feat/cloudgda-spanner-graph-ids

Conversation

@lcjin-del
@lcjin-del lcjin-del commented Nov 5, 2026 •
Copy link
Copy Markdown

Description

Bumps cloud.google.com/go/geminidataanalytics from v1.5.0 to v1.8.0, the first release whose v1beta protos define SpannerDatabaseReference.graph_ids. The cloud-gemini-data-analytics-query tool decodes context straight into these protos with protojson, which rejects unknown fields, so on v1.5.0 a graphIds entry fails at config load. After this bump a tool can point QueryData at Spanner Graph property graphs, and the API generates GQL over them:

context:
  datasourceReferences:
    spannerReference:
      databaseReference:
        projectId: my-project
        instanceId: my-instance
        databaseId: my-database
        engine: GOOGLE_SQL
        graphIds: ["FinGraph"]

Follows the same pattern as #4136 (Bigtable/Firestore references) and #3920.

Changes

Compatibility

Testing

  • go build ./...
  • go test ./internal/... ./cmd/...
  • golangci-lint run (latest, repo config) on the touched packages: 0 issues
  • gofmt / go vet on the touched packages

PR Checklist

Drafted with an AI coding agent (Jetski) on behalf of the author.

@lcjin-del
lcjin-del requested a review from a team as a code owner November 5, 2026 00:49
@gemini-code-assist gemini-code-assist Bot left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request upgrades the Go runtime version to 1.26.0 and updates several project dependencies, including Google Cloud libraries and OpenTelemetry. It also updates the OpenTelemetry semantic conventions import to v1.43.0. Furthermore, it adds support and documentation for Spanner Graph queries within the Cloud Gemini Data Analytics tool, along with a corresponding unit test. There are no review comments, so I have no feedback to provide.

@helloeve
helloeve commented Nov 5, 2026
Copy link
Copy Markdown
Contributor

/gcbrun

…raphIds

Bump cloud.google.com/go/geminidataanalytics from v1.5.0 to v1.8.0, the
first release whose v1beta protos define SpannerDatabaseReference.graph_ids,
so a cloud-gemini-data-analytics-query tool can set graphIds in its
spannerReference and have QueryData generate GQL over Spanner Graph.

Also add a TestParseFromYaml case for graphIds and document the field.
@lcjin-del
lcjin-del force-pushed the feat/cloudgda-spanner-graph-ids branch from 1fb5a44 to 2d10084 Compare November 5, 2026 22:24
@lcjin-del
Copy link
Copy Markdown
Author

Thanks @helloeve! I've rebased onto main after #4418, so this PR is now just the SDK bump plus test and docs (#4418 already included the semconv change). Could you run /gcbrun again? FYI, the only failure in the last two integration runs was the datalineage shard timing out while polling the Data Lineage search index. It's failing the same way on other PRs today (#4419, #4383, #4425); every other shard, including cloud-gda, passed.

@helloeve
helloeve commented Nov 5, 2026
Copy link
Copy Markdown
Contributor

/gcbrun

@helloeve
helloeve commented Nov 5, 2026
Copy link
Copy Markdown
Contributor

Thanks @helloeve! I've rebased onto main after #4418, so this PR is now just the SDK bump plus test and docs (#4418 already included the semconv change). Could you run /gcbrun again? FYI, the only failure in the last two integration runs was the datalineage shard timing out while polling the Data Lineage search index. It's failing the same way on other PRs today (#4419, #4383, #4425); every other shard, including cloud-gda, passed.

there seems to be a lot of dependencies get a bumped version, are they all needed?

@lcjin-del
Copy link
Copy Markdown
Author

Good question! Yes, they're all needed. I ran go get cloud.google.com/go/geminidataanalytics@v1.8.0 without -u (v1.8.0 is the first release with graph_ids), so Go's minimal version selection only raised modules to the lowest versions the new module graph requires:

  • 26 are pinned directly in geminidataanalytics v1.8.0's own go.mod (gax-go v2.27.0, google.golang.org/api v0.304.0, grpc v1.84.0, genproto, OpenTelemetry v1.47.0, cloud.google.com/go/auth/iam/longrunning, and golang.org/x/*).
  • 15 are required in turn by those new versions. For example, the new genproto requires bigquery v1.85.0, dataproc v2.26.0, logging v1.20.0 and spanner v1.96.1, and spanner v1.96.1 requires monitoring v1.30.0.
  • 3 indirect requirements (go-spew, go-difflib, gopkg.in/yaml.v3) were removed by go mod tidy because they're no longer in the module graph.

Pinning any of them lower would need replace directives that override what the SDK declares, so I don't think we can safely shrink it. If you'd prefer to keep dependency churn in one place, I can rebase onto the Renovate PR #4246 once it lands (it includes this bump) and reduce this PR to the test and docs changes.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0