Commit b472f67
committed
Fix MCS deadlock: poll() timeouts, future cancellation, SMSD 6.10.1
Root cause: CompletionService.take() blocks forever when MCS workers
hang inside the SMSD engine. Replaced with poll(timeout) at three levels:
- GraphMatcher: 15s per-pair poll + 60s overall matcher budget
- CallableAtomMappingTool: 120s per-algorithm poll
- Phase 1 inline .call() moved to executor with timeout
Orphaned futures are now cancelled (interrupt=true) after timeout to
free the shared static MAPPING_EXECUTOR pool. GraphMatcher finally
block uses shutdownNow() to interrupt stuck local MCS threads.
Also: SMSD upgraded to 6.10.1; energy filter NPE guard added in
SmsdReactionMappingEngine.applyDefaultFilters().1 parent 63e4900 commit b472f67
6 files changed
Lines changed: 91 additions & 21 deletions
File tree
- src/main/java/com/bioinceptionlabs/reactionblast/mapping
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| |||
393 | 393 | | |
394 | 394 | | |
395 | 395 | | |
396 | | - | |
| 396 | + | |
397 | 397 | | |
398 | 398 | | |
399 | 399 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
288 | 295 | | |
289 | 296 | | |
290 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| |||
Lines changed: 33 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
62 | 64 | | |
63 | 65 | | |
64 | 66 | | |
| |||
146 | 148 | | |
147 | 149 | | |
148 | 150 | | |
| 151 | + | |
149 | 152 | | |
150 | | - | |
| 153 | + | |
151 | 154 | | |
152 | | - | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
153 | 158 | | |
154 | 159 | | |
155 | 160 | | |
| |||
158 | 163 | | |
159 | 164 | | |
160 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
161 | 171 | | |
162 | 172 | | |
163 | 173 | | |
| |||
184 | 194 | | |
185 | 195 | | |
186 | 196 | | |
| 197 | + | |
187 | 198 | | |
188 | 199 | | |
189 | 200 | | |
190 | 201 | | |
191 | 202 | | |
192 | | - | |
193 | | - | |
| 203 | + | |
| 204 | + | |
194 | 205 | | |
195 | 206 | | |
| 207 | + | |
196 | 208 | | |
197 | 209 | | |
198 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
199 | 219 | | |
200 | 220 | | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
| 221 | + | |
205 | 222 | | |
206 | 223 | | |
207 | 224 | | |
| |||
210 | 227 | | |
211 | 228 | | |
212 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
213 | 237 | | |
214 | 238 | | |
215 | 239 | | |
| |||
Lines changed: 36 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
81 | 87 | | |
82 | 88 | | |
83 | 89 | | |
| |||
449 | 455 | | |
450 | 456 | | |
451 | 457 | | |
| 458 | + | |
| 459 | + | |
452 | 460 | | |
453 | 461 | | |
454 | | - | |
455 | | - | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
456 | 483 | | |
| 484 | + | |
457 | 485 | | |
458 | 486 | | |
459 | 487 | | |
460 | 488 | | |
461 | 489 | | |
462 | 490 | | |
463 | | - | |
464 | | - | |
| 491 | + | |
465 | 492 | | |
466 | | - | |
467 | | - | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
468 | 497 | | |
469 | 498 | | |
470 | 499 | | |
| |||
502 | 531 | | |
503 | 532 | | |
504 | 533 | | |
505 | | - | |
| 534 | + | |
506 | 535 | | |
507 | 536 | | |
508 | 537 | | |
| |||
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
109 | 119 | | |
110 | 120 | | |
111 | 121 | | |
0 commit comments