Discussion:
[Gluster-users] gluster task id is not cleared causing tier start failure
Jeevan Patnaik
2018-11-26 10:27:31 UTC
Permalink
Hi,

When I'm trying to start tiering, it gives me the following error:
Tiering Migration functionality: volname: failed: A remove-brick task on
volume socuserwork is not yet committed. Either commit or stop the
remove-brick task.

I tied rebalance-brick commands when the tiering was enabled, but I didn't
run any remove brick command, as I remember.

From Trace log of glusterd:
I'm able to see that it's failing at prevalidation and looking at source
code, the following function should return true if the so task is committed
or stopped. But i think it's returning false for some reason. I'm unable to
find out the details of the task:

/*A task is committed/completed once the task-id for it is cleared */
gf_boolean_it
gd_is_remove_brick_committed(glusterd_volinfo_t*volinfo)
{
GF_ASSERT(volinfo);
if ((GD_OP_REMOVE_BRICK == volinfo -> rebal.op) &&
!gf_uuid_is_null(volinfo->rebal.rebalance_id))
return _gf_false;
return _gf_true;
}

I am not good with C. So I couldn't further troubleshoot to find out what's
the volinfo or other values it's referring to :(
If Somehow I could find the task details, I maybe able to clear this error.

Regards,
Jeevan
Jeevan Patnaik
2018-11-27 07:03:18 UTC
Permalink
Hi,

I'm assuming from its name, the following file might being checked for
this: nodestate.info
I'm trying to find what these values means. Any ideas ande how to reset it
for all nodes without disturbing the checksum?

rebalance_status=8
rebalance_op=9

Regards,
Jeevan.
Post by Jeevan Patnaik
Hi,
Tiering Migration functionality: volname: failed: A remove-brick task on
volume socuserwork is not yet committed. Either commit or stop the
remove-brick task.
I tied rebalance-brick commands when the tiering was enabled, but I didn't
run any remove brick command, as I remember.
I'm able to see that it's failing at prevalidation and looking at source
code, the following function should return true if the so task is committed
or stopped. But i think it's returning false for some reason. I'm unable to
/*A task is committed/completed once the task-id for it is cleared */
gf_boolean_it
gd_is_remove_brick_committed(glusterd_volinfo_t*volinfo)
{
GF_ASSERT(volinfo);
if ((GD_OP_REMOVE_BRICK == volinfo -> rebal.op) &&
!gf_uuid_is_null(volinfo->rebal.rebalance_id))
return _gf_false;
return _gf_true;
}
I am not good with C. So I couldn't further troubleshoot to find out
what's the volinfo or other values it's referring to :(
If Somehow I could find the task details, I maybe able to clear this error.
Regards,
Jeevan
Loading...