9ae3f9
From 1370db202a2a60810409f74c390448bf8fbd6998 Mon Sep 17 00:00:00 2001
9ae3f9
From: Barak Sason Rofman <bsasonro@redhat.com>
9ae3f9
Date: Sun, 9 Feb 2020 15:09:30 +0200
9ae3f9
Subject: [PATCH 429/449] dht/rebalance - fixing failure occurace due to
9ae3f9
 rebalance stop
9ae3f9
9ae3f9
Probelm description:
9ae3f9
When topping rebalance, the following error messages appear in the
9ae3f9
rebalance log file:
9ae3f9
[2020-01-28 14:31:42.452070] W [dht-rebalance.c:3447:gf_defrag_process_dir] 0-distrep-dht: Found error from gf_defrag_get_entry
9ae3f9
[2020-01-28 14:31:42.452764] E [MSGID: 109111] [dht-rebalance.c:3971:gf_defrag_fix_layout] 0-distrep-dht: gf_defrag_process_dir failed for directory: /0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31
9ae3f9
[2020-01-28 14:31:42.453498] E [MSGID: 109016] [dht-rebalance.c:3906:gf_defrag_fix_layout] 0-distrep-dht: Fix layout failed for /0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30
9ae3f9
9ae3f9
In order to avoid seing these error messages, a modification to the
9ae3f9
error handling mechanism has been made.
9ae3f9
In addition, several log messages had been added in order to improve debugging efficiency
9ae3f9
9ae3f9
backport of https://review.gluster.org/#/c/glusterfs/+/24103/
9ae3f9
>fixes: bz#1800956
9ae3f9
>Change-Id: Ifc82dae79ab3da9fe22ee25088a2a6b855afcfcf
9ae3f9
>Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
9ae3f9
9ae3f9
BUG: 1286171
9ae3f9
Change-Id: Ifc82dae79ab3da9fe22ee25088a2a6b855afcfcf
9ae3f9
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
9ae3f9
Reviewed-on: https://code.engineering.redhat.com/gerrit/202562
9ae3f9
Tested-by: RHGS Build Bot <nigelb@redhat.com>
9ae3f9
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
9ae3f9
---
9ae3f9
 xlators/cluster/dht/src/dht-rebalance.c | 8 ++++++++
9ae3f9
 1 file changed, 8 insertions(+)
9ae3f9
9ae3f9
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c
9ae3f9
index 8f31dca..88b6b54 100644
9ae3f9
--- a/xlators/cluster/dht/src/dht-rebalance.c
9ae3f9
+++ b/xlators/cluster/dht/src/dht-rebalance.c
9ae3f9
@@ -3479,6 +3479,10 @@ gf_defrag_process_dir(xlator_t *this, gf_defrag_info_t *defrag, loc_t *loc,
9ae3f9
                                       migrate_data, dir_dfmeta, xattr_req,
9ae3f9
                                       &should_commit_hash, perrno);
9ae3f9
 
9ae3f9
+            if (defrag->defrag_status == GF_DEFRAG_STATUS_STOPPED) {
9ae3f9
+                goto out;
9ae3f9
+            }
9ae3f9
+
9ae3f9
             if (ret) {
9ae3f9
                 gf_log(this->name, GF_LOG_WARNING,
9ae3f9
                        "Found "
9ae3f9
@@ -3935,6 +3939,10 @@ gf_defrag_fix_layout(xlator_t *this, gf_defrag_info_t *defrag, loc_t *loc,
9ae3f9
             ret = gf_defrag_fix_layout(this, defrag, &entry_loc, fix_layout,
9ae3f9
                                        migrate_data);
9ae3f9
 
9ae3f9
+            if (defrag->defrag_status == GF_DEFRAG_STATUS_STOPPED) {
9ae3f9
+                goto out;
9ae3f9
+            }
9ae3f9
+
9ae3f9
             if (ret && ret != 2) {
9ae3f9
                 gf_msg(this->name, GF_LOG_ERROR, 0, DHT_MSG_LAYOUT_FIX_FAILED,
9ae3f9
                        "Fix layout failed for %s", entry_loc.path);
9ae3f9
-- 
9ae3f9
1.8.3.1
9ae3f9