hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marton Bod (Jira)" <>
Subject [jira] [Updated] (HIVE-23283) Generate random temp ID for lock enqueue and commitTxn
Date Fri, 24 Apr 2020 10:13:00 GMT


Marton Bod updated HIVE-23283:
    Attachment: HIVE-23283.1.patch
        Status: Patch Available  (was: Open)

> Generate random temp ID for lock enqueue and commitTxn
> ------------------------------------------------------
>                 Key: HIVE-23283
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Marton Bod
>            Assignee: Marton Bod
>            Priority: Major
>         Attachments: HIVE-23283.1.patch
> In order to optimize the S4U scope of enqueue lock and commitTxn, currently a hardcoded
constant (-1) is used to first insert all the lock and ws entries with a temporary lockID/commitID.
However, in a concurrent environment this seems to cause some performance degradation (and
deadlock issues with some rdbms) as multiple concurrent transactions are trying to insert
rows with the same primary key (e.g. (-1, 1), (-1, 2), (-1, 3), .. etc. for (extID/intID)
in HIVE_LOCKS). The proposed solution is to replace the constant with a random generated negative
number, which seems to resolve this issue.

This message was sent by Atlassian Jira

View raw message