Skip to content

Commit ad0c451

Browse files
adwk67claude
andcommitted
refactor: consume the config-file writer from stackable-operator
Replace the hand-rolled Java-properties escaper (rust/operator-binary/src/controller/build/properties/writer.rs) with stackable_operator::v2::config_file_writer (moved there via operator-rs #1217 on the smooth-operator branch). A thin adapter in properties/mod.rs maps trino's String-valued maps onto the writer's Option<String>-valued interface; the kuttl-pinned escape behaviours stay covered by unit tests against the shared writer. Unlike the other operators this is not a pure relocation: the hand-rolled escaper (introduced on this branch, never released) had unintentionally diverged from the product-config writer it replaced. A differential test showed 8 divergences, all unreachable from operator defaults (the kuttl smoke snapshot's 157 property lines are unaffected): - inner/trailing spaces in values: now escaped (read-back identical per the Java properties spec) - tab/newline/CR in values: now escaped (the raw output was malformed) - non-ASCII: now ISO-8859-1-spec behaviour again (error on Latin-1-range values, \uXXXX beyond) instead of raw UTF-8 pass-through This restores the exact serialization behaviour of the released operator, which renders via the identical product-config code. The base dependency tag moves from stackable-operator-0.111.0 to 0.111.1, matching the other operators; cargo only substitutes a [patch] whose package version matches, and the smooth-operator branch carries 0.111.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 66b2614 commit ad0c451

8 files changed

Lines changed: 299 additions & 308 deletions

File tree

Cargo.lock

Lines changed: 53 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)