Skip to content

All critical bugs (thread‑safety, transaction scope, tag filtering, …#1

Merged
bargross merged 3 commits into
mainfrom
1.0.2-minor-version-bug-fixes
Jul 12, 2026
Merged

All critical bugs (thread‑safety, transaction scope, tag filtering, …#1
bargross merged 3 commits into
mainfrom
1.0.2-minor-version-bug-fixes

Conversation

@bargross

Copy link
Copy Markdown
Owner

…blocking saves, fragile JSON queries, and serialization) have been fixed

SqlServerStoreBase – Changed to create a new pooled connection per call (matching Postgres) with thread‑safe locking for externally provided connections, and updated tests accordingly.

PostgresModelStore.LoadAsync – Already correct (uses a transaction for metadata + large objects) – no changes needed.

FileSystem stores – Implemented in‑memory tag filtering in ListAsync (using LoadManifestOnlyAsync) and updated tests to expect filtering.

BackgroundSaver – Converted Enqueue to EnqueueAsync (returns ValueTask) and updated CheckpointManager/SessionManager call sites to await it.

PostgresStoreBase – Already correct (all callers use await using) – no changes needed.

SQL Server tag filtering – Replaced fragile LIKE with JSON_VALUE and corrected table names (ModelManifests, InferenceSessions).

IModelStore.ListAsync – Not yet addressed (design improvement deferred to a separate PR).

CheckpointManager.SaveAsync – Added overload that accepts a ModelCheckpoint object directly.

TokenizerData.MergeRules – Changed property type from List<(string,string)>? to List? for proper JSON serialization.

SqlServerStoreBase namespace – Corrected from Mysql to MsSql and updated using statements.

Removed sqlserver (previously wrongly named MySql) and Postgres specific store namespace and flattened all to store only.

bargross added 3 commits July 12, 2026 22:45
…blocking saves, fragile JSON queries, and serialization) have been fixed

SqlServerStoreBase – Changed to create a new pooled connection per call (matching Postgres) with thread‑safe locking for externally provided connections, and updated tests accordingly.

PostgresModelStore.LoadAsync – Already correct (uses a transaction for metadata + large objects) – no changes needed.

FileSystem stores – Implemented in‑memory tag filtering in ListAsync (using LoadManifestOnlyAsync) and updated tests to expect filtering.

BackgroundSaver – Converted Enqueue to EnqueueAsync (returns ValueTask) and updated CheckpointManager/SessionManager call sites to await it.

PostgresStoreBase – Already correct (all callers use await using) – no changes needed.

SQL Server tag filtering – Replaced fragile LIKE with JSON_VALUE and corrected table names (ModelManifests, InferenceSessions).

IModelStore.ListAsync – Not yet addressed (design improvement deferred to a separate PR).

CheckpointManager.SaveAsync – Added overload that accepts a ModelCheckpoint object directly.

TokenizerData.MergeRules – Changed property type from List<(string,string)>? to List<MergeRule>? for proper JSON serialization.

SqlServerStoreBase namespace – Corrected from Mysql to MsSql and updated using statements.

Removed sqlserver (previously wrongly named MySql) and Postgres specific store namespace and flattened all to store only.
@bargross
bargross merged commit 93fb540 into main Jul 12, 2026
5 checks passed
@bargross
bargross deleted the 1.0.2-minor-version-bug-fixes branch July 12, 2026 22:05
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.

1 participant