开发者社区> 老朱教授> 正文

修复IBM Cognos 亲和力错误

简介:
+关注继续查看

亲和力是什么?

亲和力连接:亲和力连接用来请求,它是报表服务进程(BIBusTKServerMain)一部分(可以理解为线程)。亲和力根据一个请求是否分配给特定的服务还是分布式环境中可以分配给另外一个服务。亲和力在请求和服务之间,它负责确保请求会被传递到合适的服务器上去执行。亲和力请求类型分为三种:绝对亲和力、高亲和力、低亲和力。

绝对亲和力请求:每个报表进程中除了高亲和力请求和低亲和力请求,还有绝对亲和力请求。绝对亲和力请求只能在特定的报表服务上执行,不管是否有负载均衡。取消报表操作是最好的例子,只有在运行报表的服务上才能取消它。绝对亲和力请求就像他的名字-绝对存在(By its very nature, absolute affinity requests are just that – absolute),因此针对此类请求的参数没有包含在ReportNet参数中以免冗余。绝对亲和力请求负责为客户端和服务器创建关联,以确保长时间运行的报表不会超时。绝对亲和力请求在下面的操作中会用到:等待、获取输出、释放。例子:当用户取消一个正在运行的报表时,绝对亲和力连接负责将取消请求传递给运行报表所在进程。
低亲和力请求:低亲和力请求在任意报表进程中能以同样的效率完全执行。低亲和力请求是独立的,在系统处理过程中与其他请求没有任何关联。低亲和力请求包括PDF、HTML报表的第一页。报表:报表查询、报表处理报表认证:元数据检索、查询验证;管理测试数据源、添加对象(文件夹、job、计划任务等等)、请求门户页面

问题产生的背景:

最近公司一个项目搞验收,系统是基于B/S架构,采用了IBM Cognos 10;最近一段时间老是反馈报表打不开,具体错误如下:

Original Error: RSV-BBP-0022 绝对亲和力请求"asynchWait_Request"失败,所请求的会话不存在。 RSV-SRV-0042 回溯: RSReportService.cpp(792): RSException: CCL_CAUGHT: RSReportService::process() RSReportServiceMethod.cpp(241): RSException: CCL_RETHROW: RSReportServiceMethod::process(): asynchWait_Request RSReportServiceHelper.cpp(831): RSException: CCL_THROW: RSReportServiceHelper::absoluteAffinityError()

如图所示:

公司的负责这块技术的同事长时间未解决该问题,也通过搜索网上类似解决办法,均未成功解决;现场项目经理打我电话说用户因为这个问题的存在不肯签字确认功能,影响系统验收进度。

我根据这个问题的现象反馈,找到现场的同事远程检查服务器配置环境和参数,结合网上提供的优化配置方法进行设置,折腾了1个多小时,发现现象依旧;

主要问题现象表现为:

  • 在系统内打开报表的时候,经常提升asynchWait_Request错误信息,参见上图;
  • 如果关闭浏览器再次打开可能就正常;
  • 如果用非IE浏览器打开基本都正常;
  • 如果直接用Cognos的报表URL地址打开就正常;
  • Cognos服务器上打开正常;

这个问题非常的奇怪,唯独用IE,在系统内打开报表就出这样的问题,莫非是技术上存在问题?但是之前的每个项目都是采用同样的技术集成报表页面,几乎不存在这个问题出现,偶尔出现过,都通过修改系统的配置最后解决掉了。

既然配置可以解决,那么马上找出Cognos的优化设置的文档进行参考,

现场的Cognos服务器是IBMX38504颗物理CPU48核心,16G内存,从性能上来说,可配置的空间很大,打开Cognos的服务设置页面,根据IBM的建议,对进程数进行了设置。

还根据百度的文档(可单击访问)对ReportService进行了多方面的参数设置。但是现象依旧存在!而且现象和之前并无差别!证明设置未影响任何内容,也可能优化了性能,但感觉不出,因为之前的报表每个响应成功的话,都是3秒内显示的,故不明显!既然没有解决问题,只能寻求其他的解决途径,经过本人的分析,认为网络也有可能存在问题;

目前系统的网络情况如下:

  • Cognos服务器IP1.x.x.7
  • 应用服务器的IP1.x.x.6
  • 客户机的IP2.x.x.x

简单的来说,客户机和服务器并非同一个网段;为了检查网络情况,开启了多个工具软件,检查Cognos服务器的网络健康情况,发现一切正常。

既然网络无问题,经过思考后,再重新检查问题现象,考虑到如果是单独新开浏览器访问地址就不报错,并且不用IE也不报错,那么会不是IEBug?考虑到以前开发B/S系统的经验,那时候发现iframe会导致Session丢失,会不会是这个原因?

根据分析提供的解决办法:

  • 在客户机的IE菜单中选择[工具]à[Internet选项],出现如下窗口:

  • Cognos服务器的IP地址输入进去
  • 关闭,并重新打开系统内的报表
  • 随意访问各个报表,无论多次操作,均不再报亲和力错误;

至此,问题已经解决,只需要项目经理安排运维人员把客户机的设置配置好,并且更新下用户手册中的描述;特别提醒:一定要写入"本地Intranet",并不是放入"受信任站点"。

在写本文之前,网络上有太多的人搜索"Cognos 绝对亲和力异常"的问题和相似的处理办法,基本上都是不了了之,也不知是否真正解决问题,解决思路都是说进行系统配置之类的,个别提出了在iframe内出错的线索,也未被深究,问题也未得到解决;竟然还有人以'经验'之谈归结于CognosBug,此等Bug是否可以定位为Bug我也不清楚,但解决问题必须要有发散性思维,多多尝试,不要忽视周边的因素而信口开河;认为错误既然是Cognos报的,那铁定就是它有'问题'了!




本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2013/05/28/CognosError.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19689 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24786 0
PostgreSQL 使用逻辑decode实现异步主从切换后,时间线分歧变化量补齐、修复
标签 PostgreSQL , pg_rewind , 时间线 , 变化量 , 业务补齐 背景 pg_rewind类似Oracle flashback,可以将一个数据库回退到一个以前的状态,例如用于: 1、PG物理流复制的从库,当激活后,可以开启读写,使用pg_rewind可以将从库回退为只读从库的角色。而不需要重建整个从库。 2、当异步主从发生角色切换后,主库的wal目录中可能还有
385 0
中国Foscam制造的IP摄像机存在大量漏洞,且未被修复
本文讲的是中国Foscam制造的IP摄像机存在大量漏洞,且未被修复,近日,中国Foscam公司制造的IP摄像机被曝存在多个安全漏洞。而在几个月前,这些漏洞信息就已经提交给了制造商,只是至今未曾修复。此外,还有其他一些品牌会销售Foscam制造摄像机,如OptiCam。
1304 0
duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
转载请说明原出处,谢谢~~:       今天有朋友反映CTextUI控件无法设置宽度,于是修复了这个bug,顺便给Text控件增加了一个自动计算宽度的属性,描述如下       bug出现在EstimeteSize函数,...
950 0
duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug
转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264947         这个bug我在仿酷狗开发日志里提到过,不过后来发现修复的不够好,后来重新修改了代码,并记录到博客。
1193 0
duilib CDateTimeUI 在Xp下的bug修复
转自:http://my.oschina.net/u/343244/blog/370131 CDateTimeUI 的bug修复。
893 0
+关注
3546
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载