summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/tier.c
diff options
context:
space:
mode:
authorN Balachandran <nbalacha@redhat.com>2015-12-30 14:55:48 +0530
committerDan Lambright <dlambrig@redhat.com>2016-01-04 07:20:00 -0800
commit50d14b2aec654eaf95a467bc12a8c6fd396cfb0a (patch)
treedca39080a891615e539de572c7d99f49cf0cd91a /xlators/cluster/dht/src/tier.c
parentfa4f583e469c065b4e1fb7ddfadfd14e1e6d62ae (diff)
cluster/tier: Additional details in error messages
Added file path/gfid when available to the tier log messages to make debugging easier. Change-Id: I22dda329367df2b846dcf254594312c997b66083 BUG: 1273043 Signed-off-by: N Balachandran <nbalacha@redhat.com> Reviewed-on: http://review.gluster.org/13114 Reviewed-by: mohammed rafi kc <rkavunga@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Dan Lambright <dlambrig@redhat.com> Tested-by: Dan Lambright <dlambrig@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/tier.c')
-rw-r--r--xlators/cluster/dht/src/tier.c86
1 files changed, 45 insertions, 41 deletions
diff --git a/xlators/cluster/dht/src/tier.c b/xlators/cluster/dht/src/tier.c
index 7af66f72df2..50cbc509e6f 100644
--- a/xlators/cluster/dht/src/tier.c
+++ b/xlators/cluster/dht/src/tier.c
@@ -64,8 +64,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_trace (this->name, 0,
- "%s does not belong to this node", loc->path);
+ gf_msg_debug (this->name, 0,
+ "%s does not belong to this node", loc->path);
ret = 1;
goto out;
}
@@ -305,7 +305,7 @@ tier_migrate_using_query_file (void *_args)
/* Flag to suggest the xattr call is from migrator */
per_file_status = dict_set_str (migrate_data,
- "from.migrator", "yes");
+ "from.migrator", "yes");
if (per_file_status) {
goto per_file_out;
}
@@ -334,9 +334,8 @@ tier_migrate_using_query_file (void *_args)
* ignore other hard links in the link info list of query record
* TODO: Multiple hard links migration */
if (!list_empty (&query_record->link_list)) {
- link_info = list_first_entry
- (&query_record->link_list,
- gfdb_link_info_t, list);
+ link_info = list_first_entry (&query_record->link_list,
+ gfdb_link_info_t, list);
}
if (link_info != NULL) {
@@ -346,7 +345,9 @@ tier_migrate_using_query_file (void *_args)
if (!p_loc.inode) {
gf_msg (this->name, GF_LOG_ERROR, 0,
DHT_MSG_LOG_TIER_ERROR,
- "Failed to create reference to inode");
+ "Failed to create reference to inode"
+ " for %s", uuid_utoa (p_loc.gfid));
+
per_link_status = -1;
goto abort;
}
@@ -356,7 +357,8 @@ tier_migrate_using_query_file (void *_args)
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, -ret,
DHT_MSG_LOG_TIER_ERROR,
- " Error in parent lookup\n");
+ "Error in parent lookup for %s",
+ uuid_utoa (p_loc.gfid));
per_link_status = -1;
goto abort;
}
@@ -366,7 +368,8 @@ tier_migrate_using_query_file (void *_args)
if (ret || !parent_path) {
gf_msg (this->name, GF_LOG_ERROR, 0,
DHT_MSG_LOG_TIER_ERROR,
- "Failed to get parent path\n");
+ "Failed to get parent path for %s",
+ uuid_utoa (p_loc.gfid));
per_link_status = -1;
goto abort;
}
@@ -390,7 +393,8 @@ tier_migrate_using_query_file (void *_args)
if (!loc.name) {
gf_msg (this->name, GF_LOG_ERROR, 0,
DHT_MSG_LOG_TIER_ERROR, "Memory "
- "allocation failed.\n");
+ "allocation failed for %s",
+ uuid_utoa (query_record->gfid));
per_link_status = -1;
goto abort;
}
@@ -412,8 +416,8 @@ tier_migrate_using_query_file (void *_args)
NULL, NULL);
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, -ret,
- DHT_MSG_LOG_TIER_ERROR, "Failed to do "
- "lookup on file %s\n", loc.name);
+ DHT_MSG_LOG_TIER_ERROR, "Failed to "
+ "lookup file %s\n", loc.name);
per_link_status = -1;
goto abort;
}
@@ -448,11 +452,11 @@ tier_migrate_using_query_file (void *_args)
}
gf_msg_debug (this->name, 0,
- "Tier %d"
- " src_subvol %s file %s",
- query_cbk_args->is_promotion,
- src_subvol->name,
- loc.name);
+ "Tier %s: src_subvol %s file %s",
+ (query_cbk_args->is_promotion ?
+ "promote" : "demote"),
+ src_subvol->name,
+ loc.path);
ret = tier_check_same_node (this, &loc, defrag);
@@ -486,7 +490,7 @@ tier_migrate_using_query_file (void *_args)
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, -ret,
DHT_MSG_LOG_TIER_ERROR, "Failed to "
- "migrate %s \n", loc.name);
+ "migrate %s ", loc.path);
per_link_status = -1;
goto abort;
}
@@ -553,7 +557,7 @@ per_file_out:
} else if (per_file_status == 1) {/* Ignore */
per_file_status = 0;
/* Since this attempt was ignored we
- * decreement the lookup count*/
+ * decrement the lookup count*/
pthread_mutex_lock (&dm_stat_mutex);
defrag->num_files_lookedup--;
pthread_mutex_unlock (&dm_stat_mutex);
@@ -922,29 +926,29 @@ tier_process_brick (tier_brick_list_t *local_brick, void *args) {
}
ret = dict_set_str (ctr_ipc_in_dict, GFDB_IPC_CTR_KEY,
- GFDB_IPC_CTR_GET_DB_PARAM_OPS);
+ GFDB_IPC_CTR_GET_DB_PARAM_OPS);
if (ret) {
gf_msg ("tier", GF_LOG_ERROR, 0,\
- LG_MSG_SET_PARAM_FAILED, "Failed setting %s "
+ LG_MSG_SET_PARAM_FAILED, "Failed to set %s "
"to params dictionary", GFDB_IPC_CTR_KEY);
goto out;
}
ret = dict_set_str (ctr_ipc_in_dict,
- GFDB_IPC_CTR_GET_DB_PARAM_OPS, "");
+ GFDB_IPC_CTR_GET_DB_PARAM_OPS, "");
if (ret) {
gf_msg ("tier", GF_LOG_ERROR, 0,\
- LG_MSG_SET_PARAM_FAILED, "Failed setting %s "
+ LG_MSG_SET_PARAM_FAILED, "Failed to set %s "
"to params dictionary",
GFDB_IPC_CTR_GET_DB_PARAM_OPS);
goto out;
}
ret = dict_set_str (ctr_ipc_in_dict,
- GFDB_IPC_CTR_GET_DB_KEY, "journal_mode");
+ GFDB_IPC_CTR_GET_DB_KEY, "journal_mode");
if (ret) {
gf_msg ("tier", GF_LOG_ERROR, 0,
- LG_MSG_SET_PARAM_FAILED, "Failed setting %s "
+ LG_MSG_SET_PARAM_FAILED, "Failed to set %s "
"to params dictionary",
GFDB_IPC_CTR_GET_DB_KEY);\
goto out;
@@ -956,7 +960,7 @@ tier_process_brick (tier_brick_list_t *local_brick, void *args) {
ctr_ipc_in_dict, &ctr_ipc_out_dict);
if (ret || ctr_ipc_out_dict == NULL) {
gf_msg ("tier", GF_LOG_ERROR, 0,
- DHT_MSG_LOG_TIER_ERROR, "Failed getting"
+ DHT_MSG_LOG_TIER_ERROR, "Failed to get "
"journal_mode of sql db %s",
local_brick->brick_db_path);
goto out;
@@ -965,8 +969,8 @@ tier_process_brick (tier_brick_list_t *local_brick, void *args) {
ret = dict_get_str (ctr_ipc_out_dict, "journal_mode", &strval);
if (ret) {
gf_msg ("tier", GF_LOG_ERROR, 0,
- LG_MSG_GET_PARAM_FAILED, "Failed getting %s "
- "to params dictionary"
+ LG_MSG_GET_PARAM_FAILED, "Failed to get %s "
+ "from params dictionary"
"journal_mode", strval);
goto out;
}
@@ -1010,11 +1014,11 @@ tier_build_migration_qfile (demotion_args_t *args,
query_cbk_args_t *query_cbk_args,
gf_boolean_t is_promotion)
{
- gfdb_time_t current_time;
+ gfdb_time_t current_time;
gfdb_brick_info_t gfdb_brick_info;
- gfdb_time_t time_in_past;
- int ret = -1;
- tier_brick_list_t *local_brick = NULL;
+ gfdb_time_t time_in_past;
+ int ret = -1;
+ tier_brick_list_t *local_brick = NULL;
/*
* The first time this function is called, query file will
@@ -1024,7 +1028,7 @@ tier_build_migration_qfile (demotion_args_t *args,
ret = remove (GET_QFILE_PATH (is_promotion));
if (ret == -1) {
- gf_msg_trace (args->this->name, 0,
+ gf_msg_trace (args->this->name, errno,
"Failed to remove %s",
GET_QFILE_PATH (is_promotion));
}
@@ -1036,7 +1040,7 @@ tier_build_migration_qfile (demotion_args_t *args,
if (ret == -1) {
gf_msg (args->this->name, GF_LOG_ERROR, errno,
DHT_MSG_SYS_CALL_GET_TIME_FAILED,
- "Failed to get current time\n");
+ "Failed to get current time");
goto out;
}
time_in_past.tv_sec = current_time.tv_sec - time_in_past.tv_sec;
@@ -1351,7 +1355,7 @@ tier_start (xlator_t *this, gf_defrag_info_t *defrag)
gf_msg (this->name, GF_LOG_INFO, 0,
DHT_MSG_LOG_TIER_STATUS, "Begin run tier promote %d"
- " demote %d", freq_promote, freq_demote);
+ " demote %d", freq_promote, freq_demote);
defrag->defrag_status = GF_DEFRAG_STATUS_STARTED;
tier_conf = &defrag->tier_conf;
@@ -1684,8 +1688,8 @@ tier_init (xlator_t *this)
ret = dht_init (this);
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, 0,
- DHT_MSG_LOG_TIER_ERROR,
- "tier_init failed");
+ DHT_MSG_LOG_TIER_ERROR,
+ "tier_init failed");
goto out;
}
@@ -1694,15 +1698,15 @@ tier_init (xlator_t *this)
ret = tier_init_methods (this);
if (ret) {
gf_msg (this->name, GF_LOG_ERROR, 0,
- DHT_MSG_LOG_TIER_ERROR,
- "tier_init_methods failed");
+ DHT_MSG_LOG_TIER_ERROR,
+ "tier_init_methods failed");
goto out;
}
if (conf->subvolume_cnt != 2) {
gf_msg (this->name, GF_LOG_ERROR, 0,
- DHT_MSG_LOG_TIER_ERROR,
- "Invalid number of subvolumes %d", conf->subvolume_cnt);
+ DHT_MSG_LOG_TIER_ERROR,
+ "Invalid number of subvolumes %d", conf->subvolume_cnt);
goto out;
}