We’ve recently found an intermittent issue that affects non-deterministic expressions, when used in filter() and build_sparse().
This is a typical, most likely example:
create array foo <val:double> [x=1:10000,1000,0, y=1:10000,1000,0]
store(build(foo, random()), foo) --OK
filter(foo, random()%2) -- DO NOT USE; intederminate
build_sparse(foo, x+y, random() % 2) --DO NOT USE as well
Please refrain from using such queries at the moment.
Instead, as a workaround, you can use operator bernoulli:
bernoulli(foo, 0.5) --OK
If you cannot do without a non-deterministic expression, you can also store the result and then use it to filter:
store(project(apply(foo, expr, random()%2 ), expr), foo_expr)
filter(join(foo, foo_expr), expr) --also OK
We are working on the fix.