Its out of the snapshotManager. Synchronization is being controlled by the code SyncQueueManagerImpl. Number of entries the object-we-sync-on (HOST) can handle, is being passed to the syncQueueManagerImpl when we createSnapshot async job is submitted.
I did just one change in the SnapshotManager - extracted the method from existing code. The method returns the destination host where the createSnapshot command will be sent to. -Alena. On 10/11/12 4:41 PM, "Edison Su" <[email protected]> wrote: >I only have one comment: > Can we put this snapshot improvement code out of snapshotmanager? > >> -----Original Message----- >> From: Alena Prokharchyk [mailto:[email protected]] >> Sent: Tuesday, October 09, 2012 11:51 AM >> To: [email protected] >> Subject: FS on cloudStack createSnapshot synchronization improvement >> >> Hi All, >> >> I'm planning to introduce some changes to create snapshot behavior for >> the >> future cloudStack release (the changes will go to asf/master branch). >> The >> fix is fixing the problem described below: >> >> "With the current code for snapshots, cloudStack always creates >> snapshot >> on the host where vm is Running (for vms in Running state) or on the >> host >> where vm used to run the last time (for vms in Stopped state). As the >> createSnapshot commands are not synchronized on the agent side, the >> case >> when multiple commands are send to the backend at the same time can >> lead >> to the performance issues on the hypervisor side. At the end there is >> a >> high possibility that createSnapshot command might time out on the Xen >> side. >> The solution is to synchronize number of concurrent snapshots per host >> basis. The threshold should be configurable as the customer usually >> knows >> how many snapshots at a time the backend can handle. >> While the concurrent snapshots are being processed by the backend, all >> subsequent snapshot commands scheduled for execution on the same host, >> should wait in the queue" >> >> >> Here is the feature FS available for the review: >> >> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Snapshot+improve >> ment >> s+FS >> >> If you have any comments/suggestions/questions on the implementation, >> please let me know. >> >> >> -Alena. > >
