Bug 1203776 - Fix tiering bugs in DHT code.
Summary: Fix tiering bugs in DHT code.
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: GlusterFS
Classification: Community
Component: core
Version: mainline
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Dan Lambright
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-19 16:13 UTC by Dan Lambright
Modified: 2015-12-01 16:45 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-04-22 16:52:22 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Dan Lambright 2015-03-19 16:13:07 UTC
Description of problem:

On the glusterFS feature freeze the tiering feature left for post freeze the following problems:

1. confirm gfid set properly in trusted.tier-gfid
2. NULL check ht_migrate_file()
3. Replace #define of promote/demote file names
4. parse_query_str should indicate size of link_buffer and use strncpy
5. add test cases for soft/hard linked files
6. use loc_wipe() in migrate_using_query_file() ?
7. Remove argument "key" from process_brick_cbk()
8. Replace demotion/promotion args with a single structure?
9. Confirm only promote/demote files on the same node on which they reside.
10. dht-messages.h logging should be finer grained
11. Add comments to fields in gfdb_brick_dict_info_t 
12. document query string format.
13. log all failure cases in migrate_using_query_file
14. replace calloc with GF_CALLOC in tier.c and ensure freeing done properly.
15. handle if parse_query_str fails
16. strtok destroys calling string in tier.c, confirm if acceptable
17. tier.c inode_link check failure
18. confirm inode_unref done properly
19. confirm params_dict freed
20. queryFILE can be a local variable rather than structure member?
21. unlink rather than remove?


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Dan Lambright 2015-03-19 17:36:59 UTC
22. only load sql libs on server side

Comment 2 Dan Lambright 2015-03-20 00:20:57 UTC
23. nufa+methods cleanup

Comment 3 Dan Lambright 2015-03-23 13:09:38 UTC
Item 21 not necessary. Unlink and remove are equivalent for the purposes of this code.

Comment 4 Dan Lambright 2015-03-23 17:45:43 UTC
Item 20 is not necessary to fix, the queryFILE field must be a member of the structure.

Comment 5 Dan Lambright 2015-03-23 19:27:31 UTC
Item 16 is not necessary to fix, it is fine that strtok modifies the string as it is only used once in the loop.

Comment 6 Anand Avati 2015-03-24 18:02:22 UTC
REVIEW: http://review.gluster.org/9987 (cluster/dht: fix problems found in reviews prior to freeze) posted (#1) for review on master by Dan Lambright (dlambrig)

Comment 7 Anand Avati 2015-03-25 21:43:17 UTC
REVIEW: http://review.gluster.org/9987 (icluster/dht: fix tier.c problems found prior to feature freeze) posted (#2) for review on master by Dan Lambright (dlambrig)

Comment 8 Anand Avati 2015-03-26 14:29:31 UTC
REVIEW: http://review.gluster.org/9987 (cluster/dht: fix tier.c problems found prior to feature freeze) posted (#3) for review on master by Dan Lambright (dlambrig)

Comment 9 Anand Avati 2015-04-03 13:07:52 UTC
REVIEW: http://review.gluster.org/9987 (cluster/dht: fix tier.c problems found prior to feature freeze) posted (#4) for review on master by Dan Lambright (dlambrig)

Comment 10 Anand Avati 2015-04-06 09:35:52 UTC
COMMIT: http://review.gluster.org/9987 committed in master by Niels de Vos (ndevos) 
------
commit 37bbcf6861590aa3d980846042855ee4212c89df
Author: Dan Lambright <dlambrig>
Date:   Tue Mar 24 13:59:00 2015 -0400

    cluster/dht: fix tier.c problems found prior to feature freeze
    
    This patch resolves tiering translator issues taken from the list
    in bug 1203776. These issues have been selected to be fixed
    first. The rest will be fixed in a subsequent patch (or are not a
    problem).
    
    3. Replace hardcoded #defines of promote/demote file names
    
    6. Use loc_wipe() in migrate_using_query_file()
    
    9. Only promote/demote files on the same node on which they reside.
    
    14. Replace calloc with GF_CALLOC in tier.c and ensure freeing done
    properly.
    
    15. Handle if parse_query_str fails
    
    22. Only load gfdb library on server side, remove SQL references
        from client.
    
    Change-Id: I6563b11e58ab2e4c6b1ce44db755781ad6d930fb
    BUG: 1203776
    Signed-off-by: Dan Lambright <dlambrig>
    Reviewed-on: http://review.gluster.org/9987
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: N Balachandran <nbalacha>
    Reviewed-by: Niels de Vos <ndevos>

Comment 11 Dan Lambright 2015-04-22 16:52:22 UTC
This bug is obsolete.


Note You need to log in before you can comment on or make changes to this bug.