Bug 1365879

Summary: [libgfchangelog]: If changelogs are not available for the requested time range, no proper error message
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: changelogAssignee: Kotresh HR <khiremat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.8.0CC: avishwan, bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8.3 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1365877 Environment:
Last Closed: 2016-08-24 10:21:04 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:
Bug Depends On: 1362151, 1365877    
Bug Blocks: 1364422    

Description Kotresh HR 2016-08-10 12:00:28 UTC
+++ This bug was initially created as a clone of Bug #1365877 +++

Description of problem:

 If changelogs are not available for the requested time range, no proper error message is displayed. It just fails. If start time is less than min changelog available time, then history changelog fails with -1 as any failure and no error message is printed. Distinguishing this error will be helpful for 
the consumers to act upon it.

For example, geo-replication upon receiving this error would fallback to
xsync. 

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

How reproducible:
Always

Steps to Reproduce: (For simplicity consider plain distribute setup)
This is not simple to reproduce. It might hit during replace brick scencarios.
1. Setup geo-rep between master and slave
2. Before geo-rep syncs all data from master to slave, replace the brick from
   master and write new data on master.
3. Now the replaced brick's min changelog available is much later than the
   stime (sync time) corresponding to this brick.
4. When geo-rep is started after replace brick, it would hit above case.


Actual results:
When start time is less than min available changelog, histor fails with -1 and error is not logged.

Expected results:
It should distinguish the above error, log it and fail.

Comment 1 Vijay Bellur 2016-08-10 12:01:42 UTC
REVIEW: http://review.gluster.org/15138 (features/libgfchangelog: Log failure in gf_histroy_changelog) posted (#1) for review on release-3.8 by Kotresh HR (khiremat)

Comment 2 Vijay Bellur 2016-08-18 13:11:43 UTC
REVIEW: http://review.gluster.org/15138 (features/libgfchangelog: Log failure in gf_histroy_changelog) posted (#2) for review on release-3.8 by Kotresh HR (khiremat)

Comment 3 Vijay Bellur 2016-08-19 06:05:28 UTC
COMMIT: http://review.gluster.org/15138 committed in release-3.8 by Aravinda VK (avishwan) 
------
commit 56343cf608f02c2b6dbaef04ae7a897b13a97d42
Author: Kotresh HR <khiremat>
Date:   Mon Aug 1 16:59:33 2016 +0530

    features/libgfchangelog: Log failure in gf_histroy_changelog
    
    Add error logs if gf_history_changelog fails. If requested
    changelog range is not available, log the error and exit
    instead of continuing the loop and exiting in readdir
    without logging. Also fixed the duplicate MSGID number in
    'changelog-lib-messages.h'
    
    > Change-Id: Icd71b89ae23b48a71380657ba5649029c32fabfd
    > BUG: 1362151
    > Signed-off-by: Kotresh HR <khiremat>
    > Reviewed-on: http://review.gluster.org/15064
    > Smoke: Gluster Build System <jenkins.org>
    > CentOS-regression: Gluster Build System <jenkins.org>
    > NetBSD-regression: NetBSD Build System <jenkins.org>
    > Reviewed-by: Aravinda VK <avishwan>
    
    Change-Id: Icd71b89ae23b48a71380657ba5649029c32fabfd
    BUG: 1365879
    Signed-off-by: Kotresh HR <khiremat>
    (cherry picked from commit 949472d7561d3bfd67d8204e433a25dbc8a596cc)
    Reviewed-on: http://review.gluster.org/15138
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Aravinda VK <avishwan>

Comment 4 Niels de Vos 2016-08-24 10:21:04 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.3, please open a new bug report.

glusterfs-3.8.3 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://www.gluster.org/pipermail/announce/2016-August/000059.html
[2] https://www.gluster.org/pipermail/gluster-users/