bamaer commented on PR #9262:
URL: https://github.com/apache/hop/pull/9262#issuecomment-6650920928
Thanks @mattcasters, the export/import round trip makes the container setup
much easier to reproduce, and the worked Git example in the docs helps.
Built this branch and ran the core and engine unit tests (all pass, also
with `SharedMetadataTest` before `MultiMetadataProviderTest`). Not run: Hop
GUI/Web or the container example.
**Blocker**
1. **A broken file in a child project now falls back to the parent's
object.** `MultiMetadataSerializer.load()` also catches a failing `load()` of
an object that exists.
- Test: `dwh.json` in the child has git conflict markers, and the parent
also has a `dwh`.
- On main the load throws. On this branch it logs an error and returns
the parent's `dwh`, so the pipeline runs against the other connection.
- This affects every parent/child project, with or without shared
metadata.
- Suggested fix: skip a provider only when `getSerializer()`/`exists()`
throws; once `exists()` is true, let `load()` throw. With that change the
conflict case throws again and `MultiMetadataUnavailableProviderTest` still
passes.
**Should fix**
2. **Hop Web reloads shared metadata for every browser session.**
`SharedMetadata.install()` is called in `HopWebEntryPoint.createContents()`,
which runs once per session. Each new session replaces the process-wide
provider with a fresh copy from disk, so sessions that are already open stop
seeing each other's changes. Suggested fix: install it once in
`HopWeb.configure()` next to the scope setup.
3. **A non-local folder locks out every tool.** `hop-conf
--shared-metadata-folder=git-project:///shared` is saved without the
local-folder check. After that, `SharedMetadata.install()` throws at startup in
hop-conf, hop run, hop gui and hop server, and hop-conf can't clear it any
more. Suggested fix: run `checkLocalFolder` before saving, and/or log an error
and start without shared metadata.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]