ACL based open transactions in replication environment
Abstract
A method for handling of open transactions in a data replication environment. The method includes querying one or more tables of a source database to determine a first open transaction associated with the one or more tables of the source database. The method further includes determining a database user that initiated the first open transaction. The method further includes querying one or more tables of the target database corresponding to the one or more tables of the source database associated with the first open transaction, to determine whether the database user has access privileges for the one or more tables of the target database and dynamically skipping replication of the first open transaction to the target database, such that the data replication system no longer waits for the first open transaction to complete.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer-implemented method comprising:
receiving, by one or more processors, in a data replication system where data is being replicated from a source database to a target database, a transaction log identifying a plurality of open transactions for which the data replication system is waiting to complete before replicating to the target database;
determining, by one or more computer processors, a database user that initiated a first open transaction, wherein the first open transaction is an earliest open transaction in the transaction log;
querying, by one or more computer processors, one or more tables of the target database corresponding to the one or more tables of the source database associated with the first open transaction, to determine whether the database user has access privileges for the one or more tables of the target database;
upon determining that the database user does not have access privileges for the one or more tables of the target database, dynamically skipping, by one or more computer processors, replication of the first open transaction to the target database, such that the data replication system no longer waits for the first open transaction to complete, wherein the dynamic skipping includes discarding, from the transaction log, all entries related to the first open transaction, and identifying, in the transaction log, a second open transaction as a next earliest open transaction; and
upon determining that the database user has access privileges to one or more tables of the target database corresponding to one or more tables of the source database associated with the second open transaction, replicating, by one or more computer processors, the second open transaction to the target database once the second open transaction completes.
2. The computer-implemented method of claim 1 , wherein the second open transaction completes either when the second open transaction commits on the source database or when the second open transaction fails.
3. The computer-implemented method of claim 2 , wherein database user access privileges are stored in meta data of the data replication system.
4. The computer-implemented method of claim 3 , further comprising:
determining, by one or more computer processors, that the second open transaction includes a command that alters user privileges; and
in response to determining that the second open transaction includes a command that alters user privileges, and in response to replicating the second open transaction to the target database, updating, by one or more computer processors, the meta data of the data replication system to reflect the user privileges altered by the second open transaction.
5. The computer-implemented method of claim 1 , wherein the first open transaction is one of the following:
an insert command,
an update command, or
a delete command.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.