Write lock when trying to update a partition column

Database

Write lock when trying to update a partition column

Teradata is placing a table-wide write lock when we try to update a partition column. This is affecting the Tpump loads. 

There is no clue in the documentation, please shed some light.

Below are the sample SQl's and Explain Plans.

Teradata Version 13.10.05.02

/*###########*/
create table t ( pi integer,
d char(1),
part byteint)
primary index (pi)
partition by part;

-- single-amp rowhash lock
explain update t
set d = 'Y'
where pi = 2;

1) First, we do a single-AMP UPDATE from all partitions of
CI_TEST2_DB.t by way of the primary index "CI_TEST2_DB.t.pi = 2"
with a residual condition of ("CI_TEST2_DB.t.pi = 2"). The size
is estimated with no confidence to be 19 rows. The estimated time
for this step is 1.30 seconds.
-> No rows are returned to the user as the result of statement 1.
The total estimated time is 1.30 seconds.

-- table lock, why?
explain update t
set d = 'Y', part = 56
where pi = 2;

1) First, we lock a distinct CI_TEST2_DB."pseudo table" for write on
a RowHash to prevent global deadlock for CI_TEST2_DB.t.
2) Next, we lock CI_TEST2_DB.t for write.
3) We do a single-AMP RETRIEVE step from all partitions of
CI_TEST2_DB.t by way of the primary index "CI_TEST2_DB.t.pi = 2"
with a residual condition of ("CI_TEST2_DB.t.pi = 2") into Spool 1
(group_amps), which is redistributed by the rowkey of (
CI_TEST2_DB.t.ROWID) to all AMPs. Then we do a SORT to order
Spool 1 by the sort key in spool field1. The size of Spool 1 is
estimated with low confidence to be 2 rows (36 bytes). The
estimated time for this step is 0.00 seconds.
4) We do a group-AMP MERGE DELETE to CI_TEST2_DB.t from Spool 1 (Last
Use) via the row id. New updated rows are built and the result
goes into Spool 2 (all_amps), which is built locally on that AMP.
Then we do a SORT to partition Spool 2 by rowkey. The size is
estimated with low confidence to be 2 rows. The estimated time
for this step is 11.28 seconds.
5) We do an all-AMPs MERGE into CI_TEST2_DB.t from Spool 2 (Last Use).
The size is estimated with low confidence to be 2 rows. The
estimated time for this step is 1 second.
6) Finally, we send out an END TRANSACTION step to all AMPs involved
in processing the request.
-> No rows are returned to the user as the result of statement 1.
The total estimated time is 12.28 seconds.