抛出不可用的Vertica DB:用于查询锁定失败的启动程序锁:超时X锁定

时间:2022-08-31 06:52:07

I am repeatedly getting this error while trying to run client application which runs query on vertica database table.

在尝试运行在vertica数据库表上运行查询的客户端应用程序时,我不断地收到这个错误。

Can someone help to fix this issue ?

有人能帮忙解决这个问题吗?

2 个解决方案

#1


1  

I wonder which kind of "queries" you client application sends to Vertica (SELECTs running in READ COMMITTED mode do not require locks).

我想知道您的客户端应用程序将哪种“查询”发送到Vertica(选择以读提交模式运行不需要锁)。

Anyhow... first step, check who/what is using your locks:

不管怎样…第一步,检查谁/什么在使用你的锁:

select * from locks ;

Then check the session_id from sessions.

然后检查会话中的session_id。

Now you can:

现在您可以:

Option 1: just wait

选项1:等待

Option 2 close the session: select close_session('<session_id>') ;

选项2关闭会话:选择close_session(' ');

Option 3 increase the lock timeout in configuration parameters

选项3增加配置参数中的锁超时

Option 4 ... depends on what/why is using your locks ...

选项4…取决于什么/为什么使用你的锁……

#2


1  

This is not my answer but it fixed the error:

这不是我的答案,但它修正了错误:

See the LockTimeout configuration parameter:

参见LockTimeout配置参数:

select * from configuration_parameters where parameter_name = 'LockTimeout';

从configuration_parameters中选择*,其中parameter_name = 'LockTimeout';

Note that it says to change it only under the guidance of support :-) I don't recall if there's a way to say wait forever, but I also wouldn't recommend doing that. Sometimes you really do want it to timeout, especially when you do something silly or just don't expect what's happening to be happening.

请注意,它只在支持的指导下改变它:-)我不记得是否有一种方法可以永远等待,但我也不建议这样做。有时你真的希望它暂停,尤其是当你做了一些愚蠢的事情,或者只是不希望发生什么事情的时候。

--Sharon

——沙龙

url http://www.vertica-forums.com/viewtopic.php?t=702

url http://www.vertica-forums.com/viewtopic.php?t=702

#1


1  

I wonder which kind of "queries" you client application sends to Vertica (SELECTs running in READ COMMITTED mode do not require locks).

我想知道您的客户端应用程序将哪种“查询”发送到Vertica(选择以读提交模式运行不需要锁)。

Anyhow... first step, check who/what is using your locks:

不管怎样…第一步,检查谁/什么在使用你的锁:

select * from locks ;

Then check the session_id from sessions.

然后检查会话中的session_id。

Now you can:

现在您可以:

Option 1: just wait

选项1:等待

Option 2 close the session: select close_session('<session_id>') ;

选项2关闭会话:选择close_session(' ');

Option 3 increase the lock timeout in configuration parameters

选项3增加配置参数中的锁超时

Option 4 ... depends on what/why is using your locks ...

选项4…取决于什么/为什么使用你的锁……

#2


1  

This is not my answer but it fixed the error:

这不是我的答案,但它修正了错误:

See the LockTimeout configuration parameter:

参见LockTimeout配置参数:

select * from configuration_parameters where parameter_name = 'LockTimeout';

从configuration_parameters中选择*,其中parameter_name = 'LockTimeout';

Note that it says to change it only under the guidance of support :-) I don't recall if there's a way to say wait forever, but I also wouldn't recommend doing that. Sometimes you really do want it to timeout, especially when you do something silly or just don't expect what's happening to be happening.

请注意,它只在支持的指导下改变它:-)我不记得是否有一种方法可以永远等待,但我也不建议这样做。有时你真的希望它暂停,尤其是当你做了一些愚蠢的事情,或者只是不希望发生什么事情的时候。

--Sharon

——沙龙

url http://www.vertica-forums.com/viewtopic.php?t=702

url http://www.vertica-forums.com/viewtopic.php?t=702