bamaer opened a new issue, #8591:
URL: https://github.com/apache/hop/issues/8591

   ### What needs to happen?
   
   A review of `plugins/misc/lint/src/main/resources/hop-lint-core.yml` against 
the code behind each rule found the following.
   
   ### Enabled by default
   
   **TRANS-002 Orphaned Transform (WARNING)**
   The description says a transform with no hops "never executes". The pipeline 
engine starts transforms that are not part of any hop: 
`PipelineMeta.getPipelineHopTransforms()` adds them explicitly, and `Pipeline` 
builds its run list from it. A standalone Execute SQL script, or a second 
independent stream, runs normally. The rule's premise and wording need 
revisiting for pipelines. WORKFLOW-002 is correct: an action not reachable from 
Start does not run.
   
   **NAMING-004 Default Transform Name (WARNING)**
   `hasDefaultGeneratedName` matches only `Transform <n>` and `Action <n>`. Hop 
GUI names a new transform after its plugin ("Table input", then "Table input 
2"; see `HopGuiPipelineTransformDelegate`), so the rule practically never 
fires, and the default names Hop does generate are not detected.
   
   **SEC-002 / SEC-003 Hardcoded Password or Secret**
   - Only the transform's or action's own `String` fields are inspected. 
Secrets held in nested objects are not checked.
   - A value counts as a variable only when it contains `${...}`. Other 
variable syntaxes Hop resolves are reported as hard-coded.
   - DB-001 reports an `Encrypted ...` password as hard-coded. If that is 
intended, the rule description should say so.
   
   ### Disabled, but the documented example of a composed rule
   
   **SQL-002 Unbounded SELECT \***
   - With `allOf`, a finding requires every clause to be violated. 
`MATCHES_PATTERN` is violated when the SQL does *not* match `select *`, so the 
rule targets every other query. The clause needs `NOT_MATCHES_PATTERN`.
   - Table input's default row limit is `"0"` (no limit, `TableInputMeta` 
constructor). `rowLimit NOT_EMPTY` treats `"0"` as set, so a default Table 
input is never considered unbounded.
   
   `HopCoreRulePackTest` asserts only that SQL-002 is composed, not what it 
reports.
   
   ### Related
   - Unknown rule parameters are accepted without a warning. For example, 
`checkPasswords` and `checkUsernames` on DB-001 are read by no code.
   
   ### Issue Priority
   
   Priority: 2
   
   ### Issue Component
   
   Component: Hop Gui, Component: 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]

Reply via email to