Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fG0KV-0002NL-12 for pgsql-hackers@arkaria.postgresql.org; Tue, 08 May 2018 10:58:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fG0KT-0003KZ-PX for pgsql-hackers@arkaria.postgresql.org; Tue, 08 May 2018 10:58:45 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fG0KT-0003Jm-9v for pgsql-hackers@lists.postgresql.org; Tue, 08 May 2018 10:58:45 +0000 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fG0KL-0000wF-4h for pgsql-hackers@postgresql.org; Tue, 08 May 2018 10:58:43 +0000 Received: by mail-qt0-x242.google.com with SMTP id h2-v6so40365870qtp.7 for ; Tue, 08 May 2018 03:58:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=wpZl7DbqUZq9SMCjn7lHZPxeVWeqGp99HJd/vGJXPSQ=; b=p5EfJeoo6vR7rZnm+JQYoI+SA+ca1Nx5UH/sLeEkKgM/XhZ4DijEe4O2tVeSggjB4o eDQZefzyjyd1Jt1vG1gyBv5mNB7zLkSzPYn8F3+5lYw/Saun5LtrNFbWR7RSA+HXbXqf KydwV7trSgtjC+O4ZP5tW9QSU3/xkOarMojQOCrMPWXcogNxGb9VYVYfRxMnxqZl7gQN Gmuzbmh2In9otRmuSk1DA5YEC+e5H6BGnrTUmuTmIe+koJ7/ak2Ce9OiQW2qVkwHyji+ iX43TfBAvnTMlHTrLMuHEW9mGw8uf3SkfvM5fvDAh/q76XP6mQRN2ZQULBQ1hkB3/Yie 0bPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=wpZl7DbqUZq9SMCjn7lHZPxeVWeqGp99HJd/vGJXPSQ=; b=Nnio0pX/n4Y9nCMhjs+MYxvYdfZd9UcU8d9+DHblAT8GmvK0Eh7s8JZX2HkXJ9iTLT WylbqWEavp5Z1Wg8EWbOTw9S1gNVTYR/ZRG35/ylQthhNe1aTSXSe97o5pEV3f0/vZK9 pxbnGUyank8huVhwaRLPF4zRt9wfDdI5tywFKZeFIEjJ4PgrwBMgtx1kwo5+u10fnE3r d/oAaOAp2bUt8smpyMLuQPU+LjSUkr1wgMAczvWr7cy2qsXYB26Rx7rD+zfcsYiFtd3+ skUHkYLwmc6+8iJ/xUx9ZnypoOyzuOIx5nXMF9A3zzTlKq0Zxcdp0Lp6kRxWuCIUZzr0 /VHg== X-Gm-Message-State: ALQs6tA8SfuUgQItQZp+404VJmogQnve/fBpJPFd44qxQ9qW03W2zEYp xsbapdYofmEIIHywdzOEL4tYdR8c X-Google-Smtp-Source: AB8JxZqNsMTsSDXoS+/QEgv9QXxEcgJEfwQ00bAT6HRMUmXlA4/GPQw6IdW3/MsVUUW/hqZ/IUpQnQ== X-Received: by 2002:aed:2ac7:: with SMTP id t65-v6mr36346783qtd.194.1525777114901; Tue, 08 May 2018 03:58:34 -0700 (PDT) Received: from alvin.alvh.no-ip.org ([179.56.54.12]) by smtp.gmail.com with ESMTPSA id z22-v6sm13600455qto.53.2018.05.08.03.58.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 08 May 2018 03:58:34 -0700 (PDT) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id C88A17A0; Tue, 8 May 2018 07:58:32 -0300 (-03) Date: Tue, 8 May 2018 07:58:32 -0300 From: Alvaro Herrera To: Fabien COELHO Cc: Marina Polyakova , Ildus Kurbangaliev , pgsql-hackers@postgresql.org, Teodor Sigaev Subject: Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors Message-ID: <20180508105832.6o3uf3npfpjgk5m7@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20170306-137-4415bd-dirty (1.8.0) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Fabien COELHO wrote: > I think that I'll have time for a round of review in the first half of July. > Providing a rebased patch before then would be nice. Note that even in the absence of a rebased patch, you can apply to an older checkout if you have some limited window of time for a review. Looking over the diff, I find that this patch tries to do too much and needs to be split up. At a minimum there is a preliminary patch that introduces the error reporting stuff (errstart etc); there are other thread-related changes (for example to the random generation functions) that probably belong in a separate one too. Not sure if there are other smaller patches hidden inside the rest. On elog/errstart: we already have a convention for what ereport() calls look like; I suggest to use that instead of inventing your own. With that, is there a need for elog()? In the backend we have it because $HISTORY but there's no need for that here -- I propose to lose elog() and use only ereport everywhere. Also, I don't see that you need errmsg_internal() at all; let's lose it too. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services