logging - MarkLogic - XDMP-NEWSTAMP 异常

标签 logging xquery marklogic marklogic-8 marklogic-9

我们正在使用 MarkLogic-8(具有三个节点 - 每个节点有两个林),并且经常遇到 XDMP-NEWSTAMP 异常。 我们采用默认合并策略,并且不使用任何时间点查询。 但我们确实使用 xdmp:evalxdmp:invoke-fuction(在代码中大量使用)来避免仅读取文档上的 (查询模式)在更新交易中。

除了 XDMP-NEWSTAMP 之外,MarkLogic 文档中也没有与 XDMP-NEWSTAMP 相关的非常全面的信息。并在应用开发者指南时间点查询部分中提及;两者都经历过,但都没有帮助。

请帮助我理解此异常(并分享是否有任何文档包含与此相关的详细信息)。 以下是供引用的日志片段:

2020-07-16 03:07:31.712 Warning: Forest XXX-YY-003 fast query timestamp (15948687770144645) lags commit timestamp (15948688205890165) by 43574 ms
2020-07-16 03:08:03.583 Warning: Forest XXX-YY-003 fast query timestamp (15948687770144645) lags commit timestamp (15948688803306468) by 103316 ms
2020-07-16 03:08:03.632 Info: Merging 2 MB from G:\Forests\xxxx03\000048af to G:\Forests\xxxx03\000048b1, timestamp=15948682803306468
2020-07-16 03:08:03.933 Debug: OnDiskStand G:\Forests\xxxx03\000048b1, disk=3MB, memory=1MB
2020-07-16 03:08:03.934 Info: Merged 3 MB at 10 MB/sec to G:\Forests\xxxx03\000048b1
2020-07-16 03:08:03.960 Debug: Forest xxxx03 setting minQueryTimestamp to 15948682803306468 due to merge
2020-07-16 03:08:04.936 Debug: ~OnDiskStand G:\Forests\xxxx03\000048af
2020-07-16 03:08:07.166 Info: Deleted 2 MB at 703 MB/sec G:\Forests\xxxx03\000048af
2020-07-16 03:08:17.617 Debug: Forest XXX-YY-003 participant 1232761274262892690 not found in participantBumpMinCommitTimestamp()

2020-07-16 03:22:23.750 Info: XXX-WorkApi: Status 500: XDMP-NEWSTAMP: Timestamp too new for forest XXX-YY-003 (15948695621461959)
2020-07-16 03:22:23.750 Info: XXX-WorkApi: Status 500: XDMP-NEWSTAMP: Timestamp too new for forest XXX-YY-003 (15948695621461959)

最佳答案

这可能是由于一些长时间运行的查询造成的。

在 XDMP-NEWSTAMP 之前,该林记录了“快速查询时间戳”消息: https://help.marklogic.com/knowledgebase/article/View/437/0/warning-messages-for-lagging-operations

Every forest has a notion of a "fast query timestamp", also sometimes referred to as a "nonblocking timestamp". This is the maximum timestamp at which a query can run without waiting for the forest's timestamp to advance; it indicates the most current time at which the forest has complete state to answer a query. There are several reasons for forests to have this timestamp.

The first has to do with transaction commits, during which the forest places a finger on the commit timestamp for the duration of the commit. The point of this is to ensure that queries perceive committed transactions to be atomic. There can be multiple (even many) transactions with a finger on various timestamps at any given point in time.

This warning will help flag any problems with overly long transactions that can hold up queries. The warning helps flag the lag issue earlier, rather than later.

关于logging - MarkLogic - XDMP-NEWSTAMP 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62995471/

相关文章:

tomcat - Jersey - 不扫描资源?

xquery - MarkLogic 8 - 使用文档管理和结帐的 XQuery

neo4j - 快速查询上的三元组与 native 图数据库

MarkLogic 元素词查询在 >2 个术语上失败

c# - 我可以防止 StreamReader 在使用时锁定文本文件吗?

qt - 如何使用 QPlaintTextEdit 有效地创建固定宽度的列记录器?

logging - Logstash Web UI 未启动

xml - 日期到日期时间的 XQuery 转换

java - Xquery:使用Java返回多个数据元素?

xquery - 当我尝试更新节点时,出现错误 "Cannot Update constructed nodes"