Skip to content

get_lock() and release_lock() should produce errors #10929

Closed
@morgo

Description

Bug Report

Please answer these questions before submitting your issue. Thanks!

  1. What did you do?

Get_lock and release_lock were added in #1437 for compatibility with rails. But these functions don't do anything, which could be very dangerous.

  1. What did you expect to see?

In two concurrent sessions:

SELECT get_lock('acdc', 5);
SELECT get_lock('acdc', 5);

Maybe this can be handled similar to #10065 where the default is an error, and then you can 'skip' it?

  1. What did you see instead?

The second session should block waiting for 5 seconds.

  1. What version of TiDB are you using (tidb-server -V or run select tidb_version(); on TiDB)?
mysql> select tidb_version()\G
*************************** 1. row ***************************
tidb_version(): Release Version: v3.0.0-rc.1-218-gc12abec6c
Git Commit Hash: c12abec6cb7b19d9fc8f27ea75277f6913afac4a
Git Branch: master
UTC Build Time: 2019-06-25 01:23:34
GoVersion: go version go1.12.1 linux/amd64
Race Enabled: false
TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
Check Table Before Drop: false
1 row in set (0.01 sec)

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions