Commit 6937474
committed
fix(qwp): drop cached timestamp columns and repair accounting on buffer clear/rollback
Senders cache designated-timestamp ColumnBuffer refs and derive
bookkeeping from their table buffers. rollbackUncommittedColumns()
(failed at()) and QwpTableBuffer.clear() close those columns, leaving
dangling refs that NPE on the next at() and corrupt pending accounting.
- Invalidate WebSocket timestamp caches in rollbackRow(); cancelRow()
now routes through it.
- Add QwpTableBuffer.Owner: clear() notifies the owning sender before
releasing columns. WebSocket subtracts the buffer's exact accounted
share (committedBytes - new baselineBytes, seed offsets excluded);
UDP resets transient row state, datagram estimate, and headroom
state (its base-estimate cache is keyed by column count alone).
- Unify flush snapshot anchoring at post-reset storage so per-table
contributions are exact under any reset/switch/flush history.
Hot path unchanged. Regressions: clear between rows (both units, both
senders), non-current/mid-row clear, accounting locality, stale
headroom estimate.1 parent f47859b commit 6937474
5 files changed
Lines changed: 418 additions & 9 deletions
File tree
- core/src
- main/java/io/questdb/client/cutlass/qwp
- client
- protocol
- test/java/io/questdb/client/test/cutlass/qwp/client
Lines changed: 32 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
198 | 219 | | |
199 | 220 | | |
200 | 221 | | |
| |||
580 | 601 | | |
581 | 602 | | |
582 | 603 | | |
583 | | - | |
| 604 | + | |
584 | 605 | | |
585 | 606 | | |
586 | 607 | | |
| |||
1490 | 1511 | | |
1491 | 1512 | | |
1492 | 1513 | | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
1493 | 1523 | | |
1494 | 1524 | | |
1495 | 1525 | | |
| |||
Lines changed: 55 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
| 123 | + | |
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| |||
1011 | 1011 | | |
1012 | 1012 | | |
1013 | 1013 | | |
1014 | | - | |
1015 | | - | |
1016 | | - | |
1017 | | - | |
| 1014 | + | |
1018 | 1015 | | |
1019 | 1016 | | |
1020 | 1017 | | |
| |||
1811 | 1808 | | |
1812 | 1809 | | |
1813 | 1810 | | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
1814 | 1820 | | |
1815 | 1821 | | |
1816 | 1822 | | |
| |||
1824 | 1830 | | |
1825 | 1831 | | |
1826 | 1832 | | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
1827 | 1839 | | |
1828 | 1840 | | |
1829 | 1841 | | |
1830 | 1842 | | |
| 1843 | + | |
| 1844 | + | |
1831 | 1845 | | |
1832 | 1846 | | |
1833 | 1847 | | |
| |||
2235 | 2249 | | |
2236 | 2250 | | |
2237 | 2251 | | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
| 2261 | + | |
| 2262 | + | |
| 2263 | + | |
| 2264 | + | |
| 2265 | + | |
| 2266 | + | |
| 2267 | + | |
| 2268 | + | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
2238 | 2279 | | |
2239 | 2280 | | |
2240 | 2281 | | |
| |||
3823 | 3864 | | |
3824 | 3865 | | |
3825 | 3866 | | |
3826 | | - | |
| 3867 | + | |
| 3868 | + | |
| 3869 | + | |
| 3870 | + | |
| 3871 | + | |
3827 | 3872 | | |
3828 | 3873 | | |
3829 | 3874 | | |
| |||
3860 | 3905 | | |
3861 | 3906 | | |
3862 | 3907 | | |
| 3908 | + | |
| 3909 | + | |
| 3910 | + | |
| 3911 | + | |
3863 | 3912 | | |
3864 | 3913 | | |
3865 | 3914 | | |
| |||
Lines changed: 51 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
| 69 | + | |
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
| |||
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
77 | | - | |
| 79 | + | |
78 | 80 | | |
79 | 81 | | |
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
83 | 85 | | |
84 | 86 | | |
| 87 | + | |
85 | 88 | | |
86 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
87 | 103 | | |
88 | 104 | | |
| 105 | + | |
89 | 106 | | |
90 | 107 | | |
91 | 108 | | |
| |||
118 | 135 | | |
119 | 136 | | |
120 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
121 | 142 | | |
122 | 143 | | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
123 | 147 | | |
124 | 148 | | |
125 | 149 | | |
| |||
132 | 156 | | |
133 | 157 | | |
134 | 158 | | |
| 159 | + | |
135 | 160 | | |
136 | 161 | | |
137 | 162 | | |
138 | 163 | | |
139 | 164 | | |
140 | 165 | | |
141 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
142 | 179 | | |
143 | 180 | | |
144 | 181 | | |
| |||
312 | 349 | | |
313 | 350 | | |
314 | 351 | | |
| 352 | + | |
315 | 353 | | |
316 | 354 | | |
317 | 355 | | |
| |||
489 | 527 | | |
490 | 528 | | |
491 | 529 | | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
492 | 542 | | |
493 | 543 | | |
494 | 544 | | |
| |||
Lines changed: 65 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
269 | 269 | | |
270 | 270 | | |
271 | 271 | | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
272 | 311 | | |
273 | 312 | | |
274 | 313 | | |
| |||
1955 | 1994 | | |
1956 | 1995 | | |
1957 | 1996 | | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
1958 | 2023 | | |
1959 | 2024 | | |
1960 | 2025 | | |
| |||
0 commit comments