Just noticed this strange behaviour on deployment-restbase0x: when a call to Parsoid results in ECONNREFUSED, RESTBase exists cleanly:
root@deployment-restbase02:/# systemctl status restbase ● restbase.service - LSB: REST storage API and backend orchestration layer Loaded: loaded (/etc/init.d/restbase) Active: active (exited) since Mon 2015-05-18 08:47:26 UTC; 37min ago Process: 11558 ExecStart=/etc/init.d/restbase start (code=exited, status=0/SUCCESS)
What makes it really peculiar is the fact that if RESTBase is started manually (even as the restbase user), such thing does not occur, i.e. RESTBase keeps on running.
In both cases RESTBase returns the appropriate error JSON, which points to the fact that the exit occurs after closing the client connection.
Further investigation reveals this possibly to be the fault of the gelf logger: when logging to stdout/syslog (regardless of the way the service is started - manually or via systemd), RESTBase remains alive, but as soon gelf is introduced, the service exists right after ECONNREFUSED is received from Parsoid. The explanation might lie in the fact that the generated error-message JSON sent to the logger is 1950 bytes long.
More investigation to follow.