JSOR messages (Linux only)

A comprehensive set of information, warning and exceptions messages are generated during run time. These messages help you understand RDMA operations and troubleshoot points of failure.

Note: The RDMA implementation is deprecated and will likely be removed in a future release of IBM® SDK, Java™ Technology Edition, Version 8. A possible alternative is the open source Libfabric library.
Improved message information can help you identify the cause of a failure more quickly. Each exception message is provided with more detail. For instance, when an RDMA connect operation fails, a message similar to the following is generated:
Exception in thread "main" java.io.IOException: RDMA connection could not be established 
JSORE: Underlying RDMA connect operation failed 
Reason: Failed to get successful connection established event)]

For example, if there is a timeout during acceptance of the incoming connection, the accept() method on an RDMA ServerSocket object throws a SocketTimeoutException exception with the message RDMA Accept timed out. This message is similar to the Accept timed out message that is thrown by the equivalent TCP/IP scenario.

Exception messages

The following RDMA exception messages might be produced during run time:

Table 1. RDMA exception messages
Exception message Exception type Occurrence stage
Must be a stream socket for RDMA! IOException Socket create
RDMA Socket Closed IOException Socket input / output stream
RDMA Socket input is shutdown IOException Socket input stream
RDMA Socket output is shutdown IOException Socket output stream
RDMA Connection reset SocketException Socket read / write
RDMA Socket closed SocketException Socket read / write
Can't create RDMA Socket IOException Socket create
RDMA socket pointer closed IOException Socket validation
inet address argument null IOException Socket connect / bind
address conversion failed IOException Socket connect / bind / accept
Connection timed out SocketTimeoutException Socket connect
RDMA connection could not be established IOException Socket connect
Start of changes for service refresh 1RDMA connection could not be established to ip_addr/port End of changes for service refresh 1 Start of changes for service refresh 1IOExceptionEnd of changes for service refresh 1 Start of changes for service refresh 1Socket connectEnd of changes for service refresh 1
RDMA bind failed BindException / SocketException Socket bind
RDMA listen failed SocketException Socket bind
RDMA server socket pointer closed IOException Socket accept
Accept timed out SocketTimeoutException Socket accept
RDMA accept failed IOException Socket accept
write failed IOException Socket send urgent data / write
send interrupted InterruptedIOException Socket send urgent data
Invalid option SocketException Socket option
Error setting rdma socket option SocketException Socket option
Error retrieving rdma socket option SocketException Socket option
connection reset ConnectionResetException Socket available
socket already closed SocketException Socket available
operation interrupted InterruptedIOException Socket available
read failed SocketException Socket available / read
Read timed out SocketTimeoutException Socket read
Socket closed SocketException Socket read
select/poll failed SocketException Socket read
operation interrupted InterruptedIOException Socket read or write
Direct Read timed out SocketTimeoutException Socket read direct
Direct Read failed RuntimeException Socket read direct
Direct Write failed RuntimeException Socket write direct
Malformed line xxx RuntimeException Configuration rules processing
Network provider for xxx could not be loaded RuntimeException Configuration rules processing
SocketAction xxx not recognized RuntimeException Configuration rules processing
Less than expected number of arguments xxx RuntimeException Configuration rules processing
Greater than expected number of arguments xxx RuntimeException Configuration rules processing
Malformed port range xxx RuntimeException Configuration rules processing
Malformed prefix xxx RuntimeException Configuration rules processing
Unknown host or malformed IP address xxx RuntimeException Configuration rules processing

Warning messages

RDMA warning messages are prefixed with [JSOR Warning]. The following messages might be produced during run time:
Table 2. RDMA warning messages
Warning message Occurrence stage
Invalid tcp fallback wait time xxx - defaulting to xxx milliseconds Property validation
Invalid com.ibm.net.rdma.tcpFallbackWaitTime property value xxx defaulting to xxx milliseconds Property validation
Invalid timeout parameter xxx - defaulting to zero (infinite timeout) Argument validation
Invalid zero copy threshold xxx - defaulting to xxx KB Property validation
Invalid com.ibm.net.rdma.zeroCopyThreshold property value xxx defaulting to xxx KB Property validation

Native error messages

