<HTML><BODY><div><br><br> <blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Пятница, 17 апреля 2020, 9:25 +03:00 от Mergen Imeev <imeevma@tarantool.org>:<br> <div id=""><div class="js-helper js-readmsg-msg"><style type="text/css"></style><div><div id="style_15871047551710073255_BODY">On Thu, Apr 16, 2020 at 10:04:16PM +0000, Nikita Pettik wrote:<div class="mail-quote-collapse">> On 17 Apr 00:15, Mergen Imeev wrote:<br>> > On Thu, Apr 16, 2020 at 09:02:05PM +0000, Nikita Pettik wrote:<br>> > > On 16 Apr 23:24, Mergen Imeev wrote:<br>> > > > Hi! Thank you for review. My answer below.<br>> > > ><br>> > > > On Thu, Apr 16, 2020 at 07:18:51PM +0000, Nikita Pettik wrote:<br>> > > > > On 16 Apr 22:09, Alexander Tikhonov wrote:<br>> > > > > ><br>> > > > > > Hi Mergen, thanks for the patch, I’ve checked it on 2.2 and it runs fine, patch LGTM.<br>> > > > > ><br>> > > > ><br>> > > > > Did you verify that modified test still reproduces initial problem?<br>> > > > > I hope so, but ask just in case.<br>> > > > According to history, the main goal of this part of the<br>> > > > test is to show that sql_create_function() throws proper<br>> > > > error in case a new function is created when transaction<br>> > > > is active. Since the error still here, we may say that<br>> > > > the test works.<br>> > ><br>> > > So the answer to my question is - no, you didn't test it.<br>> > > Better safe than sorry - I'd better verify that updated<br>> > > test still covers the initial problem. Thanks.<br>> > ><br>> > Doesn't my answer says that we checked it?<br>><br>> No, it doesn't. 'reproduce' means that you are supposed to checkout<br>> to branch, revert particular fix, run updated test without that fix<br>> and verify that test fails without fix. Any other actions do not refer<br>> to my original question.<br>><br>> >However, I agree that it is never wrong to check it again.<br>><br>> Please, check it for current fix and for any other test<br>> upgrade in future.<br>></div>To check this I changed the value in fiber.sleep() function<br>on line 12 to 0.3 in the test before the patch. After that<br>the test fails with this result:<br><br>[001] Test failed! Result content mismatch:<br>[001] --- sql/func-recreate.result Fri Apr 17 09:13:48 2020<br>[001] +++ sql/func-recreate.reject Fri Apr 17 09:17:52 2020<br>[001] @@ -21,13 +21,11 @@<br>[001] _ = fiber.create(function () ch:put(box.execute('select WAITFOR(0.2)')) end)<br>[001] ---<br>[001] ...<br>[001] -fiber.sleep(0.1)<br>[001] +fiber.sleep(0.3)<br>[001] ---<br>[001] ...<br>[001] box.internal.sql_create_function('WAITFOR', 'INT', function (n) require('fiber').sleep(n) return n end)<br>[001] ---<br>[001] -- error: 'Failed to create function ''WAITFOR'': unable to create function due to<br>[001] - active statements'<br>[001] ...<br>[001] ch:get()<br>[001] ---<br><br>As you can see, the error dissappeared.<br><br>This time we got this fail after we changed the test, but<br>it is possible to get it even without changing. This<br>happens when the computher which runs this test is too<br>heavy loaded. But this won't happen after the patch.<br><br>Is this good enough?<br> </div></div></div></div></blockquote>I can only agree here, I’ve tried it too before the patch was created, while the issue was researched.<div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>Alexander Tikhonov</div></div></div><div> </div></div></BODY></HTML>