Description of problem: The lookup-unhashed option did not work on tiered volumes. Version-Release number of selected component (if applicable): N/A How reproducible: Easy Steps to Reproduce: 1. set lookup-unhashed to on for a tiered volume. 2. observe count of lookups to server. Actual results: count of lookups to server is unchanged. Expected results: count of lookups to server should decrease. Additional info:
Dan, Can you please provide more information on what QE needs to do as part of testing?
Discussed in scrum, documenting here. The fix removes unnecessary work from detach tier related to the lookup-unhashed optimization. It can be tested by verifying lookup-optimization works before and after the detach tier operation. The DHT team can provide a procedure for validating the lookup-optimization feature.
How to test: 1. become familiar with how lookup-unhashed works. 2. verify it works with the patch loaded , before and after detaching a tier. 1. lookup-unhashed improves the performance of create operations. When you create a file, DHT normally must look on all sub volumes to see if the file already exists. This is called "lookup everywhere". In the logs, you will see "dht_lookup_everywhere". With the setting enabled, you should not see this message. Instead, you would only see dht_lookup to the hashed sub volume. Note: try it on a subdirectory. Do not try it on the root directory (for reasons related to DHT and beyond the scope of this fix). Do not forget to set diagnostics.client-log-level to DEBUG on a distributed replicated volume, with cluster.lookup-optimize set to off, $ mkdir /mnt/test1 $ touch /mnt/test1/file You should see "dht_lookup_everywhere" Now set cluster.lookup-optimize set to on. Make a *new* directory and create a file in it. It has to be new, for internal DHT reasons beyond the scope of this fix. $ mkdir /mnt/test2 $ touch /mnt/test2/file This time, you should *not* see dht_lookup_everywhere. 2. This bug's patch optimized the detach process for tiered volumes to avoid unnecessary steps. We need to confirm the patch did not break the lookup unhashed optimization. So repeat the second part of the above test, before and after detaching a tier. On a tiered volume, with cluster.lookup-optimize set to on, $ mkdir /mnt/test3 $ touch /mnt/test3/file Confirm you do *not* see dht_lookup_everywhere in the logs. Detach the tier. Create another file in the same directory. $ touch /mnt/test3/file2 Confirm you do *not* see dht_lookup_everywhere in the logs.
have run tiering basic set of attach tier regression and rebalance related which passed. Hence moving to pass
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, 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://rhn.redhat.com/errata/RHBA-2016-0193.html