Failed scans aren't cancelling internally
Reported by Paul Jones | 2011-07-13 09:24:27 UTC
When one leg of a scan fails, the scan isn't being marked as failed. This then means that the other leg will continue on, and usually doesn't stop until it either completes or it attempts to write. If it does attempt to write, then it will receive a timeout from the VersionCorrelationWriterProxy, since the main receive loop logs and error and fails to respond if it gets a VersionCorrelationWriterCommand.
To make scans fail more cleanly, we should:
- Cancel the current feedback handle when either of the legs fails;
- Change the VersionCorrelationWriterProxy response message to be either Correlation or Cancelled, and generate a ScanCancelledException if the Cancelled message is returned.
Comments and changes to this ticket
-

Ben Hood 2011-07-14 10:56:14 UTC
(from [670ca0ed67dcde5206e4c3c978014e0ab3e3033f]) [#289] When a scan fails, ensure that both worker threads are cancelled.
Also fast-fail writer commands.
https://github.com/lshift/diffa/commit/670ca0ed67dcde5206e4c3c97801... -

Ben Hood 2011-07-14 12:34:38 UTC
(from [6e38f16e78503403862f6ded08bc67786bd1f92c]) [#289] Introduce tests for the failure abort scenarios.
Correct issue where early case statement was swallowing new VersionCorrelationWriter command response.
https://github.com/lshift/diffa/commit/6e38f16e78503403862f6ded08bc... -

Paul Jones 2011-07-14 12:35:07 UTC
- State changed from new to resolved
- Assigned user set to Ben Hood
Ready for QA
-

Ben Hood 2011-07-14 15:14:47 UTC
(from [7aaa916718a23a90a903237ad5ab1c49f42a1138]) [#289] Factor tests out to reduce repetition. https://github.com/lshift/diffa/commit/7aaa916718a23a90a903237ad5ab...
-

Ben Hood 2011-07-14 15:18:31 UTC
(from [5492b7acd317f3eaac29c7bbfa5132e233110dc3]) [#289] Turn times into constants. https://github.com/lshift/diffa/commit/5492b7acd317f3eaac29c7bbfa51...
-

Ben Hood 2011-07-14 16:03:22 UTC
(from [8f3332d62d1bbefd35f55ed057e3ae0fc2829f29]) [#289] Don't scan for aggregates when we don't have any bucketing initially. https://github.com/lshift/diffa/commit/8f3332d62d1bbefd35f55ed057e3...
-

Ben Hood 2011-07-14 17:09:59 UTC
- State changed from resolved to open
- Assigned user changed from Ben Hood to Paul Jones
There are some more 2nd round QA remarks on the pull request -> re-opening
-

Ben Hood 2011-07-15 07:41:04 UTC
(from [f2711fa5ee26391db920cc5bb928d0d83c819e44]) [#289] Second round QA comments. https://github.com/lshift/diffa/commit/f2711fa5ee26391db920cc5bb928...
-

-

Paul Jones 2011-07-15 08:10:28 UTC
- State changed from open to resolved
- Assigned user changed from Paul Jones to Ben Hood
QA remarks implemented.
-

Ben Hood 2011-07-15 09:15:50 UTC
(from [86ad600795f6b25cd4f28e3e273439e99d394cab]) Merge pull request #38 from lshift/289
[#289] When a scan fails, ensure that both worker threads are cancelled. https://github.com/lshift/diffa/commit/86ad600795f6b25cd4f28e3e2734...
-

Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A Real Time Differencing Tool.