Roy Golan has posted comments on this change.

Change subject: core: change iso prefix command to be vds broker command
......................................................................


Patch Set 6:

(2 comments)

....................................................
File 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IsoPrefixVDSCommand.java
Line 10: import 
org.ovirt.engine.core.vdsbroker.irsbroker.StoragePoolInfoReturnForXmlRpc;
Line 11: 
Line 12: public class IsoPrefixVDSCommand<T extends 
VdsAndPoolIDVDSParametersBase> extends VdsBrokerCommand<T> {
Line 13: 
Line 14:     private static Map<Guid, String> storagePoolId2IsoPrefix = new 
ConcurrentHashMap<Guid, String>();
minor
please don't use 2 in the name

you declare a Map and then new ConcurrentHashMap while in the member below 
you declare it ConcurrentHashMap and new ConcurrentHashMap
so be it either Map to new Map or ConcurrentHashMap to new ConcurrentHashMap
I don't care just make them same
Line 15:     private static ConcurrentHashMap<Guid, Object> 
storagePoolId2LockObj = new ConcurrentHashMap<Guid, Object>();
Line 16: 
Line 17:     public IsoPrefixVDSCommand(T parameters) {
Line 18:         super(parameters);


Line 24:     }
Line 25: 
Line 26:     private String getIsoPrefix() {
Line 27:         Guid storagePoolId = getParameters().getStoragePoolId();
Line 28:         synchronized(getLockObjForStoragePool(storagePoolId)) {
lets avoid the context switch and locking.
either we
1. totally remove the synchronized - and go to VDSM if don't have the answer, 
taking into account that a mass run vm could result some redundant getIsoPrefix 
queries

2. go into the synchronised only as long as the cache is missed.

3. take 1 and add eager initialization when the pool has active iso in another 
patch 

I vote for 3
Line 29:             if (!storagePoolId2IsoPrefix.containsKey(storagePoolId)) {
Line 30:                 try {
Line 31:                     StoragePoolInfoReturnForXmlRpc returnValue =
Line 32:                             
getBroker().getStoragePoolInfo(storagePoolId.toString());


-- 
To view, visit http://gerrit.ovirt.org/17815
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I272ce7b0407bf83bd47646941630362ecf0b18cc
Gerrit-PatchSet: 6
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <aha...@redhat.com>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Arik Hadas <aha...@redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skriva...@redhat.com>
Gerrit-Reviewer: Omer Frenkel <ofren...@redhat.com>
Gerrit-Reviewer: Roy Golan <rgo...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to