Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.2.3
-
1
-
Severity 3 - Minor
-
0
-
Description
Summary
When initiating a REST API call, Confluence returns the data in chunked packets contaning small payload. This generates lots of traffic on the network and if you don't have a proxy or a load balancer that can repackage those packets for optimization, you might end up with packets drop or packet retransmission.
Environment
Confluence Server or Data Center
Steps to Reproduce
- Start Confluence
- Login to Confluence and go to Recently Viewed or Recently Worked On (these will trigger rest calls)
- You can also fire a rest call using curl
curl -u admin:admin -X GET http://localhost:8090/confluence/rest/api/content/123456789 | python -mjson.tool
Steps to Monitor the traffic
- Install Wireshark on your client machine
- Start Recording
- Run the curl or refresh the page
- Stop Recording
- Inspect the tcp dump
You will notice the following:
REST Call Request
Expected Results
Confluence responds with an optimal number of packets.
number of packets = (data-in-bytes / max-payload) + 1 (if data-in-bytes % max-payload > 0)
Actual Results
Confluence responds with chunked packets containing little payload which increases the traffic on the network
Workaround
The only workaround is to have a load balancer or reverse proxy that supports network repackaging to optimize that traffic