Skip to content

[types] Serialize checkpoint fingerprint as OpenAPI format uint64 - #6850

Merged
blp merged 1 commit into
mainfrom
fingerprint-uint64-schema
Aug 12, 2026
Merged

[types] Serialize checkpoint fingerprint as OpenAPI format uint64#6850
blp merged 1 commit into
mainfrom
fingerprint-uint64-schema

Conversation

@blp

@blp blp commented Aug 12, 2026

Copy link
Copy Markdown
Member

fda's REST client generates the CheckpointMetadata.fingerprint field as i64 from the OpenAPI schema, so a checkpoint whose 64-bit fingerprint has the high bit set breaks fda pipelines/fda status for the whole instance (#6841). Annotate the field with #[schema(format = "uint64")] so progenitor/typify generate u64 instead, which accepts the full unsigned range without truncating or otherwise altering the fingerprint value.

Describe Manual Test Plan

Unit tests only.

Checklist

  • Unit tests added/updated
  • Integration tests added/updated
  • Documentation updated
  • Changelog updated

fda's REST client generates the CheckpointMetadata.fingerprint field as
i64 from the OpenAPI schema, so a checkpoint whose 64-bit fingerprint
has the high bit set breaks `fda pipelines`/`fda status` for the whole
instance (#6841). Annotate the field with `#[schema(format = "uint64")]`
so progenitor/typify generate `u64` instead, which accepts the full
unsigned range without truncating or otherwise altering the fingerprint
value.

Signed-off-by: Ben Pfaff <blp@feldera.com>
@blp
blp requested a review from gz August 12, 2026 17:28
@blp blp self-assigned this Aug 12, 2026
@blp blp added bug Something isn't working CLI Feldera CLI (fda) - related issues labels Aug 12, 2026
@blp

blp commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

This PR is a simpler alternative to #6844

@gz gz 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.

is this used by the webconsole? it should probably use bigint or similar types to parse this as opposed to javascript integers (alternatively maybe the best type for this is a string)

@blp

blp commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

is this used by the webconsole? it should probably use bigint or similar types to parse this as opposed to javascript integers (alternatively maybe the best type for this is a string)

In the previous iteration you didn't like that I was making it usable for JavaScript. Which do you want?

@gz

gz commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

sorry, this seems elegant I just mention it because I dont understand the impact of webconsole for this change ... but all things considered it's not like it would've worked before as an i64 for webconsole so this seems safe to merge?

@blp

blp commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

sorry, this seems elegant I just mention it because I dont understand the impact of webconsole for this change ... but all things considered it's not like it would've worked before as an i64 for webconsole so this seems safe to merge?

I guess the webconsole didn't look at this, since otherwise there would have been a problem. Maybe someday it will, and then we can fix it for the webconsole too I guess (by limiting the range or transitioning to a string or whatever)? I'm OK with that.

@blp
blp added this pull request to the merge queue Aug 12, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 12, 2026
@blp
blp added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 5efeaeb Aug 12, 2026
1 check passed
@blp
blp deleted the fingerprint-uint64-schema branch August 12, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working CLI Feldera CLI (fda) - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants