Thread: [HACKERS] GSoC 2017 weekly progress reports (week 2)

Project: Explicitly support predicate locks in index AMs besides b-tree
During this week, I mostly worked on testing to verify my code and on debugging to solve some issues I was having. I have specifically created two tests. The first test is about verifying serialization failure when there is a read-write conflict. The second one is about checking false positives. We need to make sure that it doesn't generate false positive serialization failures. So far, I have got expected results. Any feedback on results will be appreciated.
link to the code : https://github.com/shubhambaraiss/postgres/commit/0a76b02b80f8e4edb63370540005515a7cd9d549
For more details about testing, please have a look at attached files.
Regards,
Shubham
Attachment
2017-06-13 18:00 GMT+05:00 Shubham Barai <shubhambaraiss@gmail.com>: > > Project: Explicitly support predicate locks in index AMs besides b-tree > Hi, Shubham Good job! So, in current HEAD test predicate_gist_2.spec generate false positives, but with your patch, it does not? I'd suggest keeping spec tests with your code in the same branch, it's easier. Also it worth to clean up specs style and add some words to documentation. Kevin, all, how do you think, is it necessary to expand these tests not only on Index Only Scan, but also on Bitmap Index Scan? And may be KNN version of scan too? I couldn't find such tests for B-tree, do we have them? Best regards, Andrey Borodin, Octonica.
On Tue, Jun 13, 2017 at 1:02 PM, Andrew Borodin <borodin@octonica.com> wrote: > 2017-06-13 18:00 GMT+05:00 Shubham Barai <shubhambaraiss@gmail.com>: > Good job! +1! :-) > So, in current HEAD test predicate_gist_2.spec generate false > positives, but with your patch, it does not? Keep in mind, that false positives do not break *correctness* of serializable transactions as long as it involves another transaction. (It *would* be a bug if a transaction running alone could cause a serialization failure.) A false *negative* is always a bug. That said, false positives hurt performance, so we should keep the rate as low as practicable. > I'd suggest keeping spec tests with your code in the same branch, it's > easier. +1 > Also it worth to clean up specs style and add some words to > documentation. +1 > Kevin, all, how do you think, is it necessary to expand these tests > not only on Index Only Scan, but also on Bitmap Index Scan? And may be > KNN version of scan too? > I couldn't find such tests for B-tree, do we have them? Off-hand, I don't know. It would be interesting to run regression tests with code coverage and look at the index AMs. https://www.postgresql.org/docs/9.6/static/regress-coverage.html -- Kevin Grittner VMware vCenter Server https://www.vmware.com/

I have made some changes in tests and pushed them to my branch.
Thanks for helping me out with testing.
Now, current head produces false positives but, with my patch, it doesn't.
Here is the link for updated tests: https://github.com/shubhambaraiss/postgres/commit/2c02685a50a2b30654beb5c52542a57a46219c39
Regards,
Shubham
On 13 June 2017 at 23:32, Andrew Borodin <borodin@octonica.com> wrote:
2017-06-13 18:00 GMT+05:00 Shubham Barai <shubhambaraiss@gmail.com>:
>
> Project: Explicitly support predicate locks in index AMs besides b-tree
>
Hi, Shubham
Good job!
So, in current HEAD test predicate_gist_2.spec generate false
positives, but with your patch, it does not?
I'd suggest keeping spec tests with your code in the same branch, it's
easier. Also it worth to clean up specs style and add some words to
documentation.
Kevin, all, how do you think, is it necessary to expand these tests
not only on Index Only Scan, but also on Bitmap Index Scan? And may be
KNN version of scan too?
I couldn't find such tests for B-tree, do we have them?
Best regards, Andrey Borodin, Octonica.
Shubham Barai wrote: > Hi, > > I have made some changes in tests and pushed them to my branch. > > Thanks for helping me out with testing. > > Now, current head produces false positives but, with my patch, it doesn't. > > Here is the link for updated tests: > https://github.com/shubhambaraiss/postgres/commit/2c02685a50a2b30654beb5c52542a57a46219c39 Nice. Please provide patches, so that it can be considered for commit. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

On 15 June 2017 at 07:23, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
Shubham Barai wrote:
> Hi,
>
> I have made some changes in tests and pushed them to my branch.
>
> Thanks for helping me out with testing.
>
> Now, current head produces false positives but, with my patch, it doesn't.
>
> Here is the link for updated tests:
> https://github.com/shubhambaraiss/postgres/ commit/ 2c02685a50a2b30654beb5c52542a5 7a46219c39
Nice. Please provide patches, so that it can be considered for commit.
Yes, I will provide a patch shortly. I just need to update documentation first.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services