[COMMITTERS] pgsql: Avoid resetting Xmax when it's a multi with an aborted update

2013-12-05 Thread Alvaro Herrera
Avoid resetting Xmax when it's a multi with an aborted update HeapTupleSatisfiesUpdate can very easily "forget" tuple locks while checking the contents of a multixact and finding it contains an aborted update, by setting the HEAP_XMAX_INVALID bit. This would lead to concurrent transactions not no

[COMMITTERS] pgsql: Avoid resetting Xmax when it's a multi with an aborted update

2013-12-05 Thread Alvaro Herrera
Avoid resetting Xmax when it's a multi with an aborted update HeapTupleSatisfiesUpdate can very easily "forget" tuple locks while checking the contents of a multixact and finding it contains an aborted update, by setting the HEAP_XMAX_INVALID bit. This would lead to concurrent transactions not no

Re: [COMMITTERS] pgsql: Avoid resetting Xmax when it's a multi with an aborted update

2013-12-05 Thread Tom Lane
Alvaro Herrera writes: > Avoid resetting Xmax when it's a multi with an aborted update I may be confused, but this patch doesn't look like it does what your commit log message says. It looks to me like the logic for setting the hint bit is exactly the same as before; what's changed is only the r

Re: [COMMITTERS] pgsql: Avoid resetting Xmax when it's a multi with an aborted update

2013-12-05 Thread Alvaro Herrera
Tom Lane wrote: > Alvaro Herrera writes: > > Avoid resetting Xmax when it's a multi with an aborted update > > I may be confused, but this patch doesn't look like it does what > your commit log message says. It looks to me like the logic for > setting the hint bit is exactly the same as before;

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Clear retry flags properly in replacement OpenSSL sock_write fun

2013-12-05 Thread Tom Lane
Clear retry flags properly in replacement OpenSSL sock_write function. Current OpenSSL code includes a BIO_clear_retry_flags() step in the sock_write() function. Either we failed to copy the code correctly, or they added this since we copied it. In any case, lack of the clear step appears to be

[COMMITTERS] pgsql: Fix improper abort during update chain locking

2013-12-05 Thread Alvaro Herrera
Fix improper abort during update chain locking In 247c76a98909, I added some code to do fine-grained checking of MultiXact status of locking/updating transactions when traversing an update chain. There was a thinko in that patch which would have the traversing abort, that is return HeapTupleUpdat

[COMMITTERS] pgsql: Fix improper abort during update chain locking

2013-12-05 Thread Alvaro Herrera
Fix improper abort during update chain locking In 247c76a98909, I added some code to do fine-grained checking of MultiXact status of locking/updating transactions when traversing an update chain. There was a thinko in that patch which would have the traversing abort, that is return HeapTupleUpdat