bamaer commented on PR #8940:
URL: https://github.com/apache/hop/pull/8940#issuecomment-6199218297
@mattcasters, thanks. The button is what the reporter asked for, and the
lock around `putIfCurrent` in `DbCache` stops a query that was already running
from writing the old columns back after the clear. I built the PR and ran
`DbCacheTest`, `DatabaseTest`, `ProblemsForceRefreshLintTest` and
`ProblemsForceRefreshTest`, and all pass. I haven't tried it in the GUI.
No blockers. One thing to fix:
**Lint drops its results on any cache clear, not only on this button**
(`BackgroundLintService.java:314`). `sameDbCacheGeneration` compares the global
DbCache generation, which also goes up when someone uses the broom button or
the SQL editor, when Table output creates or alters a table, and on any DDL
statement through `Database.execStatement`, on any connection (in Hop Web, from
any user). A pass running at that moment is thrown away and nothing schedules
it again, so its markers stay old until the next edit. A test shows it: after
`clear("some-other-connection")` in the middle of a pass, `publishIfCurrent`
returns false. Suggested fix: have `refreshOpenEditorsExcept` bump its own
counter in `BackgroundLintService` and compare against that.
Minor: the active editor isn't re-linted (`:215`). A pipeline's check only
republishes lint results when "include lint in pipeline verify" is on, and a
workflow's check never does, so the active workflow keeps its old markers.
Re-linting the active editor too would cover both.
--
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]