Implementing batch processing for -blocknotify [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2013-06-01T13:12:32+00:00


Summary:

In a discussion about high-speed notifications, Wladimir suggests using zmq and shares a pull request to integrate it into bitcoind. Chris Double, who has already integrated zmq for block notifications in bitcoin and alt coins, expresses interest in trying it out. Rune decides to go with the Unix socket method and expresses a desire to learn more about Unix sockets.On June 1, 2013, Wladimir suggests that using ZMQ would be ideal for high-speed notifications. He shares a pull request to integrate ZMQ directly into Bitcoind, eliminating the need for the -blocknotify flag. Chris, who has experience integrating ZMQ, offers to test the patch in the pull request.In a discussion on the Bitcoin-development mailing list, Chris mentions that he uses zmq for queuing outside of bitcoind to receive notifications. Wladimir suggests integrating zmq directly into bitcoind through a pull request on Github. Other members of the thread agree with Chris's approach of queuing outside of bitcoind. The thread also includes an advertisement for AppDynamics Lite, a free troubleshooting tool for Java/.NET code.Rune seeks a solution to the issue of his application not being fast enough to finish its work before a new block is received and processed. Suggestions include queuing outside of bitcoind and using zeromq for notifications. Jeff Garzik argues that updating bitcoind for this reason is not necessary as most systems can process a block before another one arrives.In May 2013, Rune posts a message outlining an issue with the -blocknotify option in bitcoind. Multiple instances of his application running simultaneously are considered inefficient. A solution involving a new function called -batchblocknotify is proposed, which would handle incoming blocks in batches to prevent resource inefficiency. The author is unsure how to implement this solution.Rune seeks a solution to his application not being fast enough to finish its work before a new block comes in. Suggestions include changing the -blocknotify script to append necessary information to a queue and having a separate script perform the calculations. Rune has concerns about concurrency issues.Rune asks for a solution on how to keep up with new blocks using the -blocknotify option with bitcoind. Michael suggests changing the -blocknotify script to append information to a queue and exit, while a separate script monitors the queue for work. Rune is concerned about concurrency issues and suggests batching together previously queued items.The author of a Bitcoin application wants to keep up with new blocks using the -blocknotify option with bitcoind, but their app isn't fast enough. A proposed solution involves a new function called -batchblocknotify that handles incoming blocks in batches. The author is unsure how to implement it.


Updated on: 2023-08-01T05:03:45.193163+00:00