Skip to content

fix: keep responses for oversized JSON integers#2559

Open
he-yufeng wants to merge 1 commit into
googleapis:mainfrom
he-yufeng:fix/oversized-json-integer-response
Open

fix: keep responses for oversized JSON integers#2559
he-yufeng wants to merge 1 commit into
googleapis:mainfrom
he-yufeng:fix/oversized-json-integer-response

Conversation

@he-yufeng

Copy link
Copy Markdown
Contributor

Summary

  • catch ValueError in the response-schema parsing paths that already ignore invalid JSON
  • keep the GenerateContentResponse object available when Python rejects a runaway integer literal via int_max_str_digits
  • add a regression for both response_schema and response_json_schema

Fixes #2542.

Verification

$env:PYTHONPATH='.'; $env:GOOGLE_GENAI_REPLAYS_DIRECTORY="$env:TEMP\google-genai-replays"; python -m pytest google\genai\tests\models\test_generate_content.py -k oversized_json_integer -q
python -m py_compile google\genai\types.py google\genai\tests\models\test_generate_content.py
python -m ruff check --select E9,F63,F7,F82 google\genai\types.py google\genai\tests\models\test_generate_content.py
git diff --check

@he-yufeng he-yufeng force-pushed the fix/oversized-json-integer-response branch from d96bde8 to 06871d0 Compare June 7, 2026 22:23
@he-yufeng

Copy link
Copy Markdown
Contributor Author

Rebased this branch onto current main and re-ran the targeted local checks.

Verified:

  • GOOGLE_GENAI_REPLAYS_DIRECTORY=$TEMP/genai-replays-empty python -m pytest google/genai/tests/models/test_generate_content.py -q -k "oversized_json_integer" -> 4 passed
  • python -m py_compile google/genai/types.py google/genai/tests/models/test_generate_content.py
  • git diff --check upstream/main..HEAD

I did not reformat the whole files for this small fix. ruff check / ruff format --check still touch pre-existing unrelated lines in these generated/large files.

@Venkaiahbabuneelam Venkaiahbabuneelam self-assigned this Jun 8, 2026
@Venkaiahbabuneelam Venkaiahbabuneelam added the size:M Code changes between 10-40 lines label Jun 8, 2026
@he-yufeng he-yufeng force-pushed the fix/oversized-json-integer-response branch from 06871d0 to 18d626a Compare June 12, 2026 11:38
@he-yufeng

Copy link
Copy Markdown
Contributor Author

Rebased this branch onto current main and pushed the updated head 18d626a.

Validation:

  • GOOGLE_GENAI_REPLAYS_DIRECTORY=$TEMP/genai-replays-empty python -m pytest google\genai\tests\models\test_generate_content.py -q -k "oversized_json_integer" -> passed, 4 passed
  • python -m py_compile google\genai\types.py google\genai\tests\models\test_generate_content.py -> passed
  • git diff --check upstream/main..HEAD -> passed

The pytest warnings are the existing Pydantic/test-helper warnings from this test module; the targeted oversized-integer regression cases pass.

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

Labels

size:M Code changes between 10-40 lines

Projects

None yet

2 participants