The following RDMA native error messages might be part of the IOException thrown by JSOR. These native failures are prefixed with [JSORE]:
Table 3. JSOR native error messages
JSOR level 1 native error messages Occurrence stage
JSOR operation completed successfully -
Failed to resolve RDMA user verbs library symbols Network initialization
Failed to query RDMA device attributes Network initialization
Failed to initialize key for runtime threads Network initialization
JSOR runtime internal finalization failed Network termination
Failed to free RDMA user verbs shared library handles Network termination
Failed to allocate memory for new RDMA socket Socket create
Failed to allocate global list entry for created RDMA socket Socket create
JSOR runtime shutdown operation in progress Network termination
Failed to create event channel for RDMA socket Socket connect / bind
Failed to create connection manager identifier for RDMA socket Socket connect / bind
Underlying RDMA connect operation failed Socket connect
Underlying RDMA bind operation failed Socket bind
Inconsistent state for RDMA socket Socket listen / accept
Underlying RDMA listen operation failed Socket listen
Underlying RDMA accept operation failed Socket accept
Underlying RDMA shutdown operation failed Socket shutdown
Socket option not supported for RDMA socket Socket option
RDMA socket's connection manager identifier and/or queue pair invalid Socket available / read / send
Underlying RDMA poll operation failed Socket timeout
Failed to register direct IO buffer Socket read direct
Failed to send/receive start sync signal for direct IO operation Socket read / send direct
Failed to send/receive end sync signal for direct IO operation Socket read / send direct
Failed to transfer data directly to remote endpoint Socket send direct
Underlying RDMA data receive operation failed Socket send
Underlying RDMA data send operation failed Socket send
Invalid JSOR error message code -
Start of changes for service refresh 2 fix pack 10Underlying RDMA poll operation failedEnd of changes for service refresh 2 fix pack 10 Start of changes for service refresh 2 fix pack 10Channel selectEnd of changes for service refresh 2 fix pack 10
Start of changes for service refresh 2 fix pack 10Invalid arguments to RDMA pollEnd of changes for service refresh 2 fix pack 10 Start of changes for service refresh 2 fix pack 10Channel selectEnd of changes for service refresh 2 fix pack 10
The following RDMA error messages provide further detail and are prefixed with Reason:.
Table 4. JSOR native error messages that provide a reason for failure
JSOR level 2 native error messages Occurrence stage
JSOR low level operation completed successfully -
Failed to resolve RDMA destination address Socket connect / accept
Failed to retrieve next pending communication event Socket connect
Address resolution failed even after several tries Socket connect
Failed to get successful address resolution event Socket connect
Failed to resolve RDMA route to establish connection Socket connect
Route resolution failed even after several tries Socket connect
Failed to get successful route resolution event Socket connect
Failed to create RDMA endpoint Socket connect / accept
Start of changes for service refresh 1Failed to create RDMA endpoint - out of memoryEnd of changes for service refresh 1 Start of changes for service refresh 1Socket connect / acceptEnd of changes for service refresh 1
Failed to initiate active connection request Socket connect
Failed to get successful connection established event Socket connect
RDMA connect state is inconsistent Socket connect
Failed to allocate memory for child RDMA socket Socket accept
Failed to accept a connection request Socket accept
Failed to allocate global list entry for child RDMA socket Socket accept
Failed to create connection manager event channel for child Socket accept
Failed to migrate child identifier to new event channel Socket accept
A communication event is acknowledged but not received before Socket accept
Timed out while retrieving next communication event Socket accept
Failed to get next connection request event even after several retries Socket accept
Invalid JSOR sub-level error message code -

Information messages

RDMA information messages are generated during run time to confirm JSOR operations that are taking place.

Table 5. RDMA information messages
Information message Occurrence stage
RDMA socket created Socket create
RDMA socket input stream available Socket input stream
RDMA socket output stream available Socket output stream
RDMA connection established to xxx Socket connect
RDMA socket bound to xxx Socket bind
RDMA socket put in listening mode Socket listen
Accepted RDMA connection request Socket accept
RDMA socket closed Socket close
RDMA socket input/output end closed Socket shutdown
Set RDMA socket option Socket option
Retrieved RDMA socket option Socket option
TCP fallback mode in place Socket accept
RDMA network provider initialized Network initialization
Socket switched to RDMA mode Socket create

If you want to see these messages on the standard terminal, you must enable the system property -Dcom.ibm.net.rdma.debug or Start of changes for service refresh 2 fix pack 10-Dcom.ibm.nio.rdma.debugEnd of changes for service refresh 2 fix pack 10 by setting the value to true. For more information, see -Dcom.ibm.net.rdma.debug (Linux only) or Start of changes for service refresh 2 fix pack 10-Dcom.ibm.nio.rdma.debug (Linux only)End of changes for service refresh 2 fix pack 10.

Start of changes for service refresh 2 fix pack 10The format of information messages includes the hash code of the object that is being referred to. Also, the prefix conveys whether the message displayed is a warning, error, or information message. There are separate messages displayed for NET sockets and NIO socket channels.End of changes for service refresh 2 fix pack 10