test: adapt integration tests to Weaviate 1.37.5#2046
Closed
jfrancoa wants to merge 1 commit into
Closed
Conversation
Bump WEAVIATE_137 to 1.37.5 and adapt integration tests to two intentional server changes (verified against weaviate source, not client bugs): 1. maxWorkers removed from async replication config (commit bb3d157004 "async replication scheduler", in tags v1.37.3+). The server no longer accepts/returns it, so max_workers reads back None. Drop max_workers from the 5 async replication tests and assert round-trip via hashtree_height instead (available on all async-capable versions >=1.34.18). test_replication_config_unset_single_async_field is re-gated to >=1.37.3 and rewritten using hashtree_height + propagation_concurrency, since after the removal a single-field partial update replaces the config (unspecified fields revert to default). 2. Property name suffix "_searchable" is now reserved for internal indices (entities/schema/validation.go). Rename field_index_searchable -> field_searchable_index and nested_searchable -> nested_searchable_index in test_config_export_and_recreate_from_dict; index_searchable=False behavior is unchanged. The client still exposes max_workers for backward compatibility with older servers (silently ignored on 1.37.3+). Verified: full integration suite passes against a live 1.37.5 cluster (1162 passed, 88 skipped, 0 failures). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Infrastructure as Code | View in Orca | ||
| SAST | View in Orca | ||
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Weaviate
1.37.5introduces two intentional server-side behavior changes that break existing integration tests. This PR bumps the pinnedWEAVIATE_137version in CI from1.37.1-4e61e26.amd64to the released1.37.5and adapts the affected tests. Both failures stem from deliberate server changes (verified against the Weaviate source), not client bugs — the tests were asserting behavior the server no longer provides.Approach
Two unrelated server changes drive the test updates:
maxWorkersremoved from async replication config (server commitbb3d157004"async replication scheduler", shipped inv1.37.3+). The server no longer accepts or returns this field, somax_workersnow reads back asNone. Rather than asserting on a field the server has dropped, the async replication tests now round-trip throughhashtree_height(andpropagation_concurrency), which are available on all async-capable versions. The client still exposesmax_workersfor backward compatibility with older servers — it's just silently ignored on1.37.3+, so no client code changed.Property name suffix
_searchableis now reserved for internal indices (entities/schema/validation.go). Properties namedfield_index_searchable/nested_searchableare rejected by validation, so they're renamed tofield_searchable_index/nested_searchable_index. Theindex_searchable=Falsebehavior under test is unchanged — only the property names move.The one test with a real semantic shift is
test_replication_config_unset_single_async_field: after themaxWorkersremoval, a single-field partial update now replaces the whole async config (unspecified fields revert to server defaults). The test is re-gated to>= 1.37.3and rewritten withhashtree_height+propagation_concurrencyto still exercise that "unspecified field reverts to default" invariant.Key areas for review
test_collection_config.py:test_replication_config_unset_single_async_field— the only test with changed semantics (config replacement on partial update); verify the version gate and the revert-to-default assertion still capture the intended behavior.github/workflows/main.yaml— version pin moves from a pre-release build hash to released1.37.5max_workers→hashtree_heightsubstitutions; safe to skimRisks and mitigations
Low risk — this is test maintenance, no production client code changes.
max_workersassertions means we no longer verifymax_workersround-trips on servers< 1.37.3where it's still honored. Mitigated by the fact that the field is still exposed by the client and the substituted assertions (hashtree_height) cover the same async-config round-trip path across all supported versions.test_replication_config_unset_single_async_fieldis gated to>= 1.37.3rather than1.37.5because the config-replacement behavior lands with themaxWorkersremoval; running it on1.37.3/1.37.4is intended.Testing
Full integration suite run against a live
1.37.5cluster: 1162 passed, 88 skipped, 0 failures.🤖 Generated with Claude Code