diff options
author | Dan Lambright <dlambrig@redhat.com> | 2015-10-26 14:19:24 -0400 |
---|---|---|
committer | Dan Lambright <dlambrig@redhat.com> | 2015-10-28 03:14:55 -0700 |
commit | 3c6928f4daa6bd89ffa14049ba44337c049a9c89 (patch) | |
tree | 617f5033c2e9ed67b57d60b8685584cd366db588 /xlators/cluster | |
parent | 2c76c52c337a0a14e19f3385268c543aaa06534d (diff) |
cluster/tier do not log error message on lookup heal for files on hot tier
On fix-layout heal files are scanned. Files found are exist on the hot or cold
subvolume. Those not found in the cold tier would exist on the hot. They
should not be flagged as an error.
Replace INFO with TRACE for common tier migration logs. Frequent migration
was growing the log files too quickly.
On migratation failures, do not acrue files towards cycle limit's budget.
Change-Id: Ie832ee07c43bce5477ae81c939d1fe8416a11615
BUG: 1275383
Signed-off-by: Dan Lambright <dlambrig@redhat.com>
Reviewed-on: http://review.gluster.org/12430
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Joseph Fernandes
Diffstat (limited to 'xlators/cluster')
-rw-r--r-- | xlators/cluster/dht/src/dht-rebalance.c | 15 | ||||
-rw-r--r-- | xlators/cluster/dht/src/tier.c | 27 |
2 files changed, 25 insertions, 17 deletions
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index fe648f07e8e..fab4e2f0ece 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -1175,12 +1175,17 @@ dht_migrate_file (xlator_t *this, loc_t *loc, xlator_t *from, xlator_t *to, gf_defrag_info_t *defrag = NULL; gf_boolean_t clean_src = _gf_false; gf_boolean_t clean_dst = _gf_false; + int log_level = GF_LOG_INFO; defrag = conf->defrag; if (!defrag) goto out; - gf_log (this->name, GF_LOG_INFO, "%s: attempting to move from %s to %s", + if (defrag->tier_conf.is_tier) + log_level = GF_LOG_TRACE; + + gf_log (this->name, + log_level, "%s: attempting to move from %s to %s", loc->path, from->name, to->name); dict = dict_new (); @@ -1548,7 +1553,7 @@ dht_migrate_file (xlator_t *this, loc_t *loc, xlator_t *from, xlator_t *to, ret = -1; } - gf_msg (this->name, GF_LOG_INFO, 0, + gf_msg (this->name, log_level, 0, DHT_MSG_MIGRATE_FILE_COMPLETE, "completed migration of %s from subvolume %s to %s", loc->path, from->name, to->name); @@ -2809,8 +2814,10 @@ gf_fix_layout_tier_attach_lookup (xlator_t *this, ret = syncop_lookup (conf->subvolumes[0], &file_loc, &iatt, NULL, lookup_xdata, NULL); if (ret) { - gf_msg (this->name, GF_LOG_ERROR, 0, DHT_MSG_LOG_TIER_ERROR, - "%s lookup failed", file_loc.path); + /* If the file does not exist on the cold tier than it must */ + /* have been discovered on the hot tier. This is not an error. */ + gf_msg (this->name, GF_LOG_INFO, 0, DHT_MSG_LOG_TIER_STATUS, + "%s lookup to cold tier on attach heal failed", file_loc.path); goto out; } diff --git a/xlators/cluster/dht/src/tier.c b/xlators/cluster/dht/src/tier.c index 9dcbc760330..bd78e7849d0 100644 --- a/xlators/cluster/dht/src/tier.c +++ b/xlators/cluster/dht/src/tier.c @@ -106,8 +106,8 @@ tier_check_same_node (xlator_t *this, loc_t *loc, gf_defrag_info_t *defrag) } if (gf_uuid_compare (node_uuid, defrag->node_uuid)) { - gf_msg (this->name, GF_LOG_INFO, 0, DHT_MSG_LOG_TIER_STATUS, - "%s does not belong to this node", loc->path); + gf_msg_trace (this->name, 0, + "%s does not belong to this node", loc->path); ret = 1; goto out; } @@ -485,8 +485,8 @@ tier_migrate_using_query_file (void *_args) goto abort; } - gf_msg (this->name, GF_LOG_INFO, 0, - DHT_MSG_LOG_TIER_STATUS, "Tier %d" + gf_msg_trace (this->name, 0, + "Tier %d" " src_subvol %s file %s", query_cbk_args->is_promotion, src_subvol->name, @@ -544,13 +544,6 @@ tier_migrate_using_query_file (void *_args) defrag->tier_conf.blocks_total; pthread_mutex_unlock (&dm_stat_mutex); } -abort: - loc_wipe(&loc); - loc_wipe(&p_loc); - - token_str = NULL; - token_str = strtok (NULL, delimiter); - GF_FREE (link_str); if ((++total_files > defrag->tier_conf.max_migrate_files) || (total_migrated_bytes > defrag->tier_conf.max_migrate_bytes)) { @@ -562,6 +555,15 @@ abort: total_files); goto out; } + +abort: + loc_wipe(&loc); + loc_wipe(&p_loc); + + token_str = NULL; + token_str = strtok (NULL, delimiter); + GF_FREE (link_str); + } per_file_status = per_link_status; per_file_out: @@ -1031,8 +1033,7 @@ tier_build_migration_qfile (demotion_args_t *args, ret = remove (GET_QFILE_PATH (is_promotion)); if (ret == -1) { - gf_msg (args->this->name, GF_LOG_INFO, 0, - DHT_MSG_LOG_TIER_STATUS, + gf_msg_trace (args->this->name, 0, "Failed to remove %s", GET_QFILE_PATH (is_promotion)); } |