googleapis / googleapis/ruby-cloud-env

warmup_time: nil crashes metadata existence checks

Offen Anfängerfreundlich
#112 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Ruby
Sterne
16
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Summary

`ComputeMetadata#warmup_time` is writable and documented as a duration, but assigning `nil` to disable the warmup window leads to arithmetic/comparison errors in both `ensure_existence` and `post_update_existence`.

## Reproduction

On current `main` (`7936c72eb2c809214858f47473aafb04c6bbf469`):

1. Create a `ComputeMetadata` instance.
2. Set `warmup_time = nil`.
3. Call `ensure_existence`, or exercise a failed existence update.

The former evaluates `@startup_time + nil`; the latter compares time against the same expression.

## Proposed correction

Treat `nil` as no warmup window: use the normal minimum one-second explicit check in `ensure_existence`, and allow a failed existence probe to settle to `:no` immediately. I verified the focused disabled-warmup model and the full current suite (91 runs / 419 assertions / 0 failures / 0 errors / 2 skips).

If `nil` is not intended to be supported, rejecting it in the writer would make the contract explicit; silently accepting it and failing later is the current correctness issue.

I used an AI coding assistant during investigation and verification. I am opening this issue first because this repository requires tests and a Google CLA for pull requests; I have not modified repository tests or signed a CLA as part of this audit.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start at ComputeMetadata#warmup_time and trace its use in ensure_existence and post_update_existence. Add regression coverage for a nil warmup_time, confirming ensure_existence uses the minimum explicit check and a failed existence probe settles to :no. Run the focused disabled-warmup model tests and the full suite to verify completion.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
cloud
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
72/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.