[MAGNOLIA-6451] YAML configuration: changes in included files don't trigger a reload of the registered item Created: 01/Dec/15  Updated: 03/Jun/16  Resolved: 29/Apr/16

Status: Closed
Project: Magnolia
Component/s: configuration, yaml
Affects Version/s: 5.4
Fix Version/s: 5.4.7

Type: Bug Priority: Major
Reporter: Philipp Bärfuss Assignee: Aleksandr Pchelintcev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 5d 3.1h
Original Estimate: Not Specified

Issue Links:
Relates
relates to MAGNOLIA-6672 Exceptions after YAML defined templat... Closed
relates to MAGNOLIA-6342 YAML config files are not automatical... Closed
relates to MAGNOLIA-6494 Create log messages when FileSystemRe... Closed
causality
is causing MAGNOLIA-6671 Unexpected exception log statements w... Closed
dependency
depends upon MAGNOLIA-6223 Provide proper API for resource chang... Closed
depends upon MAGNOLIA-6649 Refactor NameDefinition <-> Definitio... Closed
depends upon MAGNOLIA-6650 Let DefinitionProvider report the las... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Release notes required:
Yes
Date of First Response:
Epic Link: Resource reloading without restart
Sprint: Basel 42
Story Points: 8

 Description   

POC exists in FORGE/light-yaml. Since POC contains more than just solution for this issue, for the task itself we need to:

  • extract just the solution
  • extract and adapt relevant test
  • review & QA
  • time overhead introduced by the solution (document it either in resolution comment if negligible or in release notes & documentation on yaml loading if more significant)

Original description:
In YAML configuration files we support includes of other YAML files. The problem is that changes in an included file will not trigger the observation based releasing of the complete configuration. Some developers workaround with fake edits in the including file by adding a space for instance.

Note: in development mode we might want to load the YAML configuration on each request of the provider to avoid any stall configuration.



 Comments   
Comment by Christopher Zimmermann [ 13/Jan/16 ]

This ticket is very significant because it also solves 3 very frustrating bugs with yaml files - unrelated to includes:

  • If you add a folder and a file inside at the same time, they will not be registered. This can happen when copying an example in, or something from another module, or when simply creating a new file in a texteditor and specifying a new folder in its path.
  • If you remove a single yaml file - it will not be de-registered. For example the tempalte will still be available, even though the template def has been removed.
  • If a folder which contains yaml files is removed - the yaml files will not be de-registered.

(I've tested in both filesystem and classpath)

See linked dependent tickets.

Comment by Ilgun Ilgun [ 28/Jan/16 ]

Holding this ticket till we get a better way for implementing this one.
Currently blocked by MAGNOLIA-6512

Generated at Mon Feb 12 04:14:38 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.