Open
Conversation
5a4dc5c to
be68b1e
Compare
Ports Postgres improvements from internal bdp-maestro to align the OSS database layer with internal Postgres code paths. Key changes: - Replace GENERATED ALWAYS AS columns with explicit regular columns - Add explicit column binding in all INSERT/UPSERT statements - Add SERIALIZABLE isolation level for race-condition-sensitive operations - Use FNV-1a hash for timeline deduplication instead of hashCode() - Use subquery pattern for DELETE...LIMIT (Postgres compatibility) - Add null-byte sanitization for Postgres TEXT/JSONB columns - Match internal SQL formatting: tuple SET syntax, ON CONFLICT column qualification, row_to_json() without redundant ::jsonb cast - Remove CockroachDB migrations and _POSTGRES constant suffix - Revert incorrect column renames (keep dependencies/outputs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ac83a25 to
13255e8
Compare
praneethy91
approved these changes
Feb 24, 2026
maestro-database/src/main/java/com/netflix/maestro/database/AbstractDatabaseDao.java
Outdated
Show resolved
Hide resolved
Method has zero callers in OSS. The 1-param version covers all current use cases. Addresses PR #195 review feedback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rdeepak2002
pushed a commit
that referenced
this pull request
Feb 24, 2026
Replace boolean-flag method with explicit markTransactionSerializable() and markTransactionSerializableReadOnly() per PR #195 review feedback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
derek-miller
pushed a commit
to derek-miller/maestro
that referenced
this pull request
Mar 4, 2026
…gine] update kube-gen version 80.0.0 to 82.2.0 (Netflix#195) * [powertrain-maestro-engine] update kube-gen version 80.0.0 to 82.2.0 * [powertrain-maestro-ui] update kube-gen version 80.0.0 to 82.2.0 * [powertrain-gateway] update kube-gen version 80.0.0 to 82.2.0 * [relay] update kube-gen version 80.0.0 to 82.2.0 --------- Co-authored-by: kube-gen-refactorator <infrastructure.compute-infra@airbnb.com>
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.
Pull Request type
./gradlew build --write-locksto refresh dependencies)NOTE: Please remember to run
./gradlew spotlessApplyto fix any format violations.Changes in this PR
Ports Postgres improvements and changes from internal bdp-maestro (PR #1500, commit
7324f560f) to align the OSS database layer with internal Postgres code paths.Key changes:
GENERATED ALWAYS AScolumns with explicit regular columns across all Flyway migrationsSERIALIZABLEisolation level for race-condition-sensitive operations (FIRST_ONLY/LAST_ONLY run strategies, dequeue, workflow deletion)hashCode()(more robust cross-JVM consistency)\0in text-based columns; timeline events are now sanitized viasanitizeString()before insertion)row_to_json()without redundant::jsonbcastmaestro_output_datatooutput_datain order to match internal namingMigration note
This is a breaking schema change. Flyway migrations are rewritten in-place (removing GENERATED columns), requiring a fresh database. Existing deployments must drop and recreate the database.
Test plan
7324f560ftestInsertStepInstanceSanitization,testUpdateStepInstanceSanitization)