Azure / Azure/data-api-builder

[Bug]: `first=501` accepted despite schema max=500

Open
#3,569 0 comments 0 reactions 0 assignees View on GitHub
2.x health-endpoint
Dominant language
C#
Stars
1.5k
Forks
370
Avg merge
3d 22h
Merged PRs (30d)
9

Description

The schema defines `entity.health.first` with `min: 1, max: 500`, and DAB correctly rejects `first=0` with `"Invalid value for first: 0. Value must be greater than 0."` However, `first=501` is accepted without error.

## Expected

DAB should reject `first=501` at config deserialization with a message like `"Invalid value for first: 501. Value must be at most 500."`

## Actual

DAB starts normally and runs health checks with `first=501`. The query becomes `SELECT TOP 502 ...`, which works but exceeds the documented maximum.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing configuration deserialization with entity.health.first set to 0 and 501, comparing the existing lower-bound rejection with the missing upper-bound rejection. Trace the health configuration validation path and its tests, if present. Done means first=501 is rejected with an at-most-500 message and valid values still start health checks normally.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.