Bug 723462

Summary: [vdsm] [scale] lvm vgs command should use smaller and more specific filter
Product: [Retired] oVirt Reporter: Haim <hateya>
Component: vdsmAssignee: Eduardo Warszawski <ewarszaw>
Status: CLOSED CURRENTRELEASE QA Contact: Aharon Canan <acanan>
Severity: low Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: abaron, amureini, bazulay, danken, ewarszaw, hateya, iheim, jkt, mgoldboi, mkalinin, sbonazzo, smizrahi, yeylon
Target Milestone: ---   
Target Release: 3.3.1   
Hardware: x86_64   
OS: Linux   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-25 12:02:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
vdsm log none

Description Haim 2011-07-20 09:39:49 UTC
Created attachment 513959 [details]
vdsm log

Description of problem:

case:

lvm vgs vgck command runs with huge vdsm filter which contains all pvs on device. 
for instance, vgcheck for certain vg on host connected via FC to 511 devices (256 devices x 2 paths, one is missing) runs with all those pvs in its filter. 
this is true for all other lvm commands. 
I don't see a reason why not simplify filter to contains only pvs related to that vg. 
i'm sure it has its scale\performance implications. 

some numbers:

lvm vgs command: 511 devices (counted number of devices)
getDeviceList: 511 devices 
number of storage domains: 254
number of pvs: 511

attached vdsm log.

Comment 2 Dan Kenigsberg 2011-07-20 10:05:20 UTC
It may be nice to have, but without proven functional implication, it is NOT a high-severity bug, and not a probable 6.2 candidate.

Comment 4 Haim 2011-07-20 11:48:32 UTC
customized filter of specific vg:

[root@rhev-a8c-01 ~]# time /usr/bin/sudo -n /sbin/lvm vgs --config " devices { preferred_names = [\"^/dev/mapper/\"] ignore_suspended_devices=1 write_cache_state=0 filter = [ \"a%/dev/mapper/36006016066102900cb07b2daf2ade011|/dev/mapper/36006016066102900813c91d4f2ade011%\", \"r%.*%\" ] }  global {  locking_type=1  prioritise_write_locks=1  wait_for_locks=1 }"
  VG                                   #PV #LV #SN Attr   VSize  VFree 
  e04e7580-8ca1-469a-8dec-9cf8c5fc4a8c   2   6   0 wz--n- 19.62g 15.75g

real	0m1.576s
user	0m0.609s
sys	0m0.964s
[root@rhev-a8c-01

vdsm auto filter:

real	0m2.727s
user	0m1.156s
sys	0m0.978s

Comment 5 Dan Kenigsberg 2011-07-20 12:19:42 UTC
Please repeat the measurement several times (in case cached data caused the time diff) and without the sudo overhead.

Comment 6 Haim 2011-07-20 13:14:44 UTC
VDSM filter:

real	0m2.542s
user	0m1.160s
sys	0m0.815s

real	0m2.523s
user	0m1.149s
sys	0m0.833s

real	0m3.047s
user	0m1.123s
sys	0m0.914s

real	0m2.790s
user	0m1.119s
sys	0m1.072s

My filter:

real	0m1.739s
user	0m0.659s
sys	0m1.041s

real	0m1.444s
user	0m0.611s
sys	0m0.829s

real	0m1.416s
user	0m0.578s
sys	0m0.836s

real	0m1.298s
user	0m0.603s
sys	0m0.561s

real	0m1.391s
user	0m0.622s
sys	0m0.767s

Comment 7 Dan Kenigsberg 2011-07-20 13:33:37 UTC
what is the size difference between the two filters?

Comment 8 Haim 2011-07-20 13:40:08 UTC
(In reply to comment #7)
> what is the size difference between the two filters?

2 vs 511

Comment 9 Itamar Heim 2013-04-14 07:01:54 UTC
status/relevancy?

Comment 10 Ayal Baron 2013-05-08 09:04:36 UTC
(In reply to comment #9)
> status/relevancy?

still relevant.

Comment 11 Sandro Bonazzola 2013-11-15 11:03:40 UTC
If this is in 3.3.1 vdsm (beta repo right now), can you please move the bug to ON_QA?

Comment 12 Sandro Bonazzola 2013-11-25 12:02:08 UTC
oVirt 3.3.1 has been released