Patent ID: 8392387
Filing Date: 2013-03-05
Classification: G06F

Abstract:
1. A method, in a data processing system, for replicating transactions at a source database node on a target database node of the data processing system, comprising: receiving, in a receive queue data structure, associated with a browser thread, a transaction message from the source database node; applying, by an agent thread, a change to data of the target database node based on a specification of the change in the transaction message in the receive queue data structure; storing an identifier of the transaction message in a done message data structure associated with the target database node; storing, by the browser thread, an identifier of the transaction message in a prune queue data structure associated with the target database node, in response to the transaction message being placed in the done message data structure; deleting, by a prune thread executing on the target database node, a batch of one or more completed transaction messages from the receive queue regardless of an order or sequence of the completed transaction messages in the receive queue; determining, by the prune thread, whether a contiguous range of identifiers of transaction messages equal to or greater than a predetermined batch size is present in the prune queue data structure at least by comparing a counter value to the predetermined batch size, wherein the counter value is incremented with each transaction message deleted from the receive queue data structure by the prune thread, and wherein if the counter value is greater than or equal to the predetermined batch size, then it is determined that a contiguous range of identifiers of transaction messages equal to or greater than the predetermined batch size is present in the prune queue data structure; and deleting a range of transaction messages from the done message data structure in response to a contiguous range of identifiers of transaction messages equal to or greater than the predetermined batch size being present in the prune queue data structure.