Wednesday, July 16, 2008

Breaking The Pipe

I needed to generate broken pipe exceptions on one of my server. But how to do so without resorting to fiddling with a browser?

I have written the following, which does the trick and consistently generate at least one broken pipe exception when it hits the passed URL.

private static void pipeBreaker(final URL url) {
for (int i = 0; i < 50; i++) {
try {
final HttpURLConnection connection =
(HttpURLConnection) url.openConnection();


} catch (final Exception e) {
// ignore

All this code does is give the server the impression it is going to drain the response, but times out very quickly and does this in a repeated manner.

That is how I break my pipes. Now, how do you break yours? Do you have a better way?


snowbird said...

How about using "netcat -l -p portnumber" on the server?
Then kill the process by any means.

David Dossot said...

Looks nice and easy but it did not break my pipe ;-)