Jelastic 1.9.3

In this document you can find all the new features, enhancements and visible changes included in the Jelastic Platform-as-Infrastructure 1.9.3 release:

For detailed information on using any of Jelastic features, please refer to the users' documentation.

Features and Improvements

A. Scalability and Performance Improvements


Jelastic GC Agent

Garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program. As a result, you can reduce your costs by not paying for unused resources.

In order to release reserved memory, but at the same time unused RAM by JVM to OS, Jelastic uses a special Garbage Collector agent.

Jelastic GC agent is enabled for all newly created Java application servers.

It works only for two kinds of Garbage Collection: -XX:+UseParNewGC (if -Xmx < 8000m) -XX:+UseG1GC (if -Xmx >= 8000m)

These parameters can be customized but if you specify any other GC manually, then calling full GC will be disabled.

By default, the Garbage Collection process is run every 15 minutes (beginning from every JVM start) to force the release of unused application memory. The period of checks can be changed based on your requirements. You can also switch to debug mode.


This solution is unique and originally devised by Jelastic engineers to improve your application memory management and as a result, to reduce the RAM usage.

Back to the list of Features and Improvements


1. Zend OPcache

Zend OPcache is now enabled by default, which results in a performance improvement of up to 40%. Zend OPcache speeds up PHP execution by opcode caching and optimization.

Apache and Nginx (php: 5.3, 5.4, 5.5) include OPcache extension enabled via etc > php.ini:

The default size and other OPcache settings can be configured via the php.ini file by changing the following parameters:

  • opcache.enable=1
    enable/disable OPcache extention

  • opcache.memory_consumption=64
    set the amount of memory to use (megabytes)

  • opcache.interned_strings_buffer=8set the amount of memory to be used for storing internal strings (e.g. classnames)

  • opcache.max_accelerated_files=4000the maximum number of files to be cached

  • opcache.revalidate_freq=60the frequency of checking file timestamps for changes to the shared memory storage allocation

  • opcache.fast_shutdown=1
    enable/disable a fast shutdown sequence for accelerated code

  • opcache.enable_cli=1
    enable/disable the OPcache for the CLI version of PHP

More info

Back to the list of PHP improvements

2. Change the Number of Workers Automatically

The number of workers for processing PHP requests is increased automatically in an Apache server depending on the cloudlets amount configured by a user.

To check this, click Config for your Apache app server and navigate to the conf > httpd.conf file.

Find and remember the Max Clients value. After that, change the topology of your environment by increasing or decreasing the cloudlet limit for your server.

Return to the conf > httpd.conf file. As you can, see the number of Max Clients has increased/decreased.

Note that this function will be disabled if you remove the following string from the httpd.conf file:# Jelastic autoconfiguration mark

More info

Back to the list of PHP improvements

3. Custom Settings of mod_security

mod_security is a super handy Apache module which provides such abilities as simple filtering, URL and Unicode encoding validation, auditing, null byte attack prevention, upload memory limits, server identity masking, built in chroot support and many more.

This module is available in Jelastic by default and can be configured via conf.d > mod_security.conf file.

Here you can edit the default configurations or add your own custom settings.

