Database Log Capture that Publishes Transactions to Multiple Targets to Handle Unavailable Targets by Separating the Publishing of Subscriptions and Subsequently Recombining the Publishing
First Claim
1. A computer program product for log capture comprising:
- a computer readable medium;
first program instructions to publish, by a first log reader, first messages to a plurality of queues, the first messages comprising changes for transactions extracted from a log by the first log reader;
second program instructions to, in response to one of the queues becoming unavailable, launch a second log reader to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue; and
third program instructions to, in response to the catch-up queue becoming available and the second log reader reaches the end of the log, transfer the publishing of the second messages for the catch-up queue from the second log reader to the first log reader,wherein the third program instructions re-synchronize the second log reader and the first log reader,the third program instructions to;
send synchronization messages between the first log reader and the second log reader;
a first synchronization message of the synchronization messages being sent from the second log reader to the first log reader with second log reader restart information; and
in response to the second log reader being behind the first log reader in reading the log based on the second log reader restart information, a second synchronization message of the synchronization messages being sent from the first log reader to the second log reader, the second synchronization message comprising first log reader restart information having a first-last-queue-commit point timestamp, and suspend the publishing by the first log reader until the second log reader reaches the first-last-queue-commit point timestamp or the end of the log;
wherein the first, second and third program instructions are stored on the computer readable medium.
3 Assignments
0 Petitions
Accused Products
Abstract
A first log reader publishes first messages to a plurality of queues. The messages comprise changes for transactions extracted from a log by the first log reader. In response to one of the queues becoming unavailable, a second log reader is launched to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue. In response to the catch-up queue becoming available and the second log reader reaching the end of the log, the publishing of the second messages for the catch-up queue is transferred from the second log reader to the first log reader.
46 Citations
20 Claims
-
1. A computer program product for log capture comprising:
-
a computer readable medium; first program instructions to publish, by a first log reader, first messages to a plurality of queues, the first messages comprising changes for transactions extracted from a log by the first log reader; second program instructions to, in response to one of the queues becoming unavailable, launch a second log reader to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue; and third program instructions to, in response to the catch-up queue becoming available and the second log reader reaches the end of the log, transfer the publishing of the second messages for the catch-up queue from the second log reader to the first log reader, wherein the third program instructions re-synchronize the second log reader and the first log reader, the third program instructions to; send synchronization messages between the first log reader and the second log reader;
a first synchronization message of the synchronization messages being sent from the second log reader to the first log reader with second log reader restart information; andin response to the second log reader being behind the first log reader in reading the log based on the second log reader restart information, a second synchronization message of the synchronization messages being sent from the first log reader to the second log reader, the second synchronization message comprising first log reader restart information having a first-last-queue-commit point timestamp, and suspend the publishing by the first log reader until the second log reader reaches the first-last-queue-commit point timestamp or the end of the log; wherein the first, second and third program instructions are stored on the computer readable medium. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for log capture comprising:
-
a computer readable medium; first program instructions to publish, by a first log reader, first messages to a plurality of queues, the first messages comprising changes for transactions extracted from a log by the first log reader; second program instructions to, in response to one of the queues becoming unavailable, launch a second log reader to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue; and third program instructions to, in response to the catch-up queue becoming available and the second log reader reaches the end of the log, transfer the publishing of the second messages for the catch-up queue from the second log reader to the first log reader, wherein the third program instructions to transfer re-synchronizes the second log reader and the first log reader, the third program instructions to; send synchronization messages between the first log reader and the second log reader; a first synchronization message of the synchronization messages being sent from the second log reader to the first log reader with second log reader restart information; in response to the second log reader being ahead of the first log reader in reading the log based on the second log reader restart information, a stop message of the synchronization messages being sent to the second log reader; and in response to the second log reader being behind the first log reader in reading the log based on the second log reader restart information, a second synchronization message of the synchronization messages being sent from the first log reader to the second log reader, the second synchronization message comprising first log reader restart information having a first-last-queue-commit point timestamp, and suspend the publishing by the first log reader until the second log reader reaches the first-last-queue-commit point timestamp or the end of the log; wherein the first, second and third program instructions are stored on the computer readable medium. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer system comprising:
-
a processor; and a memory comprising instructions, executable by the processor, for; publishing, by a first log reader, first messages to a plurality of queues, the first messages comprising changes for transactions extracted from a log by the first log reader; in response to one of the queues becoming unavailable, launching a second log reader to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue; and in response to the catch-up queue becoming available and the second log reader reaches the end of the log, transferring the publishing of the second messages for the catch-up queue from the second log reader to the first log reader, wherein said transferring comprises re-synchronizing the second log reader and the first log reader, wherein said re-synchronizing comprises; sending synchronization messages between the first log reader and the second log reader;
a first synchronization message of the synchronization messages being sent from the second log reader to the first log reader with second log reader restart information; andin response to the second log reader being behind the first log reader in reading the log based on the second log reader restart information, a second synchronization message of the synchronization messages being sent from the first log reader to the second log reader, the second synchronization message comprising first log reader restart information having a first-last-queue-commit point timestamp, and suspending the publishing by the first log reader until the second log reader reaches the first-last-queue-commit point timestamp or the end of the log. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer system comprising:
-
a processor; and a memory storing instructions, executable by the processor, for; publishing, by a first log reader, first messages to a plurality of queues, the first messages comprising changes for transactions extracted from a log by the first log reader; in response to one of the queues becoming unavailable, launching a second log reader to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue; and in response to the catch-up queue becoming available and the second log reader reaches the end of the log, transferring the publishing of the second messages for the catch-up queue from the second log reader to the first log reader, wherein said transferring comprises re-synchronizing the second log reader and the first log reader, wherein said re-synchronizing comprises; sending synchronization messages between the first log reader and the second log reader; a first synchronization message of the synchronization messages being sent from the second log reader to the first log reader with second log reader restart information; and in response to the second log reader being ahead of the first log reader in reading the log based on the second log reader restart information, a stop message of the synchronization messages being sent to the second log reader; in response to the second log reader being behind the first log reader in reading the log based on the second log reader restart information, a second synchronization message of the synchronization messages being sent from the first log reader to the second log reader, the second synchronization message comprising first log reader restart information having a first-last-queue-commit point timestamp, and suspending the publishing by the first log reader until the second log reader reaches the first-last-queue-commit point timestamp or the end of the log. - View Dependent Claims (17, 18, 19, 20)
-
Specification