Andy wrote:
On 31/08/16 09:09, Chris Dollin wrote:

...

(/me not entirely convinced that 'close' is always called for all points where
cancel triggers everywhere)

How could we go about checking that, in a way that
is robust against changes to the codebase? It feels ...
tricky.

(The data bag is only used if ARQ.spillToDiskThreshold
is set and the set `seen` of seen bindings gets bigger
than that size. Our production systems don't use
spill-to-disc anyway.)

Right - but other people may be. We need a fix that works for everyone!

Oh yes, I didn't mean to imply otherwise. But I did experiment
setting the threshold to 1 and checking that the revised code
(requestSubCancel doing nothing) worked as expected.

Which also raises the question: how shall we unit-test this?
Current untested idea is to build a QueryIterDistinct over a
custom QueryIterator that can report whether or not it has
been cancelled, cancel the Distinct, and check the custom
iterator. It feels a bit weak -- it doesn't take any
account of the concurrency of timeouts -- but it might
be enough for now.

Chris

--
"Possibly you're not recalling some of his previous plans."      Zoe, /Firefly/

Epimorphics Ltd, http://www.epimorphics.com
Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20 6PT
Epimorphics Ltd. is a limited company registered in England (number 7016688)

Reply via email to