A Oracle Jolt Exceptions
This appendix describes all the Oracle Jolt exceptions that you may encounter. Keep in mind that the Jolt Class Library returns both Oracle Jolt and Oracle Tuxedo exceptions.
For details about Oracle Tuxedo exceptions, refer to the appropriate document in the following list:
The Jolt Class Library exceptions are listed for each class, constructor, and method listed in the Oracle Jolt API Reference.
The following table lists the Oracle Jolt and Oracle Tuxedo exceptions that you may encounter while running Oracle Jolt. Each exception includes a possible cause (or causes) and a recommended action (wherever possible) to help resolve the situation.
Exceptions | Description | |
---|---|---|
1.TPEABORT |
A transaction could not commit | |
Cause | This exception occurs because a transaction could not commit on the server side. This exception may also occur if the JSH performs a message resend for a commit that has timed out due to a previous blocking condition. In Oracle Tuxedo, you can get this exception if tpcommit() is called with outstanding replies or open conversation connections.
|
|
Action | Check transaction failures on the server side. Oracle Jolt clients should resend the request after the transaction problem has been fixed on the server side. | |
2.TPEBADDESC |
This exception should not occur in Oracle Jolt. | |
Cause | In Oracle Tuxedo, this exception usually occurs when an invalid caller descriptor is given to tpgetrply() or tpsend() .
|
|
Action | None. | |
3. TPEBLOCK |
A blocking condition has occurred and the TPNOBLOCK flag is specified in Oracle Tuxedo. | |
Cause | This exception occurs because the server is backed up. | |
Action | You may need to re-examine and re-architect the application to handle extreme load cases. | |
4.TPEINVAL |
Invalid arguments were given by the application. | |
Cause | This exception occurs if a new JoltSession class is processed before performing the security protocol. In Jolt’s URL handler routine, this exception occurs when a invalid challenge response is received by the openConnection() method. The TPEINVAL exception can also occur if you specified a hexadecimal address for the JSL -H option without a leading “0x ” , or if you entered a wrong address in UBBCONFIG file. In addition, the GETREC() , DELREC() and GETSVC() services in JREPSVR can return TPEINVAL if the REPNAME is missing. Also, the ADDREC() service in JREPSVR can return TPEINVAL if the REPVAL is not specified.
|
|
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
5.TPELIMIT |
The maximum number of outstanding requests or subscriptions has been reached. | |
Cause | The maximum number of outstanding requests has been reached. This exception could also mean that the Oracle Tuxedo System Event Broker's maximum number of subscriptions (50 internally defined for now) has been reached. | |
Action | You may need to re-examine and re-architect the application to handle load extreme cases. | |
6.TPENOENT |
The requested service is not available. | |
Cause | Usually, the requested service is not booted or advertised on the Oracle Tuxedo server side. It is also possible that the requested service is not defined in the Oracle Tuxedo Service Metadata Repository. This exception could also indicate that you could not access the Oracle Tuxedo System Event Broker. | |
Action | You need to check the server side to see if the service is booted or advertised. Otherwise, check to see if the requested service is defined in the Oracle Tuxedo Service Metadata Repository. After the service is available on the server side, Jolt clients should resend the request. | |
7.TPEOS |
An operating system exception has occurred. | |
Cause | The exact nature of the problem is described in the ULOG file. Typically, you can get this exception due to the memory allocation failures, wrong network address, or failure to attach to the Bulletin Board for the JSL. | |
Action | Try fixing the problem as described in the ULOG file. Jolt clients might need to reconnect or resend the request after the problem has been fixed. | |
8.TPEPERM |
There is a permission problem when attempting to join a session. | |
Cause | In the JoltSession class, this exception occurs because the Jolt client does not have the permission to join the application. Permission may be denied based on an invalid application password, failure to pass application specific authentication, or the use of restricted client names. In the Jolt URL handler routing, this exception occurs when a bad challenge response is received on the openConnection() method. If the Oracle Tuxedo Service Metadata Repository is set to read-only, the ADDREC() and DELREC() services, or the GARBAGECOLLECT() service in JREPSVR , also return the TPEPERM exception.
|
|
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
9.TPEPROTO |
A function was called in an improper context. | |
Cause | For this exception, an improper context could include a rollback() or commit() method called by a participant, an unsubscribe event that is called while “unsubscribe all” is in progress, or when the caller is not a client.
|
|
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
10.TPESVCERR |
A service routine has encountered an exception during tpreturn() or tpforward() in Oracle Tuxedo. |
|
Cause | The service routine is returning application-level failures, which may include any of the following: an application calls tpreturn() or tpforward() with invalid flags, the caller descriptor is no longer valid, or there are invalid return values.
|
|
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
11.TPESVCFAIL |
The service routine sending the caller's reply called tpreturn() with TPFAIL . |
|
Cause | The service routine is returning application-level failures. | |
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
12.TPESYSTEM |
An Oracle Tuxedo system exception has occurred. | |
Cause | The exact nature of the exception is written to the ULOG file. For example, when performing the Diffie-Hellman encryption, this exception occurs if the JSH is unable to send negotiation parameters. The JSL fails to send the reply challenge call to the Jolt client. The Jolt client sends an incorrect timestamp value, an incorrect number of encrypted bits value, an incorrect ticket value, or timestamp mismatches in reconnect protocol. The JSL fails to initialize network protocol information, or could not establish a listening address on a network. The JSH receives a network message with an unknown context or receives a message with a different connection. | |
Action | In most cases, you need to find out the exact nature of the exception from the ULOG file on the server side. In case of hardware or network failures, you can try to reconnect if a hardware or network failover is available. | |
13.TPETIME |
A transaction timeout has occurred. | |
Cause | There is a transaction timeout on the server side. | |
Action | This type of exception should be addressed on the application server side. Jolt clients should resend the request after the server side problem has been resolved. | |
14.TPETRAN |
The requested service belongs to a server that does not support transactions and TPNOTRAN is not set. |
|
Cause | A transaction is not supported for the requested service. | |
Action | This type of exception should be addressed on the application server side. Jolt clients should resend the request after the server side problem has been resolved. | |
15.TPGOTSIG |
An unexpected signal was received | |
Cause | A signal was received and the TPSIGSTRT flag was not specified.
|
|
Action | None. | |
16.TPERMERR |
A resource manager failed to open or close correctly on the server side | |
Cause | The resource manager might not be available; or all the resource might not be released or committed before close. | |
Action | Check the ULOG file for reasons why the resource manager failed to open or close on the server side. | |
17.TPEITYPE |
For the JoltRemoteService class, the requested Oracle Tuxedo service does not recognize the type and subtype of the input data. | |
Cause | The type and subtype of input data is not defined in the Oracle Tuxedo Service Metadata Repository. | |
Action | The type and subtype of input data should be defined in the Oracle Tuxedo Service Metadata Repository. This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
18. TPEOTYPE |
For the JoltRemoteService class, the Oracle Tuxedo caller does not recognize the type and the subtype of the reply data. | |
Cause | The type and subtype of output data is not defined in the Oracle Tuxedo Service Metadata Repository. | |
Action | The type and subtype of output data should be defined in the Oracle Tuxedo Service Metadata Repository. This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. | |
19.TPERELEASE |
This exception should not occur in Oracle Jolt. | |
Cause | Usually, this exception occurs when an unsolicited notification message is sent from a server with the TPACK flag set, and the target is a Jolt client from an older release of Oracle Jolt that does not support the acknowledgment protocol.
|
|
Action | Verify that the correct version of Oracle Jolt is installed on your machine. This type of exception should have been handled during the application development cycle. You should not receive this exception in an production environment. | |
20.TPEHAZARD |
Due to some failure, the work done on behalf of the transaction may have been heuristically completed. | |
Cause | Check the ULOG file on the server side for details. | |
Action | None. | |
21.TPEHEURISTIC |
Due to a heuristic decision, the work done on behalf of the transaction was partially committed and partially aborted. | |
Cause | Check the ULOG file on the server side for details. | |
Action | None. | |
22.TPEEVENT |
This exception should not occur in Oracle Jolt. | |
Cause | Usually, this exception means that an event has occurred when sending or receiving a message in a conversational connection in Oracle Tuxedo. However, conversational server connections are not available in Oracle Jolt. | |
Action | None. | |
23. TPEMATCH |
The JoltUserEvent class has implemented a subscription to an asynchronous notification event, but the subscription has failed because it matches an existing subscription. | |
Cause | The subscription failed because it matched one already listed with the Oracle Tuxedo System Event Broker. | |
Action | None. | |
24.TPEDIAGNOSTIC |
This exception should not occur in Oracle Jolt. | |
Cause | Usually, this exception occurs when enqueuing or dequeuing a message from the specified queue fails in Oracle Tuxedo. However, enqueing and dequeing of messages is not available in Oracle Jolt. | |
Action | None. | |
25.TPEMIB |
This exception should not occur in Oracle Jolt. | |
Cause | Usually, this exception occurs when an administrative request via tpadmcall() has failed in Oracle Tuxedo. However, TMIB calls are not available in Oracle Jolt.
|
|
Action | None. | |
26.TPEJOLT |
This exception indicates there is a problem in Oracle Jolt. | |
Cause | The TPEJOLT exception could occur for any of the following reasons:
|
|
Action | This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment. |