Using Oracle Jolt

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

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

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 Jolt 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 Jolt 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 Jolt 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 Jolt Repository.
Action
The type and subtype of input data should be defined in the Jolt 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 Jolt Repository.
Action
The type and subtype of output data should be defined in the Jolt 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:
  • JoltSession class—the send(), recv() or cancel() methods throw TPEJOLT if the session object or message ID is invalid.
  • JoltSession class—throws TPEJOLT when TPINIT data conversion fails.
  • bea.jolt.pool.connection class—throws TPEJOLT when a run-time exception occurs.
  • JoltRemoteService—the call() method throws TPEJOLT when the buffer conversion between Oracle Jolt and Oracle Tuxedo fails, the requested service is not defined in the Jolt Repository, the requested service does not the right version, or the reply data conversion fails.
  • JoltUserEvent class—throws TPEJOLT when event name conversion fails, an invalid message ID is encountered, or unsolicited message data conversion fails.
Action
This type of exception should have been handled during the application development cycle. You should not receive this exception in a production environment.


  Back to Top       Previous  Next