Skip to content

Select by originators#1751

Merged
fbac merged 5 commits intomainfrom
fbac/select-by-originators
Mar 2, 2026
Merged

Select by originators#1751
fbac merged 5 commits intomainfrom
fbac/select-by-originators

Conversation

@fbac
Copy link
Collaborator

@fbac fbac commented Mar 1, 2026

From:


BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	      56	  20936761 ns/op	  157194 B/op	    1190 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	      56	  20411267 ns/op	  157085 B/op	    1189 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	      63	  20238815 ns/op	  157162 B/op	    1190 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	      56	  20868535 ns/op	  157116 B/op	    1189 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	      62	  21622616 ns/op	  157167 B/op	    1190 allocs/op

to:

BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	    1162	   1058203 ns/op	  155820 B/op	    1140 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	    1213	   1050612 ns/op	  155806 B/op	    1140 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	    1153	   1019310 ns/op	  155815 B/op	    1140 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	    1220	   1024677 ns/op	  155805 B/op	    1140 allocs/op
BenchmarkSelectGatewayEnvelopesByOriginators/rows=1M-14 	    1242	   1050169 ns/op	  155807 B/op	    1140 allocs/op

Note

Derive originators from cursor arrays in SelectGatewayEnvelopesByOriginators

  • Removes OriginatorNodeIds from SelectGatewayEnvelopesByOriginatorsParams; originators are now inferred from the CursorNodeIds array
  • Rewrites the SQL query in envelopes_v2.sql to use LATERAL joins per originator, applying per-originator filtering, sequencing, and row limits
  • Updates SetVectorClockByOriginators to accept an explicit originator list and populate cursor arrays with sequence positions from the vector clock, defaulting to 0 for missing entries
  • Adds routing in fetchEnvelopes to use SelectGatewayEnvelopesBySingleOriginator for single-originator queries
  • Risk: Breaking change for all callers — they must now include desired originators in cursor arrays rather than a separate parameter

Macroscope summarized 10e1c0a.

@fbac fbac force-pushed the fbac/select-by-originators branch from 7ccc1bc to 9158573 Compare March 1, 2026 21:30
@fbac fbac marked this pull request as ready for review March 1, 2026 21:49
@fbac fbac requested a review from a team as a code owner March 1, 2026 21:49
@fbac fbac force-pushed the fbac/select-by-originators branch from 784f173 to 47ed8ff Compare March 1, 2026 21:51
Copy link
Collaborator

@mkysel mkysel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is some very good stuff!

@mkysel
Copy link
Collaborator

mkysel commented Mar 2, 2026

can you also update the benchmarks/results listing?

@fbac fbac force-pushed the fbac/select-by-originators branch from 60b9acf to 10e1c0a Compare March 2, 2026 14:32
@fbac fbac merged commit 5584fab into main Mar 2, 2026
15 checks passed
@fbac fbac deleted the fbac/select-by-originators branch March 2, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants