Bug 1192435 - server crashed during rebalance in dht_selfheal_layout_new_directory
Summary: server crashed during rebalance in dht_selfheal_layout_new_directory
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: distribute
Version: mainline
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Nithya Balachandran
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: qe_tracker_everglades 1224116
TreeView+ depends on / blocked
 
Reported: 2015-02-13 10:53 UTC by Bhaskarakiran
Modified: 2016-11-23 23:11 UTC (History)
7 users (show)

Fixed In Version: glusterfs-3.7dev-0.869.gitf5e4c94.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1224116 (view as bug list)
Environment:
Last Closed: 2015-05-15 17:16:17 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)
rebalance log file (4.73 MB, application/zip)
2015-02-13 10:53 UTC, Bhaskarakiran
no flags Details
server core file (2.86 MB, application/zip)
2015-02-13 10:54 UTC, Bhaskarakiran
no flags Details

Description Bhaskarakiran 2015-02-13 10:53:20 UTC
Created attachment 991297 [details]
rebalance log file

Description of problem:
======================

Created a 2x(8+3) distribute disperse volume and tried to reduce that to 1x(4+2) plain disperse volume by removing bricks. Given gluster volume remove-brick command and after some time the server has crashed.

Version-Release number of selected component (if applicable):
=============================================================
glusterfs 3.7dev built on Feb  8 2015 01:04:29

How reproducible:
=================
Tried only once


Steps to Reproduce:
1. Create a 2x(8+3) distribute-disperse volume 
2. Create huge number of files and directories with multiple block sizes
3. Convert it to plain disperse of 1x(4+2) volume.

Volume options:
===============

[root@dhcp37-208 glusterfs]# gluster volume get testvol all
Option                                  Value                                   
------                                  -----                                   
cluster.lookup-unhashed                 on                                      
cluster.min-free-disk                   10%                                     
cluster.min-free-inodes                 5%                                      
cluster.rebalance-stats                 off                                     
cluster.subvols-per-directory           (null)                                  
cluster.readdir-optimize                off                                     
cluster.rsync-hash-regex                (null)                                  
cluster.extra-hash-regex                (null)                                  
cluster.dht-xattr-name                  trusted.glusterfs.dht                   
cluster.randomize-hash-range-by-gfid    off                                     
cluster.local-volume-name               (null)                                  
cluster.weighted-rebalance              on                                      
cluster.switch-pattern                  (null)                                  
cluster.entry-change-log                on                                      
cluster.read-subvolume                  (null)                                  
cluster.read-subvolume-index            -1                                      
cluster.read-hash-mode                  1                                       
cluster.background-self-heal-count      16                                      
cluster.metadata-self-heal              on                                      
cluster.data-self-heal                  on                                      
cluster.entry-self-heal                 on                                      
cluster.self-heal-daemon                on                                      
cluster.heal-timeout                    600                                     
cluster.self-heal-window-size           1                                       
cluster.data-change-log                 on                                      
cluster.metadata-change-log             on                                      
cluster.data-self-heal-algorithm        (null)                                  
cluster.eager-lock                      on                                      
cluster.quorum-type                     none                                    
cluster.quorum-count                    (null)                                  
cluster.choose-local                    true                                    
cluster.self-heal-readdir-size          1KB                                     
cluster.post-op-delay-secs              1                                       
cluster.ensure-durability               on                                      
cluster.stripe-block-size               128KB                                   
cluster.stripe-coalesce                 true                                    
diagnostics.latency-measurement         off                                     
diagnostics.dump-fd-stats               off                                     
diagnostics.count-fop-hits              off                                     
diagnostics.brick-log-level             INFO                                    
diagnostics.client-log-level            INFO                                    
diagnostics.brick-sys-log-level         CRITICAL                                
diagnostics.client-sys-log-level        CRITICAL                                
diagnostics.brick-logger                (null)                                  
diagnostics.client-logger               (null)                                  
diagnostics.brick-log-format            (null)                                  
diagnostics.client-log-format           (null)                                  
diagnostics.brick-log-buf-size          5                                       
diagnostics.client-log-buf-size         5                                       
diagnostics.brick-log-flush-timeout     120                                     
diagnostics.client-log-flush-timeout    120                                     
performance.cache-max-file-size         0                                       
performance.cache-min-file-size         0                                       
performance.cache-refresh-timeout       1                                       
performance.cache-priority                                                      
performance.cache-size                  32MB                                    
performance.io-thread-count             16                                      
performance.high-prio-threads           16                                      
performance.normal-prio-threads         16                                      
performance.low-prio-threads            16                                      
performance.least-prio-threads          1                                       
performance.enable-least-priority       on                                      
performance.least-rate-limit            0                                       
performance.cache-size                  128MB                                   
performance.flush-behind                on                                      
performance.nfs.flush-behind            on                                      
performance.write-behind-window-size    1MB                                     
performance.nfs.write-behind-window-size1MB                                     
performance.strict-o-direct             off                                     
performance.nfs.strict-o-direct         off                                     
performance.strict-write-ordering       off                                     
performance.nfs.strict-write-ordering   off                                     
performance.lazy-open                   yes                                     
performance.read-after-open             no                                      
performance.read-ahead-page-count       4                                       
performance.md-cache-timeout            1                                       
features.encryption                     off                                     
encryption.master-key                   (null)                                  
encryption.data-key-size                256                                     
encryption.block-size                   4096                                    
network.frame-timeout                   1800                                    
network.ping-timeout                    42                                      
network.tcp-window-size                 (null)                                  
features.lock-heal                      off                                     
features.grace-timeout                  10                                      
network.remote-dio                      disable                                 
client.event-threads                    2                                       
network.tcp-window-size                 (null)                                  
network.inode-lru-limit                 16384                                   
auth.allow                              *                                       
auth.reject                             (null)                                  
transport.keepalive                     (null)                                  
server.allow-insecure                   (null)                                  
server.root-squash                      off                                     
server.anonuid                          65534                                   
server.anongid                          65534                                   
server.statedump-path                   /var/run/gluster                        
server.outstanding-rpc-limit            64                                      
features.lock-heal                      off                                     
features.grace-timeout                  (null)                                  
server.ssl                              (null)                                  
auth.ssl-allow                          *                                       
server.manage-gids                      off                                     
client.send-gids                        on                                      
server.gid-timeout                      2                                       
server.own-thread                       (null)                                  
server.event-threads                    2                                       
performance.write-behind                on                                      
performance.read-ahead                  on                                      
performance.readdir-ahead               off                                     
performance.io-cache                    on                                      
performance.quick-read                  on                                      
performance.open-behind                 on                                      
performance.stat-prefetch               on                                      
performance.client-io-threads           off                                     
performance.nfs.write-behind            on                                      
performance.nfs.read-ahead              off                                     
performance.nfs.io-cache                off                                     
performance.nfs.quick-read              off                                     
performance.nfs.stat-prefetch           off                                     
performance.nfs.io-threads              off                                     
performance.force-readdirp              true                                    
features.file-snapshot                  off                                     
features.uss                            off                                     
features.snapshot-directory             .snaps                                  
features.show-snapshot-directory        off                                     
network.compression                     off                                     
network.compression.window-size         -15                                     
network.compression.mem-level           8                                       
network.compression.min-size            0                                       
network.compression.compression-level   -1                                      
network.compression.debug               false                                   
features.limit-usage                    (null)                                  
features.quota-timeout                  0                                       
features.default-soft-limit             80%                                     
features.soft-timeout                   60                                      
features.hard-timeout                   5                                       
features.alert-time                     86400                                   
features.quota-deem-statfs              off                                     
geo-replication.indexing                off                                     
geo-replication.indexing                off                                     
geo-replication.ignore-pid-check        off                                     
geo-replication.ignore-pid-check        off                                     
features.quota                          on                                      
debug.trace                             off                                     
debug.log-history                       no                                      
debug.log-file                          no                                      
debug.exclude-ops                       (null)                                  
debug.include-ops                       (null)                                  
debug.error-gen                         off                                     
debug.error-failure                     (null)                                  
debug.error-number                      (null)                                  
debug.random-failure                    off                                     
debug.error-fops                        (null)                                  
nfs.enable-ino32                        no                                      
nfs.mem-factor                          15                                      
nfs.export-dirs                         on                                      
nfs.export-volumes                      on                                      
nfs.addr-namelookup                     off                                     
nfs.dynamic-volumes                     off                                     
nfs.register-with-portmap               on                                      
nfs.outstanding-rpc-limit               16                                      
nfs.port                                2049                                    
nfs.rpc-auth-unix                       on                                      
nfs.rpc-auth-null                       on                                      
nfs.rpc-auth-allow                      all                                     
nfs.rpc-auth-reject                     none                                    
nfs.ports-insecure                      off                                     
nfs.trusted-sync                        off                                     
nfs.trusted-write                       off                                     
nfs.volume-access                       read-write                              
nfs.export-dir                                                                  
nfs.disable                             false                                   
nfs.nlm                                 on                                      
nfs.acl                                 on                                      
nfs.mount-udp                           off                                     
nfs.mount-rmtab                         /var/lib/glusterd/nfs/rmtab             
nfs.rpc-statd                           /sbin/rpc.statd                         
nfs.server-aux-gids                     off                                     
nfs.drc                                 off                                     
nfs.drc-size                            0x20000                                 
nfs.read-size                           (1 * 1048576ULL)                        
nfs.write-size                          (1 * 1048576ULL)                        
nfs.readdir-size                        (1 * 1048576ULL)                        
features.read-only                      off                                     
features.worm                           off                                     
storage.linux-aio                       off                                     
storage.batch-fsync-mode                reverse-fsync                           
storage.batch-fsync-delay-usec          0                                       
storage.owner-uid                       -1                                      
storage.owner-gid                       -1                                      
storage.node-uuid-pathinfo              off                                     
storage.health-check-interval           30                                      
storage.build-pgfid                     off                                     
storage.bd-aio                          off                                     
cluster.server-quorum-type              off                                     
cluster.server-quorum-ratio             0                                       
changelog.changelog                     off                                     
changelog.changelog-dir                 (null)                                  
changelog.encoding                      ascii                                   
changelog.rollover-time                 15                                      
changelog.fsync-interval                5                                       
changelog.changelog-barrier-timeout     120                                     
features.barrier                        disable                                 
features.barrier-timeout                120                                     
locks.trace                             disable                                 
cluster.disperse-self-heal-daemon       enable                                  
[root@dhcp37-208 glusterfs]#  

