From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id D491B1FEB3 for ; Thu, 12 Jan 2017 22:45:38 +0000 (UTC) From: Eric Wong To: rainbows-public@bogomips.org Subject: [PATCH] doc: additional disclaimers Date: Thu, 12 Jan 2017 22:45:38 +0000 Message-Id: <20170112224538.18771-1-e@80x24.org> List-Id: Honestly, these disclaimers should've been there all along; and should apply to all servers handling multiple clients within a single process. --- README | 9 +++++++++ lib/rainbows/configurator.rb | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/README b/README index ac10375..027f58a 100644 --- a/README +++ b/README @@ -159,6 +159,15 @@ don't email the git mailing list or maintainer with \Rainbows! patches. There is NO WARRANTY whatsoever if anything goes wrong, but let us know and we'll try our best to fix it. +Rainbows! is extremely sensitive to fatal bugs in the apps it hosts. +Each Rainbows! worker process may be handling thousands of clients; +unexpectedly killing the process will abort _all_ of those +connections. Lives may be lost! + +Rainbows! hackers are not responsible for your application/library bugs. +Use an application server which is tolerant of buggy applications +if you cannot be bothered to fix all your fatal bugs. + == Contact All feedback (bug reports, user/development discussion, patches, pull diff --git a/lib/rainbows/configurator.rb b/lib/rainbows/configurator.rb index 10cb60d..d82002e 100644 --- a/lib/rainbows/configurator.rb +++ b/lib/rainbows/configurator.rb @@ -6,6 +6,11 @@ # block, otherwise Unicorn::Configurator directives may be used anywhere # in the file. # +# Warning: The "timeout" directive in unicorn is far more dangerous +# in Rainbows!, since ALL requests running on a process will be lost +# on worker death, not just one. Instead, handle application-level +# timeouts yourself: https://bogomips.org/unicorn/Application_Timeouts.html +# # Rainbows! do # use :ThreadSpawn # concurrency model to use # worker_connections 400 -- EW