从 SQL 服务器获取增量数据时出现 Logstash 异常
Logstash exception while fetching incremental data from SQL Server
我正在使用 LogStash 7.3.2 使用此查询从 SQL 服务器获取增量数据:
select * from mytable where lastupdatetimestamp > :sql_last_value
我还在 logstash 配置文件中指定了 last_run_metadata_path。
它工作正常,但有时会抛出异常:-
Exception when executing JDBC query {:exception=>#
transition (daylight savings time 'gap'): 1942-09-01T00:00:00.000 (Asia/Kolkata)>}
为什么我会收到此异常,由于此异常,它不会保存最后一个时间戳值,并且它会再次从 SQL 服务器获取重复记录。
如有任何帮助,我们将不胜感激。
如前所述here
在 Logstash 中,如果 datetime
字符串没有 TZ part
,则假定为 UTC time
.
如果您知道日期时间是本地时间字符串,那么您需要告诉日期过滤器生成日期的时区。您可以使用 Joda 时区之一,
例如America/New_York
、America/Detroit
或 EST5EDT
- 这些仅仅是指向时区 Java 代码的标签,这些代码知道过去一段时间内所有时区的时钟发生了哪些变化。
有关如何跟踪更新的信息,请参阅此页面。 http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html 100
一旦日期时间字符串被转换为时间戳对象(通过日期过滤器),它就被视为 UTC time
。
我正在使用 LogStash 7.3.2 使用此查询从 SQL 服务器获取增量数据:
select * from mytable where lastupdatetimestamp > :sql_last_value
我还在 logstash 配置文件中指定了 last_run_metadata_path。
它工作正常,但有时会抛出异常:-
Exception when executing JDBC query {:exception=>#
transition (daylight savings time 'gap'): 1942-09-01T00:00:00.000 (Asia/Kolkata)>}
为什么我会收到此异常,由于此异常,它不会保存最后一个时间戳值,并且它会再次从 SQL 服务器获取重复记录。
如有任何帮助,我们将不胜感激。
如前所述here
在 Logstash 中,如果 datetime
字符串没有 TZ part
,则假定为 UTC time
.
如果您知道日期时间是本地时间字符串,那么您需要告诉日期过滤器生成日期的时区。您可以使用 Joda 时区之一,
例如America/New_York
、America/Detroit
或 EST5EDT
- 这些仅仅是指向时区 Java 代码的标签,这些代码知道过去一段时间内所有时区的时钟发生了哪些变化。
有关如何跟踪更新的信息,请参阅此页面。 http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html 100
一旦日期时间字符串被转换为时间戳对象(通过日期过滤器),它就被视为 UTC time
。