Commit 532af22
fix(ENGKNOW-3670): don't rebuild gord dictionary through the .gord.link on a cache hit (#131)
* fix(ENGKNOW-3670): don't rebuild gord dictionary through the .gord.link on a cache hit
On re-run with an active result cache, GeneralQueryHandler.generateDictionaryFile
received the raw `<fingerprint>.gord.link` cache entry. It checked project-root/
thedict.gord (never present) so it always rebuilt, and rebuilt through the
unresolved link, writing thedict.gord (and its atomic-write temp sibling) inside
the `.gord.link` FILE -> "Not a directory".
Resolve the link to the real gord folder first; skip the rebuild when thedict.gord
is already there (the normal cache-hit case), and target the resolved folder in the
rare rebuild fallback so no path is ever concatenated onto the link file. The now
unused fileRoot parameter (and its executeBatch local) is removed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test(ENGKNOW-3670): cover gord-folder cache-hit and cache-miss-overwrite paths
White-box (UTestPGorGordFolderDelete.scala): fold in the ENGKNOW-3670 regression
alongside the existing take-1 delete-gate suite, reusing its stub-cache session.
(1) cache hit with thedict.gord present -> rebuild skipped, no crash, no temp file
under the link; (2) fallback with thedict.gord missing -> rebuild targets the
resolved folder, never writes through the raw `.gord.link` (asserts the outcome's
cause chain names neither ".gord.link" nor "Not a directory", so it fails against
the pre-fix code). No end-to-end test can catch this locally: TestUtils.runGorPipe
uses LocalFileCacheClient, which re-runs the write when a cached link does not
resolve, masking the server-cache crash.
End-to-end (UTestGorWriteFolder.java): add testPgorOverwriteGordFolderWith-
DifferentDataOnCacheMiss -- overwrite an existing gord folder with disjoint data on
a cache miss (different query => different signature => real delete-and-rewrite) and
assert only the second write's rows remain (no superset/stale dictionary).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent fc81c83 commit 532af22
3 files changed
Lines changed: 144 additions & 14 deletions
File tree
- gortools/src
- main/scala/gorsat/QueryHandlers
- test
- java/gorsat
- scala/gorsat/Utilities
Lines changed: 13 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
118 | | - | |
119 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
120 | 129 | | |
121 | 130 | | |
122 | 131 | | |
123 | 132 | | |
124 | 133 | | |
125 | 134 | | |
126 | 135 | | |
127 | | - | |
128 | 136 | | |
129 | 137 | | |
130 | 138 | | |
| |||
146 | 154 | | |
147 | 155 | | |
148 | 156 | | |
149 | | - | |
| 157 | + | |
150 | 158 | | |
151 | 159 | | |
152 | 160 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
223 | 250 | | |
Lines changed: 104 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
| 41 | + | |
40 | 42 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
45 | 47 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
50 | 59 | | |
51 | 60 | | |
52 | 61 | | |
| |||
144 | 153 | | |
145 | 154 | | |
146 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
147 | 242 | | |
0 commit comments