Gluster volume status:
======================

[root@dhcp37-208 glusterfs]# gluster v status
Status of volume: testvol
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick dhcp37-208:/rhs/brick1/b1				49170	Y	30082
Brick dhcp37-183:/rhs/brick1/b1				49169	Y	14451
Brick dhcp37-178:/rhs/brick1/b1				49169	Y	13526
Brick dhcp37-120:/rhs/brick1/b1				49159	Y	15877
Brick dhcp37-208:/rhs/brick2/b2				49171	Y	30094
Brick dhcp37-183:/rhs/brick2/b2				49170	Y	14463
Brick dhcp37-178:/rhs/brick2/b2				49170	Y	13538
Brick dhcp37-120:/rhs/brick2/b2				49160	Y	15889
Brick dhcp37-208:/rhs/brick3/b3				49172	Y	30107
Brick dhcp37-183:/rhs/brick3/b3				49171	Y	14475
Brick dhcp37-178:/rhs/brick3/b3				49171	Y	13550
Brick dhcp37-120:/rhs/brick3/b3				49161	Y	15901
Brick dhcp37-208:/rhs/brick4/b4				49173	Y	30119
Brick dhcp37-183:/rhs/brick4/b4				49172	Y	14487
Brick dhcp37-178:/rhs/brick4/b4				49172	Y	13562
Brick dhcp37-120:/rhs/brick4/b4				49162	Y	15913
Brick dhcp37-208:/rhs/brick5/b5				49174	Y	30131
Brick dhcp37-183:/rhs/brick5/b5				49173	Y	14499
Brick dhcp37-178:/rhs/brick5/b5				49173	Y	13574
Brick dhcp37-120:/rhs/brick5/b5				49163	Y	15925
Brick dhcp37-208:/rhs/brick6/b6				49175	Y	30143
Brick dhcp37-183:/rhs/brick6/b6				49174	Y	14511
NFS Server on localhost					2049	Y	30158
Quota Daemon on localhost				N/A	Y	30174
NFS Server on dhcp37-178				2049	Y	13587
Quota Daemon on dhcp37-178				N/A	Y	13604
NFS Server on dhcp37-183				2049	Y	14526
Quota Daemon on dhcp37-183				N/A	Y	14542
NFS Server on 10.70.37.120				2049	Y	15940
Quota Daemon on 10.70.37.120				N/A	Y	15957
 
