Verizon / remotely

An elegant RPC system for reasonable people
http://verizon.github.io/remotely/
Apache License 2.0
306 stars 39 forks source link

Bugfix/hanging endpoints #102

Closed sbuzzard closed 8 years ago

sbuzzard commented 8 years ago

For failover and uber (aggregate) endpoints, if the endpoint isn't finite or reasonably small. Of course, one could argue that the processes probably shouldn't be anything but a reasonably small collection of endpoints but there's no easy way I know of to enforce this so in case they aren't, I think what I have here should work (I was able to remove the ignore in the UberSpec that had been hanging because of this, since it's using an infinite process - i.e., def endpoints: Process[Nothing, Endpoint] = Process.emitAll(List(ep1, ep2)) ++ endpoints - or equiv: Process.emitAll(List(ep1, ep2)).repeat). Pretty low priority, for sure and I'd be just as okay with stating the constraints for the processes passed to failoverChain or uber.

sbuzzard commented 8 years ago

I'm going to close this for the time being (I noticed in some of my benchmarking tests with the lib we have that's using remotely that the tests fail with this change, so not sure all is right here - as mentioned above, we currently have no need for this capability as long as we know the constraint is there). Actually, the test failures were unrelated but not confident this is right in any case - I think the chunks passed to permutations is always the same first , for instance.