Red Hat Bugzilla – Bug 767205
Agent performs excessive IO when sending drift content to server
Last modified: 2013-08-31 06:15:33 EDT
Description of problem:
When the server requests content for files previously reported, the agent receives a list of SHAs. The agent then performs a reverse look up, finding the corresponding file system path for each SHA. This involves reading the current snapshot file. The problem is that the snapshot file is read over and over again for each SHA. When the server sends a lot of SHAs, like with the initial snapshot, this results in excessive and unnecessary IO. The agent only needs to read the snapshot file once. Doing so will increase the memory usage for the duration of that method call; however, the overall execution time for the method will substantially be reduced as the number of SHAs passed to it increases in size. The increased memory footprint is likely on the order of bytes or 10s of kilobytes whereas the decrease in execution time could be on the order of milliseconds or seconds.
For testing, this should result in no change in functionality other than increased logging.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
DriftFilesSender has been refactored so that it only reads the snapshot file on disk once when looking up files by SHA.
master commit hash: 9f18aee38ed44f992ce26e7f8141a057af716533
verified thru ad hoc testing on drift feature
Setting Target release correctly to RHQ4.3, since it was tested in master
Bulk close of old bugs in VERIFIED state.