Task Status of Volume testvol
------------------------------------------------------------------------------
Task                 : Remove brick        
ID                   : 56cb3721-7893-4c43-9da6-0ebb37c61227
Removed bricks:     
dhcp37-183:/rhs/brick6/b6
dhcp37-208:/rhs/brick6/b6
dhcp37-120:/rhs/brick5/b5
dhcp37-178:/rhs/brick5/b5
dhcp37-183:/rhs/brick5/b5
dhcp37-208:/rhs/brick5/b5
dhcp37-120:/rhs/brick4/b4
dhcp37-178:/rhs/brick4/b4
dhcp37-183:/rhs/brick4/b4
dhcp37-208:/rhs/brick4/b4
dhcp37-120:/rhs/brick3/b3
Status               : failed              

Gluster volume info:
====================
 
[root@dhcp37-208 glusterfs]# gluster volume info
 
Volume Name: testvol
Type: Distributed-Disperse
Volume ID: 6ce3dc6f-85ca-4397-9b5c-fe3cc64e62c6
Status: Started
Number of Bricks: 2 x (8 + 3) = 22
Transport-type: tcp
Bricks:
Brick1: dhcp37-208:/rhs/brick1/b1
Brick2: dhcp37-183:/rhs/brick1/b1
Brick3: dhcp37-178:/rhs/brick1/b1
Brick4: dhcp37-120:/rhs/brick1/b1
Brick5: dhcp37-208:/rhs/brick2/b2
Brick6: dhcp37-183:/rhs/brick2/b2
Brick7: dhcp37-178:/rhs/brick2/b2
Brick8: dhcp37-120:/rhs/brick2/b2
Brick9: dhcp37-208:/rhs/brick3/b3
Brick10: dhcp37-183:/rhs/brick3/b3
Brick11: dhcp37-178:/rhs/brick3/b3
Brick12: dhcp37-120:/rhs/brick3/b3
Brick13: dhcp37-208:/rhs/brick4/b4
Brick14: dhcp37-183:/rhs/brick4/b4
Brick15: dhcp37-178:/rhs/brick4/b4
Brick16: dhcp37-120:/rhs/brick4/b4
Brick17: dhcp37-208:/rhs/brick5/b5
Brick18: dhcp37-183:/rhs/brick5/b5
Brick19: dhcp37-178:/rhs/brick5/b5
Brick20: dhcp37-120:/rhs/brick5/b5
Brick21: dhcp37-208:/rhs/brick6/b6
Brick22: dhcp37-183:/rhs/brick6/b6
Options Reconfigured:
features.quota: on
features.uss: off
[root@dhcp37-208 glusterfs]# 


Actual results:
===============
Rebalance crashed


Expected results:
=================
No errors or crashes to be seen


Additional info:

Attaching the corefile and rebalance log file.

Comment 1 Bhaskarakiran 2015-02-13 10:54:08 UTC
Created attachment 991298 [details]
server core file

Comment 6 Anand Avati 2015-03-03 07:17:39 UTC
REVIEW: http://review.gluster.org/9563 (xlators/dht : divide by zero coverity fix) posted (#12) for review on master by Humble Devassy Chirammal (humble.devassy)

Comment 7 Niels de Vos 2015-05-15 17:16:17 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.7.0, please open a new bug report.

glusterfs-3.7.0 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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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