Upgrading Private Cloud to Version 6.2 and above

Note:

Before upgrading to Infinite BluePlatform 6.5.1.x from any of the previous major releases (like 6.4.x, 6.3.x or 6.2.x), make sure to request a new license for the version 6.5.x.x. Consequently, the server should operate properly once the upgrade is completed.

The following steps describe how to upgrade Platform Private Cloud to Version 6.2 and above:

  1. Stop Tomcat.

  2. Stop Database.

  3. Make a copy of your existing Platform config, storage and rollbase\personalize folders.

  4. Make a copy of your existing third-party jars, E.g. mysql-connect.jar

  5. If you have any custom files, such as FusionCharts, in the webapps folder of your Tomcat instance, copy these to a folder for later use.

    Using your own External Tomcat

    1. Keep third-party jars (e.g. mysql-connect.jar) and tomcat jars in Tomcat lib. Remove all other (Platform) jars.

    2. Delete the following folders from the webapps folder: master, router, prod1, search, storage, rest, webapi
    3. Extract lib.zip to <ROLLBASE_HOME>/lib folder. It contains all Platform jars. If you already have lib folder, delete entire folder and extract again.
    4. Extract rollbase.zip to <ROLLBASE_HOME>
    5. Extract webapps.zip to Tomcat’s webapps folder.
    6. Modify Tomcat’s Catalina.properties file and replace the following line to include Rollbase/lib jars. File is available at <TOMCAT_HOME>/conf/catalina.properties

      common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.base}/rollbase/lib","${catalina.base}/rollbase/lib/*.jar", "${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/rollbase/lib","${catalina.home}/rollbase/lib/*.jar"

  6. Copy all the backed up third-party jars to Tomcat’s lib folder from this path <TOMCAT_HOME>/lib.
  7. Copy all the files from the backed up config folder to <ROLLBASE_HOME>/config folder. Do not copy paste the entire config folder.

    Note: Make sure that the WidgetDefinitions directory and widgetIndexes.json file are existing in the config folder, else the same can be copied from rollbase.zip's config folder. (Applicable only for 6.0 and above versions only)
    Note:
    • In Platform 6.2, in the cluster-config.xml, master-cluster-config.xml, and prod-cluster-config.xml files of the config folder, the <group>…</group> node must be replaced by <cluster-name>…</cluster-name>.

      For instance, replace the following:

      <group>
      <name>rb_global</name>
      <password>rb_global</password>
      </group>

      With the following:

      <cluster-name>rb_global</cluster-name>

    • In the cluster-config.xml file of the config folder, remove the following attribute from the <replicatedmap>… </replicatedmap> node:

      <replication-delay-millis>0</replication-delay-millis>

    If you are using JDK 9 or above, then add the following commands to your Java arguments in your tomcat/bin/setenv.

    Copy
    java --add-modules java.se \
      --add-exports java.base/jdk.internal.ref=ALL-UNNAMED \
      --add-opens java.base/java.lang=ALL-UNNAMED \
      --add-opens java.base/java.nio=ALL-UNNAMED \
      --add-opens java.base/sun.nio.ch=ALL-UNNAMED \
      --add-opens java.management/sun.management=ALL-UNNAMED \
      --add-opens jdk.management/com.ibm.lang.management.internal=ALL-UNNAMED \
      --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED

    For instance, the following commands have been added in the setenv.bat file.

    set JAVA_OPTS=%JAVA_OPTS% --add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED
    set JAVA_OPTS=%JAVA_OPTS% --add-opens java.base/java.nio=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
    set JAVA_OPTS=%JAVA_OPTS% --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED

    Note: When on Java 17, make sure to incorporate the following necessary JAVA_OPTS in the setenv.bat/sh file for specific packages:
    • For DOM-related issues, include the following line:

      JAVA_OPTS=%JAVA_OPTS% --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED

    • For DTM reference-related issues, insert the following line:

      JAVA_OPTS=%JAVA_OPTS% --add-exports=java.xml/com.sun.org.apache.xml.internal.dtm.ref=ALL-UNNAMED

    Any changes made in setenv.bat does require restarting the instance to apply the modifications.

    Likewise, in certain scenarios, even after adding the configurations to setenv.bat/sh, you may need to include the class in the CustomClassFilter shared property. This is essential for white labelling purposes, ensuring access via Rhino.

    For more information, see

    Running in Modular Java.

    Note: If you are upgrading to Platform 6.3 and using GraalJS as a runtime to execute JavaScripts to improve performance, add the following commands to the setenv.bat file.

    set "JAVA_OPTS=%JAVA_OPTS% -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler --module-path=%CATALINA_HOME%/rollbase/lib/graal-sdk-21.1.0.jar;%CATALINA_HOME%/rollbase/lib/truffle-api-21.1.0.jar --upgrade-module-path=%CATALINA_HOME%/rollbase/lib/graalvm_compiler/compiler-21.1.0.jar;%CATALINA_HOME%/rollbase/lib/graalvm_compiler/compiler-management-21.1.0.jar"

    For more information, see GraalVM JavaScript.

  8. Copy the storage folder to the new storage server node.

  9. Copy the personalize folder to <ROLLBASE_HOME>/personalize.

  10. If you saved any custom files from the webapps folder as described in Step 5, copy them into the new installation.

  11. While upgrading to Platform 6.2, ensure that you remove outdated third-party JAR files that have been replaced. Remove the following JAR files:

    • hazelcast-all-3.12.12.jar (replaced with hazelcast-all-4.2.1.jar)

    • elasticsearch-rest-client-6.5.0.jar (replaced with elasticsearch-rest-client-7.14.0.jar)

    • icu4j-67_1.jar (replaced with icu4j-69.1.jar)

    • jackson-core-asl-1.9.5.jar

    • jackson-mapper-asl-1.9.5.jar

  12. In the Rollbase\sql folder, find the appropriate script(s) to update your database. If you are upgrading from a version other than the previous release, you will need to use multiple scripts, starting with the next version higher than your existing installation and continuing until you reach the current script.
  13. Open the sql script(s), and do the following:
    1. Uncomment the section for your database type.
    2. Verify that the sections for other database types are commented out.
  14. Execute the updated sql files.

  15. Start the Tomcat.
  16. After you have upgraded your Private Cloud, follow the steps as described in re-index customer tenants.
Note: To prevent compatibility issues, do not install applications built on a higher Platform version onto a lower version. This may result in unexpected behavior or functionality issues.