Bug 1636504

Summary: Unwanted repeated logs in self heal daemon logs
Product: [Community] GlusterFS Reporter: Shyamsundar <srangana>
Component: replicateAssignee: bugs <bugs>
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5CC: bugs
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1636502 Environment:
Last Closed: 2018-10-10 14:14:41 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: 1636502    
Bug Blocks: 1628620    

Description Shyamsundar 2018-10-05 14:48:17 UTC
+++ This bug was initially created as a clone of Bug #1636502 +++

Description of problem:

Run a test that needs self heal (say bring down a brick, touch 10 files in others and bring the brick back up online). The self heal logs are filled with the following log message,

[dict.c:2775:dict_get_str_boolean] (-->/usr/local/lib/glusterfs/6dev/xlator/protocol/client.so(+0x6d6c0) [0x7f3bc5ad76c0] -->/usr/local/lib/glusterfs/6dev/xlator/cluster/replicate.so(+0x489ff) [0x7f3bc581d9ff] -->/usr/local/lib/libglusterfs.so.0(dict_get_str_boolean+0xcf) [0x7f3bd3f0c81f] ) 0-dict: key buf-has-zeroes, integer type asked, has unsigned integer type [Invalid argument]

NOTE: Line numbers may be off depending on which commit in master I tested with

This is being generated as, POSIX is encoding a uint32 in the dict for buf-has-zeroes" and AFR is reading a boolean, from code inspection as below,

afr-self-heal-data.c -> __checksum_cbk -> dict_get_str_boolean(xdata, "buf-has-zeroes" ...

posix-inode-fd-ops.c -> posix_rchecksum -> dict_set_uint32(rsp_xdata, "buf-has-zeroes"

The correction needs type safety, and hence the bug.

Comment 1 Shyamsundar 2018-10-10 14:14:41 UTC
This issue only existed in master, and the log cleanup patches takes care of the same. This was incorrectly cloned against release-5.