Log forwarding to avoid deadlocks during parallel log replay in asynchronous table replication

US9965359B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965359-B2
Application numberUS-201514657854-A
CountryUS
Kind codeB2
Filing dateMar 13, 2015
Priority dateNov 25, 2014
Publication dateMay 8, 2018
Grant dateMay 8, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein are system, method, and computer program product embodiments for removing a deadlock during replication from distributed source tables to a replica node. An embodiment operates by detecting a deadlock at a parallel log replayer at a replica node. A first replication log entry from a queue at the parallel log replayer is then selected based on whether removing the first replication log entry from the queue removes the deadlock. The first replication log entry is then forwarded to a waiting queue. A second replication log entry is then replayed at the parallel log replayer. After replaying the second replication log entry, the first replication log entry is replayed at the parallel log replayer.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for removing a deadlock during replication from distributed source tables to a replica node, comprising: detecting, by at least one processor, a deadlock at a parallel log replayer at a replica node; selecting, by the at least one processor, a first replication log entry from a queue of a plurality of queues of the parallel log replayer based on whether removing the first replication log entry from the queue removes the deadlock, wherein the first replication log entry comprises an operation type, a table identifier, and a transaction identifier for a changed row; inserting, by the at least one processor, the first replication log entry into a waiting queue; removing, by the at least one processor, the first replication log entry from the queue of the plurality of queues of the parallel log replayer; replaying, by the at least one processor, a second replication log entry from the queue of the plurality of queues at the parallel log replayer after removing the first replication log entry from the queue of the plurality of queues of the parallel log replayer; and replaying, by the at least one processor, the first replication log entry from the waiting queue at the parallel log replayer after replaying the second replication log entry; wherein at least one of the detecting, selecting, inserting, removing, replaying the second replication log entry, and replaying the first replication log entry are performed by one or more computers. 2. The method of claim 1 , wherein the detecting is performed based on whether the parallel log replayer is blocked. 3. The method of claim 1 , the selecting the first replication log entry further comprising: selecting the first replication log entry from the head of the queue of the plurality of queues of the parallel log replayer. 4. The method of claim 1 , the detecting the deadlock further comprising: determining whether a cyclic dependency relationship exists among replication log entries at the parallel log replayer and transaction commit log entries at a transaction commit log replayer. 5. The method of claim 1 , the detecting the deadlock further comprising: determining whether a cyclic dependency relationship exists among the replication log entries at the parallel log replayer and the transaction commit log entries at a transaction commit log replayer based on transaction IDs associated with the replication log entries and the transaction commit log entries. 6. The method of claim 1 , wherein the selecting, inserting, and removing steps are repeated based on whether the deadlock is removed. 7. The method of claim 1 , wherein the first replication log entry further comprises a new row image for the changed row. 8. The method of claim 1 , wherein the first replication log entry further comprises a row-ID column value associated with the changed row. 9. The method of claim 1 , wherein the first replication log entry is based on an insert operation, update operation, or delete operation. 10. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: detect a deadlock at a parallel log replayer at a replica node; select first replication log entry from a queue of a plurality of queues of the parallel log replayer based on whether removing the first replication log entry from the queue removes the deadlock, wherein the first replication log entry comprises an operation type, a table identifier, and a transaction identifier for a changed row; insert, the first replication log entry into a waiting queue; remove the first replication log entry from the queue of the plurality of queues of the parallel log replayer; replay a second replication log entry from the queue of the plurality of queues at the parallel log replayer after removing the first replication log entry from the queue of the plurality of queues of the parallel log replayer; and replay the first replication log entry from the waiting queue at the parallel log replayer after replaying the second replication log entry. 11. The system of claim 10 , wherein the detecting is performed based on whether the parallel log replayer is blocked. 12. The system of claim 10 , the at least one processor further configured to: select the first replication log entry from the head of the queue of the plurality of queues of the parallel log replayer. 13. The system of claim 10 , the at least one processor further configured to: determine whether a cyclic dependency relationship exists among replication log entries at the parallel log replayer and transaction commit log entries at a transaction commit log replayer. 14. The system of claim 10 , the at least one processor further configured to: determine whether a cyclic dependency relationship exists among the replication log entries at the parallel log replayer and the transaction commit log entries at a transaction commit log replayer based on transaction IDs associated with the replication log entries and the transaction commit log entries. 15. The system of claim 10 , the at least one processor further configured to: repeat the selecting, inserting, and removing based on whether the deadlock is removed. 16. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: detecting a deadlock at a parallel log replayer at a replica node; selecting a first replication log entry from a queue of a plurality of queues of the parallel log replayer based on whether removing the first replication log entry from the queue removes the deadlock, wherein the first replication log entry comprises an operation type, a table identifier, and a transaction identifier for a changed row; inserting the first replication log entry into a waiting queue; removing the first replication log entry from the queue of the plurality of queues of the parallel log replayer; replaying a second replication log entry from the queue of the plurality of queues at the parallel log replayer after removing the first replication log entry from the queue of the plurality of queues of the parallel log replayer; and replaying the first replication log entry from the waiting queue at the parallel log replayer after replaying the second replication log entry. 17. The non-transitory computer-readable device of claim 16 , wherein the detecting is performed based on whether the parallel log replayer is blocked. 18. The non-transitory computer-readable device of claim 16 , the selecting comprising: selecting the first replication log entry from the head of the queue of the plurality of queues of the parallel log replayer. 19. The non-transitory computer-readable device of claim 16 , the detecting comprising: determining whether a cyclic dependency relationship exists among replication log entries at the parallel log replayer and transaction commit log entries at a transaction commit log replayer. 20. The non-transitory computer-readable device of claim 16 , the detecting comprising: determining whether a cyclic dependency relationship exists among the replication log entries at the parallel log replayer and the transaction commit log entries at a transaction commit log replayer based on transaction IDs associated with the replication log entries and the transaction commit log entries. 21. The non-transitory computer-readable device of claim 16

Assignees

Inventors

Classifications

  • the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008) · CPC title

  • involving logging of persistent data for recovery · CPC title

  • Timestamp · CPC title

  • Database-specific techniques · CPC title

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9965359B2 cover?
Disclosed herein are system, method, and computer program product embodiments for removing a deadlock during replication from distributed source tables to a replica node. An embodiment operates by detecting a deadlock at a parallel log replayer at a replica node. A first replication log entry from a queue at the parallel log replayer is then selected based on whether removing the first replicat…
Who is the assignee on this patent?
Lee Juchang, Park Chang Gyoo, Na Hyoung Jun, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/1469. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).