[frs-282] Hotfix FR-2539: Slow or fragmented networks can cause FusionReactor to under-read HTTP requests


Hotfix 2539 for FusionReactor 4.0.3 – Description

This technote supplies a hotfix to fix an issue whereby FusionReactor would fail to read the second and subsequent chunks of an HTTP request, on networks where the request had been fragmented.

Symptoms

Large HTTP requests (for instance form submissions from FusionReactor's user interface) are not processed in their entirety:

  • Configuration, while appearing to save correctly, is only partially applied;
  • FusionReactor shuts down a socket transaction while data is still travelling;
    • You see a browser error page in this case.

Analysis

FusionReactor's internal webserver has a primitive buffer to coalesce incoming requests. It believes that the first chunk of data supplied by the TCP/IP stack contains the whole request.

This is not always true:

  • When the size of the source message is greater than a single ethernet frame (1500 bytes, minus headers)
  • and the receiving server was not able to coalesce the received frames into a single message
    • this can happen on busy networks where the frames comprising the HTTP request are interleaved with other data
    • or there is an intermediate ethernet switch, or other network link with a smaller frame size (e.g. ATM 53-byte cell)

The resolution is to make the receiver buffer more aggressive about consuming subsequent data chunks.

Resolution

Customers with FusionReactor 4.0.3 only should apply the attached Hotfix 2539, which resolves the issue.

Instructions for applying the hotfix are supplied in instructions.txt within the hotfix zip file.

Customers with 4.0.x versions prior to 4.0.3 should use the latest 4.0.x install/updater package from the FusionReactor website to update their FusionReactor Administration Manager instance (and then the individual instances in Instance Manager), then apply this hotfix.

Cumulative Hotfixes

Hotfixes are cumulative: any future hotfixes on the FusionReactor 4.0.x stream, up to but not including the next minor point release (4.1.0), will contain this hotfix (and all earlier hotfixes since the last point release).

The installer/updater for the next minor point release (4.1.0), will roll up and install all previously-issued issued hotfixes.

We may decide, at our discretion, to release a full suite of installers on the 4.0.x maintenance stream at some future point. This will also incorporate hotfixes whose version numbers are the same or less than that of the installer. This means that this hotfix will be included in a potential future installer whose version is 4.0.4 or greater.

Included Hotfixes

  • None.

Files

hotfix-FR-2539.zip

Taxonomy

After installation, FusionReactor's "About" page should identify itself as Revision: 4.0.3, Build: n/a.n/a.n/a (this is an ad-hoc build with no detailed build taxonomy).

~Hotfix FR2539- obf. (Stream: FR-4.0.3-REL)

Issue Details

Type: Technote
Issue Number: FRS-282
Components: FusionReactor Settings
Environment:
Resolution: Fixed
Last Updated: 22/Nov/11 1:39 PM
Affects Version: 4.0.0, 4.0.1, 4.0.2, 4.0.3
Fixed Version: 4.0.4, 4.5.0
Server:
Platform:
Related Issues: