[feature] Add @enabled attribute to conf.xml elements to disable entries without removing them - #6550
Conversation
7f6177a to
233f0b2
Compare
e4e37be to
50b9e44
Compare
|
@reinhapa thanks for the suggestion. I lean towards applying the record form with both fields passed explicitly — — but wanted your take before committing to it. Does that form work for you, or would you prefer to keep the inner class as-is? |
50b9e44 to
23585c0
Compare
665e542 to
4bca008
Compare
4bca008 to
e2d482c
Compare
…X parser features in conf.xml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…yes", scheduler jobs as live enabled="no" entries, @enabled on <parameter> and <property> in conf.xsd; bump schema to 2.5.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…2.6.0 - Add memorySizeType (pattern [0-9]+[KkMmGgTt]?|-1); apply to cacheSize, collectionCache, minDiskSpace, recovery/@SiZe - pool/@min, @max: xs:integer → xs:positiveInteger - lock-table/@trace-stack-depth: xs:int → xs:nonNegativeInteger - indexer/create/@type: xs:anySimpleType → xs:string - transformer/@caching: xs:string → yes_no with default="yes" - scheduler/job/@period: xs:string → xs:positiveInteger - vector-models/model/@Dimension: xs:integer → xs:positiveInteger - Fix swapped docs on raise-error-on-failed-retrieval / enforce-index-use - Fix "group-comit" typo in recovery/@group-commit doc - Fix rpc-server in-memory-size default 4196 → 4096 - Fill in TODO docs: indexer/create attrs, flushAfter, n, xquery module attrs (class/uri/src), xupdate/@growth-factor Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ure triggers
ParametersExtractor.parseProperties() used case-sensitive .equals("no") while
every other enabled check in Configuration.java uses .equalsIgnoreCase(). An
enabled="NO" parameter would be silently included instead of skipped.
generate-conf-fixture.xsl stripped @enabled from kept module/index nodes but
not from surviving triggers, so BouncyCastle and URLStreamHandler emitted an
explicit enabled="yes" in generated fixtures — inconsistent with the module
treatment and noise in fixture diffs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e2d482c to
e80ba7a
Compare
📊 XQTS result comparisonComparison of this run against Warning 63 test cases were recorded in only one of the two runs (34 only in the previous run, 29 only in the current run). The runner's JUnit output is not fully deterministic (see eXist-db/exist-xqts-runner#74), so totals and per-category deltas include recording noise; the newly passing/failing lists count only tests recorded in both runs.
Relative to 🔴 Newly failing tests (1)
🟢 Newly passing tests (1)
⚪ Recorded only in this run (29)
⚪ Recorded only in `develop` (34)
Runtime: 499.6s (+56.68s vs |
|
@duncdrum good to go? |
|
@dizzzz yes |
Summary
Adds an
enabled="yes|no"attribute (defaultyes) to<module>,<trigger>,<job>,<feature>,<parameter>, and<property>elements inconf.xml/conf.xsd. Settingenabled="no"disables an entry at startup without removing it — the schema-valid equivalent of commenting it out.Addresses #3062, part 1 of 2 (the
@enabledattribute; SPI autodiscovery, part 2, is in #6551). Builds on #6528/#6530/#6531.What changed
schema/conf.xsd(2.4.0 → 2.6.0) —@enabled(yes_notype, defaultyes) on the six element types above; tightened cron/class-name/period patterns along the way.exist-distribution/src/main/config/conf.xml— the four live startup triggers now carry explicitenabled="yes"; two previously commented-out scheduler jobs (ConsistencyCheckTask,DataBackup) promoted to live<job enabled="no">entries.Configuration.java—configureModules()/configureStartup()/configureScheduler()/parseFeatures()/parseParameters()/parseProperties()all skipenabled="no"entries; fixes a latent case-sensitivity bug where"No"wasn't recognized.Compatibility
Existing
conf.xmlfiles without the attribute are unaffected (default isyes).Test plan
mvn validate -pl exist-distribution— canonicalconf.xmlvalidates againstconf.xsd2.6.0mvn test -pl exist-core -Dtest=org.exist.config.ConfigurationTest— existing tests passenabled="no"on a<module>entry → module not loaded at startupenabled="no"toenabled="yes", restart → job runs🤖 Generated with Claude Code