Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55243 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31587 invoked from network); 6 Sep 2011 10:46:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Sep 2011 10:46:36 -0000 Authentication-Results: pb1.pair.com smtp.mail=ulf.wendel@phpdoc.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=ulf.wendel@phpdoc.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain phpdoc.de from 212.227.17.9 cause and error) X-PHP-List-Original-Sender: ulf.wendel@phpdoc.de X-Host-Fingerprint: 212.227.17.9 moutng.kundenserver.de Received: from [212.227.17.9] ([212.227.17.9:63516] helo=moutng.kundenserver.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F0/46-24049-B0AF56E4 for ; Tue, 06 Sep 2011 06:46:35 -0400 Received: from [192.168.2.26] (p5B3A7FF9.dip.t-dialin.net [91.58.127.249]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0Lv4go-1R9zqG3TQw-00zhLT; Tue, 06 Sep 2011 12:46:31 +0200 Message-ID: <4E65F9FF.70806@phpdoc.de> Date: Tue, 06 Sep 2011 12:46:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1 MIME-Version: 1.0 To: Stas Malyshev CC: "internals@lists.php.net" References: <1314966424.2150.26.camel@guybrush> <4E60F712.4010901@lerdorf.com> <4E612BBA.2000509@oracle.com> <4E612D70.70606@sugarcrm.com> <1314994484.2150.49.camel@guybrush> <4E613ECC.2010007@sugarcrm.com> <4E61401C.1060009@sugarcrm.com> <4E64875B.5090701@hristov.com> <4E649170.30004@sugarcrm.com> In-Reply-To: <4E649170.30004@sugarcrm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:HQH+Ogs15FmtF0JtD46/Y8z0ChsZa0WqrrQm8yzqqRp ZIRI58Pz96td50CTK3P5/WPr2G4baiJgn5cRxtpagLEw14dYex ZuvIxC4peGlXlMMIcIMVj4fFtubtuB4WskmpLGoCPkUFGZkuxX TiFFSUaNXX+npJXFqgDdU3yjjL30QZ754erPE2jDIjTfX4Uf5B 8fUsdbqwidXi4AefJBFyD/SD9QD+D/DnvkGbvKBLe3gMEL3u9T DcFjMg7t0S2PoHi1bc1Sn45LQZYXa60TrulyTvVwclaEfMmlVk MwKYxnjGAmOusxoaVm8WSIYQNlmmkCaQ2RPcsGeE9NOI7NWh+v PmfKuWHQx410lJtA8ke0= Subject: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4 From: ulf.wendel@phpdoc.de (Ulf Wendel) Am 05.09.2011 11:08, schrieb Stas Malyshev: > Hi! > > On 9/5/11 1:24 AM, Andrey Hristov wrote: >> the problem is that libmysql breaks, maybe more often than mysqlnd does. >> We rarely find bugs in mysqli, there are two codepaths in mysqli. If >> there is a bug in libmysql, what do you want: > > If we're dealing with libmysql bug, then I guess the expected thing > would be to report it upstream, and make the comment in the test with > bug ID. But in the cases I mentioned it does not look like libmysql bug > as everything works just according to Mysql documentation, however the > tests expect it to work differently. Stas, what are we going to do now after the discussion has calmed down a bit? Any new PHP major release is about setting new directions. I, Andrey and Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd after an "incubation" of some four years (5.3x series + dev time). You, in your role as 5.4 RM, raised some concerns about changing the default to mysqlnd. Your primary concern is rolling out something that breaks PHP. As an example, you have listed some mysqli test failures. After the weekend, I'm a lazy bastard refusing to work during weekends, test failures have been commented on: - connect_oo_* - libmysql only, no BC [1] - explain_meta - libmysql can crash PHP, mysqlnd works [2] - stmt_num_rows - differences in undefined behaviour [3] - insert_id - as a bug, it would be bogussed, undefined [4] Your four examples stand up against, for example, Pierre "Windows" Joye. The php.net windows binaries are using mysqlnd as of PHP 5.3. Windows is probaly the biggest individual distribution. Pierre, who is no MySQL fan boy, reports no BC issues. This is based on multiple years of php.net Windows users feedback and his continous integration testing using "drupal 6&7, wp, oscommerce, mediawiki, sugarcrm, etc." [5]. At least on Windows, users do expect to see mysqlnd meanwhile. Harald Reindl did the switch from libmysql to mysqlnd on "hundret domains" with "no single problem" [6]. OpenSuSE did the same. As a manager, you often have to make a decision without knowing all details, without checking everything yourself. You have named and set the #1 risk (BC) and heard people's opinion: mysqlnd is not flawless, but well worth a try. You also raised the question how or if a change will impact packagers. Tomas Kuliavas gave some great input on this [7]: SuSE: --with-mysql=shared,mysqlnd Debian, Mandriva and Fedora: --with-mysql=shared,/usr --with-mysqli=shared,/usr/bin/mysql_config' Looks like packages explicitly set config options. Thus, no break provoked if changing defaults. There's a bit of a buzz on shared builds, Johannes is working on that one - https://bugs.php.net/bug.php?id=55609 . IMHO all of the relevant concerns have been adressed. No high risks have been found. There is nothing in the way that cannot be tackled down as one moves forward. I see no reason for ignoring the vote of the maintainers. I fail to understand why PHP @ *nix should not catch up to Windows. Ulf [1] http://news.php.net/php.internals/55226 [2] http://news.php.net/php.internals/55221 [3] http://news.php.net/php.internals/55210 [4] http://news.php.net/php.internals/55228 [5] http://news.php.net/php.internals/55177 [6] http://news.php.net/php.internals/55174 [7] http://news.php.net/php.internals/55142