Redshift - 杀死启动Redshift查询的应用程序不会杀死它

时间:2015-10-26 12:36:02

标签: java amazon-redshift

我有一个执行Redshift COPY命令的java应用程序。应用程序不是作为服务编写的,所以我强行终止进程以阻止它。 java应用程序会立即被终止,但是当Java应用程序被杀死时,即使Redshift COPY命令仍在进行中,它仍继续在Redshift上运行并成功完成。

这不是我期待的行为。我期待一旦与Redshift的连接终止,COPY命令将终止,并且COPY命令将回滚。

我需要一些设置吗?

1 个答案:

答案 0 :(得分:1)

在分布式系统和客户端 - 服务器应用程序中,这个问题被认为是分布式系统,通常不依赖于节点之间的持续通信。如果你一方面杀了你的JDBC客户端,服务器就不会自动取消你的SQL查询,因为它不知道你是否杀了你的查询生成器,或者你只是有一些网络中断。如果每次短暂的网络打嗝,你将不得不再次运行你的COPY命令,这在某些情况下可能需要几分钟/小时。

取消查询的“正确”方式是CANCEL您的查询。