Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2036020
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类:

2009-10-11 02:33:55

Analogy to moving your home (in the US):

Commonly when a person moves their home, they send a postcard to their old local post office with their forwarding address. For a temporary time period of perhaps six months or a year, mail addressed to their old address will be forwarded (by their old local post office) to their new home. After this temporary period, mail still addressed to their old address will be returned to the sender as "UNDELIVERABLE".

While this analogy is not a perfect for the PCRE client-server communication, it is a good starting point for understanding the CORBA TRANSIENT error message.

The PCRE client asks the PCRE gateway for a PCRE server. The gateway spawns a server and gives the CORBA reference to this server object to the client. The client then begins its processing. However, the user-configurable orphan server timeout clock begins ticking. With each successful intermediate message between client (middle-tier) and server, the timeout clock is reset.

The default setting is 60 seconds per message. However, this threshold is configurable, both higher and lower, in the registry.

Here are some cases where timeout in connection with the CORBA TRANSIENT error may become an issue:

  • A timeout is forced by a break-point in a debugger.
  • The report gets its data from a DOR dataset but the data acquisition does not follow Dynalivery's best practices. Instead it occurs as part of the report engine processing, rather than before the report engine processing starts.

In these cases, the server may timeout. The client then attempts to use the CORBA reference it received earlier to communicate with a server that isn't there. Since the server is gone, the CORBA reference to that server effectively expires and CORBA doesn't know which object with which it should be talking, so it throws a TRANSIENT error.

There are also cases where the CORBA TRANSIENT error may occur, without a timeout, such as network problems inhibiting communications between Parallel Crystal clients (middle-tiers) and servers.

The CORBA TRANSIENT error has the form:

"com.mobileapps.pcre.PCREServerError: CORBA error: org.omg.CORBA.TRANSIENT: Retries exceeded, couldn't reconnect to

Please note that the CORBA.TRANSIENT Error is not due to high concurrency.

Possible Solutions:

  • Use DOR and acquire report data before report engine processing (Preferred)
    For more information on DOR please refer to the Data Object Reporting section, starting on page 82 in chapter 3, of our developers manual.
  • Increase the orphaned report engine timeout in the PCRESERVER_IDLE_TIMEOUT registry key. (Use with care) For more information on PCRE registry keys please refer to Appendix A of the Developers Manual. (see diagram below)

阅读(1352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~