bamaer commented on PR #8645:
URL: https://github.com/apache/hop/pull/8645#issuecomment-5855603869

   Docs-only, so nothing here can break at runtime — none of this is a reason 
to hold the PR up. The direction is good and the infographics are a clear step 
up from the static PNGs. A few things are worth fixing first, mostly where the 
new pages render worse than the ones they replace.
   
   Verified against a local Antora build of `25ccb75` using `hop-website`'s 
`antora-playbook-hop.yml`.
   
   ## Fix before merge
   
   **1. Eight lists render as run-on paragraphs with literal `*` and `1.`**
   
   No blank line between the lead-in sentence and the list, so Asciidoctor 
folds the items back into the paragraph:
   
   - `pipeline/pipelines.adoc` — lines 29, 48, 157
   - `workflow/workflows.adoc` — lines 29, 45, 69, 109, 143
   
   Built output for `pipelines.adoc:29`:
   
   ```html
   <p>Pipelines are designed for high throughput and low latency: * 
<strong>Ingestion</strong>: Read structured ... * <strong>Transformation &amp; 
Cleansing</strong>: ...</p>
   ```
   
   This hits the main body copy of both new pages. GitHub's diff preview is 
more forgiving than the Antora build, so it's easy to miss while writing — 
reproduced with plain `asciidoctor` as well. Fix is a blank line before each of 
the eight lists.
   
   **2. The SVGs don't follow the site's theme toggle**
   
   All three style dark mode with `@media (prefers-color-scheme: dark)` only; 
none contains a `[data-theme]` selector. The Hop site switches theme via 
`data-theme` on `<html>`, persisted in `localStorage['hop-theme']` — 
`prefers-color-scheme` is only the initial default. So a visitor on a light OS 
who clicks the dark toggle gets a dark page with three bright white 
infographics, and the inverse on a dark OS toggled to light. Reproduced by 
loading the built page with `data-theme="dark"` under a light OS preference.
   
   `ui/css/tokens.css` has the pattern; each dark block needs a twin:
   
   ```css
   @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { /* … 
*/ } }
   :root[data-theme="dark"] { /* same rules */ }
   ```
   
   Since these are `opts=inline`, `:root` resolves against the host page and 
this works.
   
   ## Worth fixing
   
   **3. Both load-balancing engine rows describe something the engine doesn't 
do** — `workflows.adoc:98`, `pipelines.adoc:98`
   
   `workflows.adoc:98` says *"Distributes child actions and workflows across a 
cluster of Hop servers for high scalability and failover resilience."* Reading 
through the engine:
   
   - `LoadBalancingWorkflowEngine` extends `RemoteWorkflowEngine`. 
`selectServer()` picks **one** server from the group, then 
`super.submitToRemoteServer()` hands it the whole workflow — one assignment, 
one container id. Actions are never spread across nodes. The plugin's own 
description is *"Assigns the workflow to one Hop server from a configured 
group."*
   - There's no failover. The retry loop only retries on admission capacity 
(`HopServerAdmission.isRetryableRegistrationFailure` matches 
`HopServerAtCapacityException` / "at capacity"), and only while `containerId` 
is still null — i.e. at submission. A server dying mid-run is not handled.
   - One of the two algorithms is `pack` — *"Keep as few servers busy as 
possible"* — which deliberately concentrates work rather than spreading it.
   
   `validateRunConfigurationChain` is only a cycle guard for server-to-server 
handoff (issue #4086), not distribution.
   
   Suggested replacement: *"Assigns each workflow to one server from a 
configured group, using an even-load or pack algorithm, and retries on another 
server when the chosen one is at capacity."* Worth adding that child pipelines 
and workflows **can** end up spread across the group, but that comes from the 
child actions' own run configurations, not from this engine. 
`LoadBalancingPipelineEngine` is the same shape, so `pipelines.adoc:98` needs 
the same treatment.
   
   **4. `workflow-backtracking-flow.svg` has two layout bugs.** The subtitle 
overprints the title (*"Workflow Orchestration & Backtracking Mod**Actions** 
run sequentially…"*), and the bottom caption is clipped at the viewBox edge, 
ending mid-word on *"…follows the failure hop to"*.
   
   **5. Dark-mode contrast in `hop-architecture-overview.svg`.** The non-accent 
pill text — "Hop GUI", "hop-run (CLI)", "Python (PyHop)" and all four Storage 
pills — stays dark navy on the dark background and is essentially unreadable. 
`.pill-text` needs the dark override `.pill-accent` already has.
   
   **6. "Your system never runs out of memory"** — `hop-gui-pipelines.adoc:34`, 
and `pipelines.adoc:72`. Back-pressure only bounds the hop buffers; blocking 
transforms still hold whole sets in memory. Hop's own `streamlookup.adoc` says 
*"the entire lookup data set needs to fit in your available memory."* Suggest 
scoping it to memory use *between* transforms.
   
   **7. Prefix the SVG CSS class names.** `concepts.adoc` and 
`getting-started/hop-concepts.adoc` inline all three SVGs on one page, so the 
three `<style>` blocks become page-level CSS sharing `.bg`, `.card`, 
`.text-title`, `.ribbon` and friends. It already shows: `.text-title` is 15px 
in the pipeline SVG and 14.5px in the workflow SVG, so whichever inlines last 
wins for both.
   
   ## Verified
   
   No conversion errors or warnings from any changed page (the only warnings 
are pre-existing `project_home` ones on unrelated transform pages). All 40 xref 
targets and every image path in the changed files resolve; all three SVGs carry 
Apache headers and inline correctly. Findings reproduced in the built HTML; 3 
and 6 checked against the Java source.
   


-- 
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]

Reply via email to