I tested this using benchmark data in order to simulate more nodes for the sync summary query. The SLV data has a more realistic dataset but is only for 600 nodes, iirc. The data for the summary query should be similar enough between the two sources because it only pulls certname, timestamp, and entity hash. Using benchmark I had two PDBs loaded with 5000 simulated nodes running locally and syncing with one another. One PDB was running the lazy version of the sync code which holds open summary query transactions while it's submitting the the data it needs to transfer into its queue. The other PDB was running the new non-lazy version which realizes the entire summary query in memory and avoids holding open a transaction while records are transferred. I looked at the memory usage using VisualVM over multiple sync runs and was unable to notice any real difference in the overall heap usage between the two approaches. |