Bug 1755448

Summary: Do not start index when creating device with deduplication=disabled
Product: Red Hat Enterprise Linux 8 Reporter: Jakub Krysl <jkrysl>
Component: vdoAssignee: Matthew Sakai <msakai>
Status: CLOSED ERRATA QA Contact: Filip Suba <fsuba>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.2CC: awalsh, bgurney, corwin, fsuba, msakai
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 6.2.3.77 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:01:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jakub Krysl 2019-09-25 14:16:13 UTC
Description of problem:
BZ 1643291 changed the way disabling deduplication works. Now the index gets stopped instead of just disconnecting it. When creating new volume without deduplication, the index gets started just to get stopped right away.

# vdo create --name vdo1 --device /dev/sda --indexMem 10 --deduplication disabled; for i in `seq 1 50`; do free -m | grep Mem:; sleep 0.1; done; vdo remove --all
Creating VDO vdo1
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 4 volume is ready at /dev/mapper/vdo1
Mem:          64036        3811       59146          17        1078       59435
Mem:          64036        4512       58445          17        1078       58734
Mem:          64036        5204       57754          17        1078       58043
Mem:          64036        5894       57063          17        1078       57353
Mem:          64036        6573       56384          17        1078       56674
Mem:          64036        7240       55718          17        1078       56007
Mem:          64036        7927       55030          17        1078       55320
Mem:          64036        8595       54363          17        1078       54652
Mem:          64036        9139       53819          17        1078       54108
Mem:          64036        9683       53275          17        1078       53564
Mem:          64036       10228       52729          17        1078       53019
Mem:          64036       10788       52169          17        1078       52458
Mem:          64036       11338       51619          17        1078       51908
Mem:          64036       11883       51075          17        1078       51364
Mem:          64036       12429       50529          17        1078       50818
Mem:          64036       12974       49983          17        1078       50272
Mem:          64036       13288       49669          17        1078       49958
Mem:          64036       13284       49673          17        1078       49963
Mem:          64036       13288       49669          17        1078       49959
Mem:          64036       13288       49669          17        1078       49959
Mem:          64036       13284       49674          17        1078       49963
Mem:          64036       13288       49669          17        1078       49959
Mem:          64036       13288       49669          17        1078       49959
Mem:          64036       13283       49674          17        1078       49963
Mem:          64036       13288       49669          17        1078       49959
Mem:          64036       13287       49670          17        1078       49959
Mem:          64036       13283       49674          17        1078       49964
Mem:          64036       13288       49669          17        1078       49958
Mem:          64036       12393       50565          17        1078       50854
Mem:          64036        7598       55359          17        1078       55649
Mem:          64036        3488       59470          17        1078       59759
Mem:          64036        3487       59470          17        1078       59759
Mem:          64036        3487       59470          17        1078       59759
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3486       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3486       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3486       59471          17        1078       59760
Mem:          64036        3486       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Mem:          64036        3487       59470          17        1078       59760
Mem:          64036        3487       59470          17        1078       59760
Mem:          64036        3486       59471          17        1078       59760
Mem:          64036        3487       59471          17        1078       59760
Removing VDO vdo1
Stopping VDO vdo1

Version-Release number of selected component (if applicable):
vdo-6.2.1.134-11.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
1. vdo create --name vdo1 --device /dev/sda --indexMem 10 --deduplication disabled; for i in `seq 1 50`; do free -m | grep Mem:; sleep 0.1; done;

Actual results:
Memory gets consumed as the index starts and is freed again as it stops.

Expected results:
Index does not get started at all when deduplication is disabled

Additional info:

Comment 1 Jakub Krysl 2019-10-15 14:38:54 UTC
Mass migration to Filip.

Comment 6 Filip Suba 2020-09-04 13:26:29 UTC
Verified with vdo-6.2.3.114-14.el8.

# vdo create --name vdo1 --device /dev/sda --indexMem 10 --deduplication disabled; for i in `seq 1 50`; do free -m | grep Mem:; sleep 0.1; done; vdo remove --all
Creating VDO vdo1
      Logical blocks defaulted to 2408694391 blocks.
      The VDO volume can address 8 TB in 4603 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 1 volume is ready at /dev/mapper/vdo1
Mem:          64020        3487       59960          17         571       59852
Mem:          64020        3487       59960          17         571       59852
Mem:          64020        3487       59960          17         571       59852
Mem:          64020        3488       59960          17         571       59852
Mem:          64020        3487       59961          17         571       59853
Mem:          64020        3487       59961          17         572       59853
Mem:          64020        3487       59961          17         572       59853
Mem:          64020        3487       59961          17         572       59853
...
Mem:          64020        3489       59958          17         572       59850
Mem:          64020        3489       59958          17         572       59850
Mem:          64020        3489       59958          17         572       59850
Mem:          64020        3489       59958          17         572       59850
Removing VDO vdo1
Stopping VDO vdo1

Comment 9 errata-xmlrpc 2020-11-04 02:01:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (kmod-kvdo bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4551