Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

While working with Fiorano platform, at some occasion, you may encounter certain unforeseen issues. Following are a few issues and their solutions/workarounds, which help you work seamlessly:

Table of Contents
maxLevel2

 

Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Setting the hostname 

The types of errors encountered when the correct hostname is not set on the machine are:

Code Block
title1: Error caused by java.net.UnknownHostException: SERVER2-SOAServer02: SERVER2-SOAServer02
Failed to lookup manageable properties. Cannot load environment specific properties. Reason Lookup failed for
object named :: EVENTPROCESS2__1_0__OASISDB__MANAGEABLEPROPERTIES.
Reason : fiorano.jms.common.ConnectionFailedException: Kernel I/O error occurred
:: Failed to establish connection with URL:http://localhost:1867;http://10.160.128.73:1867;http://127.0.0.1:1867 and
underlying cause:KERNEL_IO_ERROR

12/07/2015 03:00:47 : SEVERE : Error doing lookup for configuration
Code Block
title2.1: Error occured when the correct hostname is not set in the FES machine and the FPS machine is started
Trying to connect to JMS Provider [Name: FES - Primary URL: http://localhost:1847]

While the error above can be seen on the console, if the user checks the esberr.log file of the peer server in runtime data, the following error can be seen:

Code Block
title2.2: Error displayed in the esberr.log file when the correct hostname is not set in the FES machine and the FPS server is started
fiorano.tifosi.common.TifosiException: GET_TOPIC_CONNECTION_FACTORY_ERROR   :: URL =   http://localhost:1847 :: 
 at fiorano.tifosi.provider.fioranoMQ.FioranoProvider.getTopicConnectionFactory(FioranoProvider.java:113)
 at fiorano.tifosi.tr.JMSConnection.createTopicConnection(JMSConnection.java:315)
 at fiorano.tifosi.tr.JMSConnectionManager.createTopicConnection(JMSConnectionManager.java:298)

Caused by: javax.naming.NamingException: Lookup failed for TCF named :: SERVICEPROVIDERPEERTCF. Reason : fiorano.jms.common.ConnectionFailedException: Kernel I/O error occurred :: Failed to establish connection with URL:http://localhost:1847;http://localhost:1848 and underlying cause:KERNEL_IO_ERROR [Root exception is fiorano.jms.common.ConnectionFailedException: Kernel I/O error occurred :: Failed to establish connection with URL:http://localhost:1847;http://localhost:1848 and underlying cause:KERNEL_IO_ERROR]
Caused by: fiorano.jms.common.ConnectionFailedException: Kernel I/O error occurred :: Failed to establish connection with URL:http://localhost:1847;http://localhost:1848 and underlying cause:KERNEL_IO_ERROR
 at fiorano.jms.runtime.krpc.tcp.FioranoTCPConnectionHelper.a(FioranoTCPConnectionHelper.java:787)
 at fiorano.jms.runtime.krpc.tcp.FioranoTCPConnectionHelper.a(FioranoTCPConnectionHelper.java:276)
Caused by: java.net.UnknownHostException: santosh: santosh: Name or service not known
 at java.net.InetAddress.getLocalHost(InetAddress.java:1466)
 at fiorano.jms.runtime.krpc.tcp.FioranoTCPConnectionHelper.a(FioranoTCPConnectionHelper.java:485)

Caused by: java.net.UnknownHostException: santosh: Name or service not known
 at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
 at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:894)
