Skip to content

Commit

Permalink
[#207] Ensure global name reported is accurate in case of a TP restar…
Browse files Browse the repository at this point in the history
…t in tp_tend (where gv_currkey is not relevant)
  • Loading branch information
nars1 committed Apr 25, 2018
1 parent ff74a41 commit 603c081
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions sr_port/tp_restart.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,15 @@ int tp_restart(int newlevel, boolean_t handle_errors_internally)
{
gvname_mstr.addr = (char *)gvname_dirtree;
gvname_mstr.len = gvname_dirtree_len;
} else if ((cdb_sc_blkmod == status) && (tp_blkmod_tp_tend == TREF(blkmod_fail_type)))
{ /* This is a BLKMOD restart with type tp_blkmod_tp_tend (note that we cannot check
* TREF(blkmod_fail_type) unless it is a cdb_sc_blkmod). In tp_tend, "gv_currkey"
* does not make sense as the validation there could have failed for a GDS block
* corresponding to one or more global references that happened in the TP transaction
* much before the TCOMMIT. All we can do is provide the unsubscripted global name of
* interest in the TPRESTART syslog message.
*/
gvname_mstr = gvt->gvname.var_name;
} else
{
if (NULL == (end = format_targ_key(buff, MAX_ZWR_KEY_SZ, gv_currkey, TRUE)))
Expand Down

0 comments on commit 603c081

Please sign in to comment.