When we upsert DropChildViewTask entries into SYSTEM.TASK, the TASK_TS field which is designated as a ROW_TIMESTAMP always gets the HConstants.LATEST_TIMESTAMP value instead of the current server-side wall clock time.
The main side-effect of this bug is, subsequent creation and dropping of the same base table will not upsert new DropChildViewTasks into the SYSTEM.TASK table.
Steps to reproduce:
1) Start HBase server with 4.15.0 Phoenix
2) Create a base table and a view on top of that base table:
3) Drop the base table with the cascade option:
4) Observe the SYSTEM.TASK table:
--> gives the following:
That timestamp is basically HConstants.LATEST_TIMESTAMP.
5) Recreate the base table and view, then drop the base table, then observe SYSTEM.TASK again (Steps 2 to 4) and no new DropChildViewTask is added for the base table created the second time
Thus, the views are still there and this seems to be an issue with the ROW_TIMESTAMP being assigned HConstants.LATEST_TIMESTAMP.