Code Block
title3: Error occured while adding Breakpoint from eStudio
javax.naming.NamingException: Lookup failed for object named :: PRIMARYQCF. Reason : fiorano.jms.common.ConnectionFailedException: Kernel I/O error occurred :: Failed_to_establish_connection_with_cause::_ {http://localhost.localdomain:1848;http://192.168.xxx.xxx:1847\};
Tip
titleSolution

Check whether the hostname -i command in the terminal / command prompt gives the correct in-use IP address of the host, if not, modify the hosts file.

The hosts file is used by the operating system to map hostnames to IP addresses. To set the hostname, modify the hosts file which contains lines of text consisting of an IP address in the first text field followed by one or more host names. Follow the steps below to modify the file.

For Linux

To edit the hosts file present in the etc folder, perform the actions below:

  1. To open the /etc/hosts file, open the terminal, switch to superuser and use the command:

    Code Block
    gedit /etc/hosts
  2. In the hosts file that opens, locate the old hostname, which resembles one of the lines below:
    1. <ip_address> <your-old-hostname> <your-old-hostname>.<domain>
    2. <ip_address> <your-old-hostname>
       
  3. Replace the old hostname with the correct hostname and save the hosts file.
  4. In the terminal, type the command:

    Code Block
    hostname <new hostname>
  5. To see if the hostname has been set properly, use the command:

    Code Block
    hostname -a

For windows

The hosts file is present in C:\Windows\System32\Drivers\etc\hosts. To modify the file, perform the actions below:

  1. Do one of the following to execute the Run command:
    1. Go to Start > Run
    2. Press Windows key + R
  2. Open the hosts file present at C:\Windows\System32\Drivers\etc in a notepad using the command:

    Code Block
    notepad c:\windows\system32\drivers\etc\hosts
    Note

    A user should have administrative rights to edit the hosts file.

  3. In the hosts file that opens, locate the old hostname which resembles one of the lines below:
    1. <ip_address> <your-old-hostname> <your-old-hostname>.<domain>
    2. <ip_address> <your-old-hostname>
    Code Block
    titleExample
    127.0.0.1 localhost
  4. Replace the old hostname with the correct hostname.
  5. Save the file.

To change the computer name, if required, perform the actions below:

  1. Click on the Start button, right-click Computer, and then select the Properties option.
  2. Under the Computer name tab click the Change settings button.
  3. In the Computer description text field,  type the correct hostname, and then click OK. If the computer is part of a domain,  provide the name and password of an account that has the permission to rename the computer in the domain.
  4. Restart the system following the prompt.
  5. After the system restarts, check the hostname,

    1. Open the command prompt by going to Start > Run and Enter "cmd".

    2. Check the hostname by executing the command:

      Code Block
      hostname
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Peer on Multi-homed machine

If the Peer server is started on a multi-homed machine, and launching EventProcesses is takes considerable time throwing timeout exceptions, then configure the MQ address (working) for the peer as below:

  1. Open FPS profile in Fiorano eStudio.
  2. Navigate through to Fiorano > socketAcceptors > ConnectionManager
  3. Set the ServerAddress property to the desired IP Address.
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Firewall Issues

If a host running the server has a firewall which only allows connections on some specific ports, the firewall will need to be modified to allow connections from other ports.
If the host running the server is a multi-homed host where creating routes or breakpoints is causing problems, check if the connect URL of the server connection factories point to the IP address which is firewalled/barred from accepting connections.

  • If creating routes is causing issues, then:
    • Login to eStudio > ConnectionManagement > FES
    • Change connectURL of peer connection factories to the correct URL so they no longer point to a firewalled IP.
  • If creating breakpoints is causing issues, then:
    • Login to eStudio > ConnectionManagement > FES
    • Change connectURL of PRIMARYQCF, SERVICEPROVIDERQCF, CF, TCF to the correct URL so they no longer point to a firewalled IP.
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

eStudio login issue

If login to a server on remote machine is extremely slow, check if the Windows firewall is ON in the eStudio machine and disable it.
 

Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

File encoding issue

When working with locales other than English, set the encoding property while working with mappings.

  • Add the following in %FIORANO_HOME%/eStudio/eStudio.ini

    Code Block
    -Dfile.encoding=UTF-8
  • Navigate through to eStudio > Window > Preferences > Fiorano > SOA Orchestration > CPS Launch (Tab) > System Properties and add file.encoding as name and UTF-8 as Value.
  • Add file.encoding=UTF-8 at <java.system.props> in %FIORANO_HOME%/esb/fes/bin/fes.conf.

    Note

    In case of multiple esb/fes servers, repeat this step for all esb/fes servers.

  • Add file.encoding=UTF-8 at <java.system.props> in %FIORANO_HOME%/esb/fps/bin/fps.conf.

    Note

    In case of multiple peer/fps servers, repeat this step for all peer/fps servers.

Note
  • If required, other encodings can be used in place of UTF-8.
  • If multi-byte characters are already used in mapper funclets (as constants), existing mappings or characters may get deleted or corrupted because of differences in encoding. Redrawing mappings is recommended when this scenario occurs.
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Client Connections in Peer

If the following error occurs, then increase Client Connections within the Peer server:

Code Block
Cannot perform this operation, limit reached. :: Cannot create more connections as the connection count for this Connection manager has reached the upper limit of X connections
  1. Open FPS profile in eStudio.
  2. Navigate through to Fiorano > socketAcceptors > ConnectionManager.
  3. Set the MaxClientConnectionsCount property to a value higher than 1024.
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

File Handles in Linux

If the following error is encountered, increase the system file handles:

Code Block
Too many files open

Open the file limits.conf present at the location /etc/security and add the following lines at the end of the content:

  • soft      nofile    <noOfFileHandles>
  • hard     nofile    <noOfFileHandles>
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Problems when Non-ascii Chars used in build.properties

If user is running CLI tools on Linux and the Applications/Services names contain non-ascii characters, the process may fail.

To resolve,

  1. Perform any one of the following
    1. either convert the file into unicode
      • native2ascii build.properties > newbuild.properties
    2. reconvert into ISO8859-1
      • iconv -f UTF-8 -t ISO8859-1 build.properties > newbuild.properties.
  2. Use the new build.properties file for CLI tasks.
Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

JRE Problems

If the following error is observed upon running the Fiorano servers when a JRE(at <JRE PATH>) other than the one shipped is used, use the corresponding JDK or copy the JDK's jre\bin\server folder to <JRE PATH>\bin\server directory.

Code Block
Error: no 'server' JVM at '<JRE PATH>\bin\server\jvm.dll'
Tip

For more information, please refer to the link: http://www.oracle.com/technetwork/java/javase/jrereadme-182762.html

Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

HA Troubleshooting

  1. SocketBindException says that the HA Port is already bound
    This exception indicates that some other program that is running on the HA port or the last instance of the server is not properly killed.
    Stop/kill the application which is holding up the port and start the server again or choose a different HA port. When is changed, there needs to be a change in the Backup Server configuration for the Backup Server port.
  2. None of the servers start
    Both the servers are in WAITING state and the Primary Server is trying to connect to its Backup Server.
    This exception indicates that the Backup Server IP and port numbers are wrong for both the server configurations.

    Example: A Server console cannot connect to the Backup Server.

    The figure below illustrates a situation where the server is not able to connect to the Backup Server. If it is already connected, then there is a problem with the configuration. The message prints the IP address and the port to which it is trying to connect to establish the HA channel.
    Check if the Backup Server is running in the printed IP address and port.


    Figure 1: Server unable to connect to the Backup Server
     
  3. One of the HA Servers is switched into Active or Passive Sync and it hangs at that point, but the other server seems to be in a WAITING state for a long time trying to connect to the Backup Server.
    This exception indicates that the configuration for the Backup Servers does not match the server still in the WAITING state, but the Backup Server still connects. This causes the Backup Server to hang indefinitely as it expects a Synchronization Complete Notification which never gets delivered.


    Figure 2: The server hanging in one of the synchronization states
     
  4. Both servers go to Standalone/Active state in replicated/shared mode if the network link between them is broken.
    This can happen if the servers do not refer to the same LockFile.
  5. The server in replicated mode shuts down on boot up
    This happens when the LockFile specified is not valid or the machine hosting the LockFile is not allowing the server to acquire a lock. Figure 3 illustrates the server shutting down on boot up.


    Figure 3: The server shutting down on boot up 

Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Handling "Client ID Already Exists" exception

This error can occur when the FES is force-closed when the breakpoints are in place or when the addition of a breakpoint fails due to some reason on a previous attempt. To resolve this scenario, the client corresponding to the previous connection needs to be removed. Follow the steps below and add the breakpoint again.

Anchor
IDConnect
IDConnect
Identifying the Connection 

  1. Login to the ESB Dashboard. Under the Server Status node, select the Enterprise Server and then Select Connections. 
     
  2. Check for PTP connections related to unclosed break points. The connection names will have the pattern <CLIENT_ID>,<Number> .

    Tip

    Format of Client IDs:
    ESBX_SYSTEM<Event Process Name><Version><RouteName>C
    and
    ESBX
    SYSTEM<EventProcessName><Version><COMPONENT_NAME>_<RouteName>

  3. Copy the ClientIDs.


    Figure 4: Copying the ClientIDs

Closing Identified Connections

Note

All the operations outlined have to be performed within the Connection Management perspective of eStudio.

  1. Log into FES-JMX and navigate to the AdminService node.


    Figure 5: Copying the ClientIDs

  2. Right-click the AdminService node and click ViewOperations. The AdminService dialog box is displayed.


    Figure 6: Viewing Operations

  3. Choose the operation disconnectClient(clientID) and provide the clientIDs from the above section.
     
  4. Click the disconnectClient button. A value 'true' will be seen in the Result tab and the client will get disconnected. 

Verify this by refreshing the dashboard list of connections found in the above section.

Panel
bgColor#6699ff
borderColor#6699ff
borderWidth2

Issues while using SHA-2 certificates for Webservice Consumer

While using SHA-2 certificates for the Webservice Consumer component, there may be issues with keylength. To resolve/eliminate this issue, set the JAVA HOME path in runtime arguments of the component to JDK 1.8 as a prerequisite.

Perform the following actions within eStudio to set the Java Home to JDK 1.8:

  1. Click the WebServiceConsumer component.
  2. In the component Properties, click the Runtime Arguments tab.
  3. On the right side, click the Value cell against JAVA_HOME and provide the location where JDK 1.8 is saved.

    Note

    Download and install JDK 1.8 if it does not exist.


    Figure 7: Providing Java_Home

     

Adaptavist ThemeBuilder EngineAtlassian Confluence