Commit b60cff4
committed
fix(storage): don't row-cap reads that cannot be paged
The guard layer applied LimitIterator to QueryValidations,
QueryTokenRequests and IteratorConfigurations. None of those three
accepts a pagination argument, so the error they raised once the cap was
exceeded ("must paginate") asked for something the API cannot do.
IteratorConfigurations made this a functional regression rather than
just misleading advice: LocalMembership.storedIdentityConfigurations
drains it in full via collections.ReadAll on the identity Load path, so
a node holding more than maxPageSize (default 1000) stored identity
configurations of one type failed to load identities, recoverable only
by raising or disabling the limit globally.
Remove the cap from all three and record at each site why the read is
not bounded here, matching the reasoning already applied to the
token-store iterators. Row-capping these reads needs a SQL-level LIMIT
or paging in their signatures, which the docs now track as follow-up.
LimitIterator has no remaining callers, so it and its tests are removed
rather than left as dead code.
maxPageSize continues to bound QueryTransactions on the owner and audit
transaction stores, which does take a pagination argument, so rejecting
an unbounded page there is actionable. Write payload limits are
unchanged.
Also correct the docs, which claimed the token store's
unspent/spendable/unsupported iterators were row-capped while
guard/token.go explicitly did not cap them and overrode no read method.
Signed-off-by: AkramBitar <akram@il.ibm.com>1 parent 97de92f commit b60cff4
7 files changed
Lines changed: 54 additions & 181 deletions
File tree
- docs
- services
- token/services/storage/db/guard
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
720 | 720 | | |
721 | 721 | | |
722 | 722 | | |
723 | | - | |
724 | | - | |
725 | | - | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
726 | 728 | | |
727 | 729 | | |
728 | 730 | | |
729 | 731 | | |
730 | 732 | | |
731 | 733 | | |
732 | 734 | | |
733 | | - | |
734 | | - | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
735 | 739 | | |
736 | 740 | | |
737 | 741 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
381 | 388 | | |
382 | 389 | | |
383 | 390 | | |
384 | 391 | | |
385 | 392 | | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
391 | 404 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
38 | 34 | | |
39 | 35 | | |
40 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
39 | 37 | | |
40 | 38 | | |
41 | 39 | | |
| |||
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
59 | 57 | | |
60 | 58 | | |
61 | 59 | | |
| |||
87 | 85 | | |
88 | 86 | | |
89 | 87 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | 88 | | |
100 | 89 | | |
101 | 90 | | |
| |||
0 commit comments