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]

Reply via email to