Hang caused by applying "merge this" post-fork
This hangs for me:
$ for n in $(seq 1 701); do echo "{ts:$n}"; done | zq -z 'fork (=>pass =>pass) | merge this' -
{ts:1}
{ts:1}
{ts:2}
{ts:2}
...
{ts:699}
{ts:700}
Details
Repro is with Zed commit 491dadf.
The repro shown above runs fine if the upper end of the seq is 700, but once I change it to 701, it hangs. I originally found this in the Zed lake context, where the magic crossover was when the upper end of the seq went from 54656 (works ok) to 54657 (hangs).
I also noticed it doesn't happen if I instead do merge ts, which indeed is probably what a user would have intended here. But #3678 leads me to believe merge this should be acceptable.
I checked in on this issue and confirmed it's still with us as of current super commit 47b1fb7.
Updating the repro command line for current flags/syntax:
$ super -version
Version: 47b1fb7d8
$ for n in $(seq 1 701); do echo "{ts:$n}"; done | super -s -c 'fork (pass) (pass) | merge this' -
{ts:1}
{ts:1}
{ts:2}
{ts:2}
...
{ts:700}
In a group discussion, we reached consensus that we're going to remove merge from the language as a user-facing operator, meaning it would no longer be possible for a user to hit this bug. That removal is now tracked in #6046. I'll close this issue once that one is addressed.