当 JAVA getAllEntries 方法(视图 class 的)跟随对 FTSearch 方法的调用时,Domino Server 9.0.1 FP3 崩溃

Domino Server 9.0.1 FP3 crashs when JAVA getAllEntries method (of the View class) follows a call to the FTSearch method

我有一个 XPage 应用程序 运行 在 Domino Server 8.5.3 FP6 上没有任何 FTSearch problems.

几个星期以来,我一直致力于迁移到 Domino Server 9.0.1 FP3


现在看来我们必须处理这个bug

记住: 我们在 Domino Server 8.5.3 FP6 上没有问题!

在上面的 IBM 技术说明中,您可以找到一段 解决问题 描述了一种解决方法运行 ViewEntryCollection 上的 FTSearch 而不是 View Object

示例(Domino Server 9.0.1 崩溃):

var nview:NotesView = database.getView("luDocumentsDownloadsHistory");
nview.FTSearch("[Downloader] = Homer Simpson/ncdev");

var col:NotesViewEntryCollection = nview.getAllEntries();

var viewEntry:NotesViewEntry = col.getFirstEntry();

while (viewEntry != null) {
    var tmpEntry:NotesViewEntry = col.getNextEntry();
    viewEntry.recycle();
    viewEntry = tmpEntry;
}

示例(没有崩溃的解决方法):

var nview:NotesView = database.getView("luDocumentsDownloadsHistory");

var col:NotesViewEntryCollection = nview.getAllEntries();
col.FTSearch("[Downloader] = Homer Simpson/ncdev");

var viewEntry:NotesViewEntry = col.getFirstEntry();

while (viewEntry != null) {
    var tmpEntry:NotesViewEntry = col.getNextEntry();
    viewEntry.recycle();
    viewEntry = tmpEntry;
}

但是,此解决方法对我不起作用,因为我必须使用搜索属性来处理 <xp:dominoView var="viewData" search="[FieldName] = FieldValue">。因此,我无法将 FTSearch 调用从 View 移动到 ViewEntryCollection。

知道为什么这个问题 会出现 Domino 9.0.1 FP3 吗?

技术说明还说:

The issue is limited to cases where the search returns more than approximately 16,300 documents (the specific value may vary). The issue does not occur if the method's MaxDoc parameter or the Notes.ini FT_Max_Search_Results are used to limit the value to a value less than 16,300 documents.

FT_Max_Search_ResultsTEMP_INDEX_MAX_DOC 设置为一些合理的值,例如 500。不过,它说任何低于 16,300 的值都是安全的。

状态报告

首先我想说,我们已经向 IBM 报告了我们的问题。

IBM进一步调查的最后问题:

  1. Will you be kind and let me know if you are using in your applications, the LSI_INFO functions?

  2. Can you confirm if the issue was still occurring in Domino 853 but not occurring in Domino 853FP6

The reason I am asking this is that the main suspect in this case seems to be SPR # RGAU8ZRLKH: Xpages: Domino Server Crashing When Hitting Last Page Of A Largeview And Param Ft_max_search_results=99999999

If this is confirmed, we may request an hotfix from our development.

这是我们的发现/答案:

  1. 调用不受支持的 LotusScript 函数 LSI_Info 可能会导致崩溃。但是我们不在我们的应用程序中使用 LSI_INFO 函数。

  2. 我们已经在我们的Domino Server 8.5.3 上卸载了FP6 并进行了一些测试没有任何问题。因此我们无法确认此问题是否仍会出现在 Domino 8.5.3 上。它在 Domino Server 8.5.3 安装(使用和不使用 FP6)上都运行良好。

环境详细信息:

  • Domino 服务器 8.5.3 64 位
  • Windows64位
  • 没有安装修补程序

感谢 IBM Ireland 的人员,他们在识别错误​​方面做得很好。

BUG 已修复,Domino 服务器不再崩溃

我们收到以下消息,其中 link 来自 IBM 的测试修复程序 901FP3HF154_W64.exe,运行完美:

ftp://ftp.ecurep.ibm.com/fromibm/pmr/16502,SGC,618/901FP3HF154_W64.exe

再次感谢 IBM Ireland 的工作人员,他们以非常专业的方式帮助我们解决了问题:)