Usecase 1

When the user changes the JVM settings in either bwcommon.tra or bwappnode.tra, located in the in the BW_HOME/bw/6.3/bin folder the following changes take place.

Existing AppNodes

  • Before setting the JVM Parameters - If not specified explicitly, the default values of JVM parameters for each AppNode are applicable. These values are commented out by default. These are the settings that an AppNode takes when created, and if the JVM parameters are already set at the AppSpace level, those settings take effect. For more information, see Usecase 2.
  • After changing the JVM parameters and without restarting the AppNodes - No changes in the AppNode settings.
  • After changing the JVM parameters and AppNode restart - The changes are applied to all the AppNodes in all the AppSpaces in the environment. You must handle this change very carefully because, though it allows you to maintain uniformity across all the AppNodes, if the same settings are not required for all AppNodes, this usecase is not very useful.

    For example, if the maxium heap of an existing AppNode is not explicitly specified, it is 1 GB by default. However, if the maxium heap in the files, bwcommon.tra or bwappnode.tra, is changed to a higher value at some point of time, a lot of memory is allocated to the existing AppNodes when they are restarted. This may not be a requirement for some AppNodes.

    On the other hand, if the memory allocated in the files, bwcommon.tra and bwappnode.tra, is changed to a lower value such as 512 MB, on restart the existing nodes will have maxium heap of 512 MB. This may not be sufficient for an AppNode that has a higher memory requirement. This can lead to instability in the environment along with mismanagement of resources particularly in terms of memory.

New AppNodes

Changes get applied to any new AppNodes that are created in that particular AppSpace. AppNodes created in any other AppSpace have no impact. Any new AppNode created after setting the JVM parameters contains the new settings. If the memory requirement of the AppNode is not aligned with the settings in bwcommon.tra or bwappnode.tra, it can lead to various issues.

For example, if the maxium heap setting in the bwcommon.tra or bwappnode.tra is very low, a newly created AppNode may run into issues at startup if it has a higher requirement. Hence, setting the JVM parameters in bwcommon.tra and bwappnode.tra must be done carefully, taking into account factors like specific AppNode requirements and anticipating the memory requirements of AppNodes to be created in future.