| Age | Commit message (Collapse) | Author |
|
Commit 9daec77e165de461fca9d5bc3ece86a91aba5804 simplified usage of
simple_prompt, so that it's not necessary to free the string etc.
This applies the call chage to pgxc_ctl.
|
|
Make the 'git status' a bit less verbose by ignoring the binaries,
and also th generated .c/.h files in pgxc_ctl.
|
|
Now we have far more information embedded in the GID string. So there is no
point looking for [0-9]+ pattern beyond the prefix. Just assume external tools
would never use that pattern (PREPARE TRANSACTION should anyway throw an error
if they try to use the pattern)
|
|
increased GIDSIZE
Per report by Tobias Oberstein
|
|
transactions
When a two-phase commit protocol is interrupted mid-way, for example because of
a server crash, it can leave behind unresolved prepared transactions which must
be resolved when the node comes back. Postgres-XL provides a pgxc_clean utility
to lookup list of prepared transactions and resolve them based on status of
such a transaction on every node. But there were many issues with the utility
because of which it would either fail to resolve all transactions, or worse
resolve it in a wrong manner. This commit fixes all such issues discovered
during some simple crash recovery testing.
One of the problem with the current approach was that the utility would not
know which all nodes were involved in a transaction. So if it sees a
transaction as prepared on a subset of nodes, but does not exist on other
subset, it would not know if originally it was executed on nodes other than
where its prepared, but other nodes failed before they could prepare the
transaction. If it was indeed executed on other nodes, such transaction must be
aborted. Whereas if it was only executed on the set of nodes where its
currently prepared, then it can safely be committed.
We now store the information about nodes partcipating in a 2PC directly in the
GID. This of course has a downside of increasing the GIDSIZE which implies for
shared memory requirement. But with today's server sizes, it should not be a
very big concern. Sure, we could also look at possibility of storing this
information externally, such as on the GTM. But the fix seems good enough for
now.
|
|
1. --status does not work
2. Failed to set xc_maintenance_mode. () message is printed.
First of all, now --status is a submode of --verbose. It was modified
to handle --status as --verbose. This is a quick fix and should improve
in the next major release.
Second was caused by SET XC_MAINTENANCE_MODE = ON to template0. It is
not correct and now template0 was skipped.
|
|
This is a consequence of commit 011b1d7.
|
|
|
|
Launching pgxc_clean made it crash when free'ing some fields
with commands where arguments were not all specified.
Patch by Mason Sharp, some reformat by me.
|
|
Both features are not directly related to the core features,
so it is better to move them there.
The installation of pgxc_clean can be done with the same way as
a normal contrib module. pgxc_ddl is not installed by default,
but is kept for future developments.
Documentation is moved the same way.
|