Xpages 当JAVA getAllEntries方法(视图类的)跟随对FTSearch方法的调用时,Domino Server 9.0.1 FP3崩溃
我有一个Xpages 当JAVA getAllEntries方法(视图类的)跟随对FTSearch方法的调用时,Domino Server 9.0.1 FP3崩溃,xpages,lotus-notes,lotus-domino,Xpages,Lotus Notes,Lotus Domino,我有一个XPage应用程序,它运行在dominoserver8.5.3fp6上,没有任何FTSearch问题 从几周前开始,我就开始着手迁移到dominoserver9.0.1fp3 现在看来我们必须处理这个问题 请记住:我们在Domino Server 8.5.3 FP6上没有问题 在上面的IBM technote中,您可以找到解决问题的段落 这说明了在ViewEntryCollection而不是View对象上运行FTSearch的解决方法 示例(Domino服务器9.0.1崩溃): 示例(
XPage
应用程序,它运行在dominoserver8.5.3fp6
上,没有任何FTSearch问题
从几周前开始,我就开始着手迁移到dominoserver9.0.1fp3
现在看来我们必须处理这个问题
请记住:我们在Domino Server 8.5.3 FP6上没有问题
在上面的IBM technote中,您可以找到解决问题的段落
这说明了在ViewEntryCollection而不是View对象上运行FTSearch的解决方法
示例(Domino服务器9.0.1崩溃):
示例(无崩溃的解决方案):
但是,这种变通方法对我不起作用,因为我必须使用搜索属性处理
。因此,我无法将FTSearch调用从视图移动到ViewEntryCollection
知道为什么Domino9.0.1FP3会出现这个问题吗?Technote还说:
该问题仅限于搜索返回的文档超过约16300个(具体值可能有所不同)的情况。如果使用方法的MaxDoc参数或Notes.ini FT_Max_Search_结果将该值限制为小于16300个文档的值,则不会出现此问题
将FT\u Max\u Search\u Results
和TEMP\u INDEX\u Max\u DOC
设置为某个合理的值,例如500。尽管如此,它说低于16300的任何东西都是安全的。状态报告
首先,我想说的是,我们已经向IBM报告了我们的问题
IBM需要进一步调查的最后问题:
如果您在应用程序中使用LSI_信息功能,请告诉我,好吗
您能否确认该问题是否仍在Domino853中发生,而不是在Domino853FP6中发生
我问这个的原因是这个案子的主要嫌疑犯
似乎是SPR#RGAU8ZRLKH:Xpages:Domino服务器在
点击大视图和参数的最后一页
Ft_max_搜索结果=9999999
如果这一点得到确认,我们可能会要求我们的开发人员提供修补程序
这里是我们的发现/答案:
调用不支持的LotusScript函数LSI\u Info
可能会导致崩溃。但我们在应用程序中不使用LSI_INFO函数
我们已经在Domino服务器8.5.3上卸载了FP6,并进行了一些测试,没有出现任何问题。因此,我们无法确认此问题是否仍会在Domino8.5.3上发生。它在DominoServer8.5.3安装(有FP6和没有FP6)上都运行良好
环境详情:
- Domino服务器8.5.3 64位
- Windows 64位
- 没有安装修补程序
多亏了IBM爱尔兰公司的人员,他们在识别错误方面做得非常好。错误得到修复,Domino服务器不再崩溃
我们收到了以下消息,其中有一个指向IBM提供的testfix901FP3HF154_W64.exe的链接,该文件运行良好:
再次感谢IBM Ireland的同事们,他们以非常专业的方式帮助我们解决了问题:)如果您当时没有崩溃,我会尝试在第三行添加nview.clear。问题可能是所有条目都试图获取所有内容,而没有考虑到视图已被过滤。我将就此向IBM提出一个支持问题。谢谢您的回答。如果我添加了一个niew.clear
,那么服务器不会崩溃,但我得到的是ViewEntryCollection
中的所有条目,而不是筛选结果。@Georg,你确定看到了另一个SPR#MMQN6L7KJ5事件吗?您是否将NSD与technote中的堆栈跟踪进行了比较?即使看起来是同一个问题,我还是支持弗雷德里克的建议,将其报告给IBM。每个新报告都会在SPR中添加“权重”,使其更有可能在即将到来的修复包中得到修复。@Dave:首先感谢您的回答。刚才,我将Domino服务器的NSD堆栈跟踪与technote中的8.0.x堆栈跟踪进行了比较。我不能确切地说,它们是否几乎相等,但你可以找到许多相等的线…@Dave:这里是相等的线:线程71/84:[nserver:0488:19e8]致命线程(恐慌)ntdll.ZwWaitForSingleObject内核库.WaitForSingleObjectEx注释。OSRunExternalScript注释。FRTerminateWindowResources注释。OSFaultCleanupExt注释。OSFaultCleanup注释。OSNTUnhandledExceptionFilter注释。谢谢您的回答。我知道这种限制,但问题是,我必须处理16300多份文件。在DominoServer8.5.3上,我有超过50000个文档的FTSearch结果,没有任何问题。在这种情况下,notes.ini条目FT\u Max\u Search\u Results
设置为0
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;
}