无论如何,Endeca似乎在这里并不受欢迎
问题:
不小心杀死了一个正在运行的基线更新进程,并且锁被遗留在某个地方。
我希望找出剩余锁在哪里,并手动删除它。
基线更新脚本返回的不是那么有用的消息:
信息:根据现有 EAC 配置检查 AppConfig.xml 中的定义。 信息:定义没有改变。 信息:启动基线更新脚本。 警告:获取锁失败。 ...结束
或者,任何人都可以提供一些有关 endeca 文档的链接(无需登录凭据)也会有所帮助。
实时调频
如果正在运行的部署模板脚本由于未处理的异常而在其执行过程中中断,或者在运行时被用户按 Ctrl-C 手动中断,则锁定仍然在 EAC 中设置。
在 Windows 上:.\runcommand.bat LockManager releaseLock update_lock
在 UNIX 上:./runcommand.sh LockManager releaseLock update_lock
如果默认锁名称未更改(update_lock),上述两种方法都将起作用
假设您正在使用他们的部署模板,我会在“控制”目录中保留一个 .bat 文件,因为它有时会派上用场。
例如,在 Windows 机器上创建一个 .bat 文件,其内容为:
rem runcommand.bat/sh LockManager releaseLock update_lock
call %~dp0..\config\script\set_environment.bat
call %~dp0runcommand.bat LockManager releaseLock update_lock
就他们的文档而言……您必须在他们的支持网站上注册。我在别处没见过。
对于与 Endeca 集成的 ATG(或“Oracle Web Commerce”)应用程序,当通过 Dyn Admin 中 ProductCatalogSimpleIndexingAdmin 组件的 GUI 中的“取消”按钮取消正在运行的基线索引操作时,可能会发生这种情况。后续基线更新将失败,直到在 Endeca 端采取手动操作来释放锁定。
(我已经看到与 Endeca 3.1.1 集成的 ATG 10.1.2。)
根据我与 Oracle Support 的对话,这被认为是一个错误——“BUG 17298595 - 从 SimpleIndexingAdmin 取消基线不会释放更新锁定”——并且有一个 ATG 修补程序可用。
从应用程序的文件夹运行release_update_locks.sh
(或.bat
在 Windows 的情况下)脚本。control