Skip to content
This repository has been archived by the owner on Jun 18, 2021. It is now read-only.

Property Result in case of exceptions #326

Open
kderme opened this issue Jul 1, 2019 · 8 comments
Open

Property Result in case of exceptions #326

kderme opened this issue Jul 1, 2019 · 8 comments

Comments

@kderme
Copy link
Collaborator

kderme commented Jul 1, 2019

At the moment runParallelCommandsNTimes and prettyParallelCommands return a passing Result even when there is some thrown exception on semantics. Maybe we should discuss which should be the default behaviour.

Also the equivalent NParallel.. commands may encounter executeCommands: impossible (for example when an exception during a MemoryReferene Create fails) because this #317 is not adopted yet.

@stevana
Copy link
Collaborator

stevana commented Jul 2, 2019

What do you mean by "return a passing Result"?

@stevana
Copy link
Collaborator

stevana commented Jul 2, 2019

Also the equivalent NParallel.. commands may encounter executeCommands: impossible (for example when an exception during a MemoryReferene Create fails) because this #317 is not adopted yet.

Yes, we should implement the analogue of #317 for the NParallel... functions.

@kderme
Copy link
Collaborator Author

kderme commented Jul 2, 2019

What do you mean by "return a passing Result"?

The property doesn't fail

@stevana
Copy link
Collaborator

stevana commented Jul 2, 2019

The parallel property shouldn't necessarily fail if an exception is thrown on one of the threads. It should only fail if we cannot complete the history (#317) in any way that linearises.

Arguably we should either make runParallelCommands' (which completes histories) the default way to run the parallel property and remove runParallelCommands, or keep both runParallelCommands and runParallelCommands' and have runParallelCommands fail if there's any exception (since that function doesn't complete histories).

Is that what you meant or did you mean something else?

@stevana
Copy link
Collaborator

stevana commented Jul 2, 2019

Another way to think of it is that runParallelCommands should be used when there's no fault injection (exceptions), while runParallelCommands' should be used when there's fault injection.

@kderme
Copy link
Collaborator Author

kderme commented Jul 2, 2019

Yes, this is what I meant. I personally agree a bit more with the second option: make runParallelCommands fail on exceptions, since it doesn't complete histories.

@kderme
Copy link
Collaborator Author

kderme commented Jul 2, 2019

Another way to think of it is that runParallelCommands should be used when there's no fault injection (exceptions), while runParallelCommands' should be used when there's fault injection.

Yes exactly.

@stevana
Copy link
Collaborator

stevana commented Jul 2, 2019

I personally agree a bit more with the second option...

Yeah, I think you're right -- that's probably the better option.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants