Generalize indexing schema versions#1284
Draft
jwils wants to merge 3 commits into
Draft
Conversation
690e775 to
ec0cb6b
Compare
ec0cb6b to
ab31afa
Compare
- Make `indexing_event_decoder` a required `SqsProcessor` kwarg instead of a nilable one with a second, duplicate default-construction path. The warehouse lambda now passes its indexer's configured decoder, so there is a single source of truth for the default and decoders can rely on receiving non-nil `schema_artifacts`. - Make `JSONLines` inherit from `Interface` so its RBS superclass declaration matches the runtime class. - Validate the decoder's `name` config with the same class-name pattern used for query interceptors, and regenerate the config schema artifact. - Match the established extension-interface style (explanatory comments, `:nocov:` only around the body that must return a value) and document the interface publicly since it is the contract decoder authors implement. - Replace the `_ =` cast with an inline type annotation, alphabetize requires, and simplify the SQS processor spec helper.
198a1cb to
2a2ae34
Compare
ab31afa to
609617b
Compare
5eca661 to
4416d09
Compare
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.
Why
The indexing event decoder contract should not force non-JSON transports to expose JSON-specific schema versioning. Proto/Kafka decoders can omit
schema_version, while JSON ingestion owns thejson_schema_versionmapping when needed.What
json_schema_versionwith genericschema_versionjson_schema_versiontoschema_versionRisk Assessment
Medium: this changes core indexing event normalization and warehouse log keys, but JSON ingestion compatibility is preserved through the new decoder and the affected unit suites pass.
References
script/type_check, andscript/lint