For example, you can add additional ModSecurity Rules. For this you simply need to upload your custom rule to the modsecurity.d folder. It will be automatically activated by the Include modsecurity.d/*.conf string available in the conf.d > mod_security.conf file by default.

More info

Back to the list of PHP improvements

B. Database Improvements

Shared MyAdmin-jel.conf, phpPgAdmin and couchdb.conf files

Starting with this release, users have access to the MyAdmin-jel.conf (for MariaDB and MySQL), phpPgAdmin (for PostgreSQL) and couchdb.conf (for CouchDB) files. They are located in the conf.d folder.

These files can be edited in order to set appropriate criteria for allowing or denying access by IP address or domain to the application with the database on an Apache web server level.

More info

Back to the list of Database improvements

2. Killing Processes for Releasing RAM

When your environment lacks RAM, the processes with high memory consumption are killed by OOM killer to release the resources. The order of disabling the processes is specified by OOM conditions.

Now the oom_score_adj is used to make less essential processeses killed primarily (httpd processes). Only if more RAM is still needed to be released, the MySQL processes are going to be killed.

Back to the list of Database improvements

3. Backup of Several MongoDB Databases

Making backups is a rather important part of the development process as a guarantee of your data security and integrity. Jelastic lets you schedule your database backups so you can always restore the last copy of your information in case of occasional data loss. For this, we provide a special backup script for databases, which you can configure based on your own needs.

In this release we’ve improved the MongoDB database backup script. For now, you can use it for backing up several databases. Just specify the necessary configurations as it is described in the MongoDB Databases Backup instruction.

More info

Back to the list of Database improvements

4. Changes in Database Default Configurations

In this release, the following default configurations for all databases were changed in the php.ini file as follows:

upload_max_size = 1024MB
post_max_size = 1024MB
max_execution_time = 600
max_input_time = 600

This results in the ability to upload big dumps. Such changes are implemented to all new and earlier created containers except the containers with your custom settings, i.e. if you configured these parameters manually based on your requirements.

Back to the list of Database improvements

5. Database Hostname Placeholder for Email

After database creation, you receive a message with the link to the admin page and credentials. Now, with the help of a newly added placeholder ${DB_HOST}, you can also use a DB hostname string (database URL without http:// prefix) in the mentioned email template.

This prevents clarifying the necessary connection string customers should use in place of localhost. Mentioning the host as a separate option makes it more visible and understandable for users.

To provide your customers with DB hostname string just place this ${DB_HOST} placeholder into the required email (note that it should be added to each localized email if you use several languages)

Back to the list of Database improvements

C. HTTP Transport Error

While performing any actions in the Jelastic dashboard (like creating an environment, app deploying, building a project, restarting your app etc.) you could possibly face the problem of a HTTP transport error arising due to some Internet issues. As a result of the disconnection, the action you have started would be fully stopped and you would have to start everything again.

Now the situation is radically improved. The disconnection will simply suspend the process which is already started until the connection is reestablished. After that, the last request will be reinitiated and the process completed without any need to create any additional settings.

Back to the list of Features and Improvements

D. Monitoring Improvements

1. Environment Poller System Improvements

Poller is a system developed for monitoring users' environments. It determines outages of an end-user application by periodically executing (with a stated interval) checks of all running environments of all billing users.

Starting with 1.9.3 version, the Environment Poller system monitors only paid users applications as they are supposed to be running 24x

  1. In addition, the list of checks are reduced to just sending the HTTP request to the application entry point.

By default this system is disabled. To activate it, you need to navigate to JCA > System settings > jelastic (expert mode) and change the value of the jelastic.poller.disabled parameter to false.

The schedule of checks is set to every 5 minutes. This frequency can be changed via the qjob.dbquery_report.cron_schedule parameter by stating the required schedule.

In this release, we also added the support of environment exclusions in order to exclude test instances from the report. This can be done via jelastic.poller.exclude.env.list parameter. You just need to specify the list of environment domains which should not be taken into consideration while polling.

All these configurations can be done via the JCA panel. Note, that after changing the settings you need to, select Apply and restart the Jelastic instances (this will be fixed in the next release).

More info

2. Zabbix Monitoring System Update

In order to monitor the main parameters of Jelastic infrastructure and cluster components such as hardware and infrastructure nodes, the Zabbix Monitoring Solution is used. It is a software that monitors numerous network parameters, servers health and integrity.

Currently Jelastic is using Zabbix Version 2.2. As a result, the old version of Zabbix is going to be backed up and the new version will be installed.

The Zabbix system is now installed on one container (server and database) without any division. In such a way, the server processes the data and redirects only the required part to the database that decreases the load and makes the process of monitoring faster. Now, the database will be automatically updated while upgrading to a new version. This will decrease the time required for monitoring updates.

The Zabbix agent is installed on every node. It collects data according to items and sends it to the Zabbix server for the further checks. The list of checks and triggers have been increased in this release. In addition, the status page for billing was improved.

Jelastic provides a set of already created and configured hosts (hardware nodes and infrastructure nodes). Also, there is the possibility to add some new hosts. Starting with this release the nodes can be added automatically.

Also in this release, we added support for Web scenarios templates. With the help of these templates, monitoring can be easily configured for controlling the performance and availability of web applications.

Back to the list of Features and Improvements

E. Billing Improvements

1. Updated Billing History Display

Using the Billing history option you can monitor the charges applied for consumed resources. To make this even more convenient, we have modified the way of presenting the billing data.

Here, you can specify the desired start / end dates and the time period interval to view the billing data. The billing history is displayed by time period, with the corresponding charges to the right. Use the plus button icon to expand the view to reveal additional details about resource usage.

The data is grouped by the environments. Each environment in the list can be expanded to see the information about charges applicable to each server within the environment. The servers of the environment are listed in alphabetical order. After them, the Public IP and SSL are listed and their price is stated if they are enabled in the environment.

In the Billing history table you can see the number of fixed and flexible cloudlets consumed, the amount of paid traffic and the sum charged for each type of server or service (Public IP and SSL).

The total charges between the selected dates are calculated for you at the very bottom of the list.
More info

2. WHMCS Integration with the Jelastic Billing System

In this release, we implemented one more billing system – WHMCS. It is a universal billing solution for hosting services with an intuitive and user-friendly interface. This billing integration uses Universal Adapter for Integrating with an In-house Billing System concept (CEBI) and is based on tight API integration using WHMCS primarily as a payment gateway, to refill a Jelastic customer’s balance.

WHMCS supports its extension using new add-on modules. As a result, we have implemented a Jelastic Add-on Module which is responsible for:

  • Implementation of Jelastic CEBI rest API
  • Execution of callbacks to Jelastic about success orders and invoice payments
  • Storing the information about the compatibility of the payment methods with a particular user, that provides the ability to refill the user’s balance automatically via the Jelastic dashboard

SSO on behalf of a particular user is also implemented direct from Jelastic to WHMCS. It is used to display the payment processing page and the list of orders and invoices in the Jelastic dashboard.

More info

3. Support of Universal Payment Plugins in PBA

By being integrated with PBA billing system, Jelastic supports three PBA plugins:

  • pba_direct
  • pba_redirect
  • pba_cash
  • pba_universal Universal PBA plugin is added starting with this release. This plugin can be used together with the Redirect one. As Redirect plugins do not save the data for repeat transactions, they can’t provide the ability to refill the accounts automatically. In such a way, the Universal plugin can perform this function of setting automatic payments.

To use the Universal plugin and make the required configurations via JCA go to > System settings > jbilling (expert mode). Find the external.billing.plugin.json.config parameter and enter the required data.

State the types of the plugins - both pba_redirect and pba_universal - with all required parameters:


Note, that you need to add “hideFromNew”:“true” parameter for pba_universal in order to remove the added payment methods from the “Add new payment method” list.

More info

4. Customization of the Icons and Text for Configured Payment Methods

While setting the billing plugins, you can customize the icons and text in the pop-ups that are going to be displayed for the configured payment methods in the dashboard. The end-user will see these icons and text while refilling the account and choosing the method to pay with.

"caption":[                 # localizable caption that will be displayed to customer in the dashboard
      "locale":"en",        # locale code in ISO 639-1. e.g. en,ru
      "text":"PayPal"       # localized to particular language caption
   }, {
"hint":[                    # localizable hint that will be displayed to user on mouse hover
      "locale":"en",        # locale code in ISO 639-1. e.g. en,ru
      "text":"PayPal payment1"  # localized hint that will be displayed to user on mouse hover
"titleIcons":[              # relative paths or urls to icons. All stated icons will be joined into 1 long icon
      "keyword":"PayPal",   # substring of payment method name that uniquely identifies this payment method. Usually this string correlates to payment plugin\gateway name in External billing system
      "path":"paypal.png"   # path to icon file represented as relative path or URI

   }, {

More info

5. Customization of the Upgrade Form for PBA and WHMCS

While upgrading a user needs to fill in a form with a range of required data. Jelastic can now be configured in order to customize this upgrade window for PBA and WHMCS systems.

The default upgrade window can be set based on the hoster’s requirements by changing the list order, deleting or adding an extra field. For example, to gather more details about the user during an upgrade you can add such custom fields as client type, Tax ID, citizenship ID, ID issue date, etc.

To configure these fields navigate to JCA > System settings > jbilling (expert mode) and edit the account.convert.json.config parameter.

More info

Back to the list of Features and Improvements

F. UI Improvements

1. Saving Config Edits Automatically

While saving the changes in any config file, you are asked to confirm this action.

We’ve added the line “Do not show this dialog again” to the confirmation window. Tick this option and as a result, all future edits will be saved automatically without asking for confirmation.

This setting will be applied for all types of config files in all of your environments.

More info

Back to the list of UI improvements

2. Stack Load Chart Tooltip in JCA Cluster Tab

Navigate to the Cluster tab in JCA to see a number of charts, describing different statistics on your cluster and containers load.

We’ve implemented one more usability improvement to the Stacks load diagram. While hovering over the particular stack chart, you will see a tooltip appear. This tooltip displays the stack’s name, version and the amount of containers with the appropriate stack installed.

More info

Back to the list of UI improvements

G. Site Redesign

Recently we’ve launched our new corporate web-site with a complete redesign of our logo and other materials. For now, it completely reflects Jelastic’s new positioning as a combination of two cloud’s most transformative technologies - Platform-as-a-Service (PaaS) and Infrastructure-as-a-Service (IaaS).

The new Jelastic site is optimized for enterprises, hosting service providers OEMs and developers. More detailed information about each market solution can be found in the corresponding sections of our site:

Find useful tips in our redesigned documentation (Hosting Center) and at the new Video page. Stay tuned with our Blog posts and News & Events. Keep in touch with the Jelastic community via StackOverflow where our forum was moved in order to dramatically improve the experience of providing assistance with various technical questions from our customers.

Feel free to leave your feedback about our new site in order to improve it even more.

Back to the list of Features and Improvements

H. Hosting Provider Resolution for Mobile Application

Hosting Provider Resolution is now implemented for the Jelastic mobile application which helps to automate the process of accessing the dashboard of the required hosting provider.

When a user enters their account credentials to access the dashboard via the Mobile app, a special service checks the availability of this user at every Jelastic hosting provider. Checking is performed via attempting to log in to every hosting provider and collecting sign in statuses (if a user is available or not). After this procedure, all of the collected information is transferred to the user’s mobile application.

As soon as the information is received by the client’s application, a user will be automatically signed in to the dashboard of the hosting provider he/she registered with, along with the provided credentials. In the case there are several matches (a user is registered at several hosters with the same credentials) he will be asked to choose the desired one from the list of available.

After selecting a particular hosting provider this choice will be remembered and in future, the user will be logged in to this provider by default without the necessity to enter credentials again.

Back to the list of Features and Improvements

I. Software Stack Versions

The component templates are updated to the latest versions:

Tomcat 77.0.47
Jetty 66.1.26
Java 61.6.0_45
Java 71.7.0_45
PostgreSQL 88.4.18
PostgreSQL 99.3.1
Centos 66.4

More info

Back to the list of Features and Improvements

Bug Fixes

In the tables below you can see the lists of the bug fixes in Jelastic PaaS 1.9.

  1. They are grouped due to the following categories:


JE-13545Rewrite-handler is added to new Jetty build
JE-12079Cloning environments, changing topology and evacuating to other nodes may fail due to the short timeout setting
JE-12012Java applications of a certain size can not be deployed, because of timeout in the deployment verification function, which was increased from 40 sec to 3 minutes
JE-11965Application cannot be deployed with Maven plug-in
JE-11926Cloned container with enabled public IPv4 has invalid routes. In some cases it causes timeouts during WAR files deploy
JE-11887Ability to deploy archive with “root” context as independent project
JE-11877Autodeploy for SVN projects does not work
JE-11725Running environment fails due to timeout expiration
JE-11638If you add VCS project with already existing name, the old one will be overwritten
JE-10826GlassFish support was improved. Fixed bug relates to cloning GlassFish environment
JE-10794Impossible to establish remote connection to EJB with GlassFish
JE-8891Incorrect displaying of HelloWorld application hosted in environment with SSL

Back to the list of Bug Fixes


JE-12267Apache can return 502 error page when doing DB import due to restricted configuration
JE-12010Memcached module error in PHP environments
JE-7492PHP version of HelloWorld package includes Java word in social networks sharing

Back to the list of Bug Fixes


JE-14351Gem list is not updating from
JE-14343Custom SSL problems in Ruby
JE-14341Fixing Gemfile parsing
JE-14340Full gem support with dependencies added
JE-14336Fixing restart problems
JE-14332Support of SVN gem sources
JE-14327Fixing Ruby auto deploy process. Environment stuck on production.
JE-12250JAVA application servers are displayed instead of Ruby servers for ruby-only user groups
JE-11774Cron file “ruby” is absent
JE-11532Incorrect displaying ruby version in JCA: “ruby ruby…”
JE-11492Add project checkbox ‘check out’ is cutted
JE-11491Incorrect permission in folder ‘webroot’: buttons ‘delete’ and ‘rename’ is blocked
JE-11330Can deploy to Ruby environment only English localized projects
JE-12124No response via https for environments with Custom SSL

Back to the list of Bug Fixes


JE-13451Incorrect parsing of credit cards that have “expire_date” equal to “never”
JE-13446Too many digits after comma in “refill balance” form
JE-10935Default (according to spreadsheet) pricing should be set after Jelastic installation
JE-9842In billing history, one month is now counted due to correct calendar month days, not just 30 days constant
JE-9756No costs consumption for SSL and IPv4 usage is displayed in billing history

Back to the list of Bug Fixes


JE-13431Checkout to branch in git wasn’t applied after initial clone operation, but only after first update
JE-13232Kernel modules nf_conntrack_ftp, nf_nat_ftp are now being monitored by Jelastic. In case if they are not loaded on any of hardware nodes in a cluster - jelastic automatically load them.
JE-11565In case the newly deployed VCS project overwrote the same named earlier deployed project, the auto-update functionality could not be disabled

Back to the list of Bug Fixes


JE-13380Restricted access to the PostgreSQL container via SSH
JE-13342This fix gives ability to transfer headers with size <32Kb over the Resolver. There were issues when users application did not work because of that and resolver replied 502 error.
JE-13227Custom SSL certificates and keys are left in the cloned environment
JE-13151If internal IP for VDS is allowed, routes aren’t added to the internal network
JE-12988Jelastic can not parse long mount point name
JE-12781DNS database does not store CNAME record for VDS with Public IP in internal zone. So all non-existing records in DNS database have Resolver(s) IPs in case of addressing to VDS from the other container (environment).
JE-12656Wrong environment URL in email if Jelastic SSL is enabled
JE-12444Basic DNS requires SOA update when you change record
JE-12261502 error handling was fixed for external domains that were bound to Resolver’s external IP
JE-12118Each database server now has logs directory available through FTP
JE-10831Validation for IPtables modules added
JE-10828Validation for external domains binding from internal zone added
JE-10643More informative error message about adding duplicate IP entries in pool
JE-8858Wrong VDS hostname: centos5 instead of centos6
JE-8080After installing app from the package manager the email without link to environment is received
JE-1227User can get “Cannot lock the Container” error when stopping environment or doing other manipulations in a Dashboard, due to lack of synchronization between container functions

Back to the list of Bug Fixes


JE-12021Upgrade trial account tab doesn’t appear after clicking the appropriate button
JE-11732“Email is already registered” error while trying to sign up unregistered user
JE-11263User with “view only” rights in JCA can edit and publish emails
JE-10517In JCA, when making edits to system settings, changes do not get applied and no error message is displayed
JE-10070Incorrect “contact support” link in login screen when account is suspended
JE-9707Auto-authentication link to change topology wizard periodically doesn’t work
JE-8584Session crashes after attempt to sign in with the same customer using Sign in as user feature in JCA
JE-8583Message about account creation at the Sign Up form isn’t refreshed after language changing
JE-8354If you doesn’t perform any actions in JCA for some time you got “not authenticated (session [null] not exist)”
JE-8271Creation\editing of environment ends with error in the case user’s session became invalid
JE-7934Changing password during environment creation causes 702 error (session crashing)
JE-6151“Your account has been deactivated…” dashboard error message for the destroyed user

Back to the list of Bug Fixes


JE-12285Emails are not sent after the update
JE-12008Some mail clients interpret HOSTER_EMAILS_LOGO value in different ways.As a result Hivext logo is used instead of original one
JE-11793Users are receiving “Out of resources” notification in language other than they selected in Dashboard
JE-11120Some unnecessary placeholders are checked in the emails
JE-10855Unable to cancel the usage of custom email template

Back to the list of Bug Fixes


JE-12737Wrong groups quota value after editing in JCA
JE-12275current_balance parameter value differs in JCA and ActiveCampaign dashboard
JE-11559After user group’s name changing via JCA it is impossible to change the name back to the initial one
JE-11119Groups list in JCA isn’t refreshed after newly created group deletion
JE-10984Success result in audit log if user action does not have “result” and “duration” fields
JE-10038In dashboard environment is displayed while in JCA it is missing
JE-9855The costs consumed for billable traffic are not displayed in the JCA billing history
JE-9817In JCA, HDD storage consumption was not displayed correctly
JE-9729Empty row in System settings->Links after the platform installation
JE-9501Wrong bars colours in JCA > Cluster tab -> Stacks load chart
JE-8940In JCA the charts aren’t displayed after the first Cluster tab choosing
JE-7337Amount with zero (six numbers) appeared in funding history in JCA
JE-5023JCA ‘Containers’ report now display only active containers as it should measure the number of container-hours

Back to the list of Bug Fixes


JE-11698Node’s CPU statistics at dashboard summarize the usage instead of aggregation
JE-11683Running out of resources notifications are sent for unused environments
JE-9960Statistics goes down after infra node is rebooted via “halt”

Back to the list of Bug Fixes


JE-13900JPS: Description isn’t localized in dashboard
JE-11966Float menus at dashboard are unavailable while environment is under some action
JE-11806Temporary files stay in the storage after upload to container was completed
JE-11771Inability to copy the informational URLs at dashboard wizard
JE-11769Can change cloudlet limits for turned off nodes at the topology wizard
JE-11501Button for nodes selecting is blocked after upload in config manager
JE-11372Action log line about saved changes in file doesn’t appear after saving, only after refresh
JE-10196Empty queries in How do I…? box should be ignored
JE-9211After deletion the archive became invisible even if the method has not returned the response
JE-8917Sub folders with the same name are not displayed in Config Manager after refreshing
JE-5194Now the archive can’t be deployed to the environment if any actions are performed with it

Back to the list of Bug Fixes


JE-13154ac_integration script fails if user exists in Active Campaign but does not exist in Jelastic DB
JE-12521From now VZ shaper will be disabled by default on infrastructure hardware node. In past it caused issues with bandwidth on resolver
JE-12461High Availability: incorrect health state detecting that caused incorrect decision on resolver deactivation
JE-12310Can’t refresh environment state due to the transaction confusion
JE-12075Spare output was suppressed from actions.log which was throwing from the system after NGINX restart
JE-11929Kernel module iptable_filter is added to regular monitoring by jem-hn on each hardware node in cluster, in case if module is unloaded it will be automatically located by Jelastic
JE-11864Incorrect FTP uninstall process
JE-11610Error while starting environment which was manually stopped
JE-11609NGINX monitoring errors on resolvers
JE-11238Automatic VZagent reinstallation after hardware node reboot

Back to the top