Subject: Re: [Bitcoin-development] bitcoind stops responding

From: Jeff Garzik <[email-masked]>
Date: Tue, 1 Oct 2013 03:26:59 +0200

On Mon, Sep 30, 2013 at 11:01 PM, Warren Togami Jr. <[email-masked]> wrote:
> 0.8.2 apparently was the first Bitcoin version to support RPC keepalive.

No, this is not correct at all.  RPC keepalive was present in 0.7.0,
possibly earlier.

Come on, it took a 30 second 'git checkout' session to verify this.

> With the 4 RPC thread limit, four keepalive connections will exhaust all four and prevent further connections.

I was about to flame you with a "WTF is this fiction?" but it seems
true: 21eb5ada introduces this.

Unfortunately, it does so erroneously, introducing clearly buggy
behavior that did not exist with the thread-per-connection code that
provided keep-alive before commit 21eb5ada.

In my opinion, 21eb5ada half-changed the RPC code from
thread-per-connection to a worker-group model, without considering all
the consequences.

-- 
Jeff Garzik
Senior Software Engineer and open source evangelist
BitPay, Inc.      https://bitpay.com/