Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-20972

Jira can send requests that are too long to handle by a default Bamboo configuration

      Issue Summary

      Jira can be connected with Bamboo through an Application Link. In some cases, Jira can send requests to Bamboo that are too long for it to handle. When it happens, the "HTTP Status 400 – Bad Request" caused by "Exception java.lang.IllegalArgumentException: Request header is too large" error is returned by Bamboo. Both Jira and Bamboo are configured with the "maxHttpHeaderSize" value of "8192 by default (it's an Apache parameter set in the "server.xml" file). Jira should be aware of this default setting and it should adjust the size of its request to match the Bamboo's default "maxHttpHeaderSize" value. It would prevent users from having to troubleshoot this problem and adjusting the "maxHttpHeaderSize" parameter manually.

      Steps to Reproduce

      1. Integrate Jira with Bamboo through an Application Link.
      2. Create a large and busy environment. Jira will finally start sending requests that are too long for Bamboo to handle. You can simulate Jira's long request by executing something similar to the following REST API call.
        curl -i -u USERNAME:PASSWORD 'https://your_bamboo_server.com/rest/remote-link-aggregation/latest/aggregation?globalId=JXKEY-1196&globalId=JXKEY-1565&globalId=JXKEY-1537&globalId=JXKEY-1552&globalId=JXKEY-1576&globalId=JXKEY-1517&globalId=JXKEY-1336&globalId=JXKEY-1600&globalId=JXKEY-1353&globalId=JXKEY-1301&globalId=JXKEY-1337&globalId=JXKEY-1500&globalId=JXKEY-1356&globalId=JXKEY-1221&globalId=JXKEY-1190&globalId=JXKEY-1357&globalId=JXKEY-1138&globalId=JXKEY-1216&globalId=JXKEY-1191&globalId=JXKEY-1481&globalId=JXKEY-1361&globalId=JXKEY-771&globalId=JXKEY-1070&globalId=JXKEY-1163&globalId=JXKEY-1303&globalId=JXKEY-1125&globalId=JXKEY-1367&globalId=JXKEY-1362&globalId=JXKEY-1279&globalId=JXKEY-1601&globalId=JXKEY-1410&globalId=JXKEY-1128&globalId=JXKEY-1334&globalId=JXKEY-3428&globalId=JXKEY-1529&globalId=JXKEY-9&globalId=JXKEY-1354&globalId=JXKEY-1220&globalId=JXKEY-17&globalId=JXKEY-15&globalId=JXKEY-1404&globalId=JXKEY-784&globalId=JXKEY-1411&globalId=JXKEY-1592&globalId=JXKEY-1531&globalId=JXKEY-921&globalId=JXKEY-41&globalId=JXKEY-46&globalId=JXKEY-1256&globalId=JXKEY-48&globalId=JXKEY-1122&globalId=JXKEY-1358&globalId=JXKEY-1262&globalId=JXKEY-1612&globalId=JXKEY-1335&globalId=JXKEY-220&globalId=JXKEY-1229&globalId=JXKEY-1588&globalId=JXKEY-1230&globalId=JXKEY-1539&globalId=JXKEY-929&globalId=JXKEY-350&globalId=JXKEY-1367&globalId=JXKEY-3443&globalId=JXKEY-1582&globalId=JXKEY-1228&globalId=JXKEY-1550&globalId=JXKEY-1352&globalId=JXKEY-1364&globalId=JXKEY-1250&globalId=JXKEY-1349&globalId=JXKEY-1179&globalId=JXKEY-1238&globalId=JXKEY-1518&globalId=JXKEY-673&globalId=JXKEY-1248&globalId=JXKEY-1032&globalId=JXKEY-1581&globalId=JXKEY-1598&globalId=JXKEY-1368&globalId=JXKEY-1365&globalId=JXKEY-1597&globalId=JXKEY-1573&globalId=JXKEY-1538&globalId=JXKEY-1616&globalId=JXKEY-1502&globalId=JXKEY-1524&globalId=JXKEY-1606&globalId=JXKEY-222&globalId=JXKEY-899&globalId=JXKEY-1614&globalId=JXKEY-1417&globalId=JXKEY-447&globalId=JXKEY-1223&globalId=JXKEY-1571&globalId=JXKEY-1572&globalId=JXKEY-2133&globalId=JXKEY-2133&globalId=JXKEY-1133&globalId=JXKEY-1503&globalId=JXKEY-1579&globalId=JXKEY-1501&globalId=JXKEY-933&globalId=JXKEY-1277&globalId=JXKEY-979&globalId=JXKEY-980&globalId=JXKEY-1213&globalId=JXKEY-1578&globalId=JXKEY-1252&globalId=JXKEY-1580&globalId=JXKEY-862&globalId=JXKEY-1159&globalId=JXKEY-1525&globalId=JXKEY-1275&globalId=JXKEY-1276&globalId=JXKEY-3448&globalId=JXKEY-1618&globalId=JXKEY-1109&globalId=JXKEY-1419&globalId=JXKEY-1278&globalId=JXKEY-590&globalId=JXKEY-1466&globalId=JXKEY-1204&globalId=JXKEY-927&globalId=JXKEY-1237&globalId=JXKEY-1594&globalId=JXKEY-1169&globalId=JXKEY-1473&globalId=JXKEY-1154&globalId=JXKEY-3409&globalId=JXKEY-1474&globalId=JXKEY-1062&globalId=JXKEY-1475&globalId=JXKEY-936&globalId=JXKEY-1172&globalId=JXKEY-236&globalId=JXKEY-945&globalId=JXKEY-1205&globalId=JXKEY-1516&globalId=JXKEY-1316&globalId=JXKEY-1341&globalId=JXKEY-789&globalId=JXKEY-1257&globalId=JXKEY-1259&globalId=JXKEY-109&globalId=JXKEY-1551&globalId=JXKEY-1533&globalId=JXKEY-1355&globalId=JXKEY-1493&globalId=JXKEY-1269&globalId=JXKEY-1258&globalId=JXKEY-1236&globalId=JXKEY-937&globalId=JXKEY-1339&globalId=JXKEY-337&globalId=JXKEY-1523&globalId=JXKEY-1360&globalId=JXKEY-1240&globalId=JXKEY-1408&globalId=JXKEY-1226&globalId=JXKEY-1202&globalId=JXKEY-1227&globalId=JXKEY-1509&globalId=JXKEY-1363&globalId=JXKEY-1359&globalId=JXKEY-1054&globalId=JXKEY-1053&globalId=JXKEY-1607&globalId=JXKEY-1369&globalId=JXKEY-938&globalId=JXKEY-1535&globalId=JXKEY-1574&globalId=JXKEY-6&globalId=JXKEY-664&globalId=JXKEY-1260&globalId=JXKEY-1454&globalId=JXKEY-1304&globalId=JXKEY-1149&globalId=JXKEY-143&globalId=JXKEY-1253&globalId=JXKEY-1261&globalId=JXKEY-1519&globalId=JXKEY-1247&globalId=JXKEY-1563&globalId=JXKEY-1251&globalId=JXKEY-368&globalId=JXKEY-1046&globalId=JXKEY-1338&globalId=JXKEY-1631&globalId=JXKEY-1266&globalId=JXKEY-1267&globalId=JXKEY-1351&globalId=JXKEY-1268&globalId=JXKEY-1626&globalId=JXKEY-1520&globalId=JXKEY-947&globalId=JXKEY-1418&globalId=JXKEY-948&globalId=JXKEY-949&globalId=JXKEY-1593&globalId=JXKEY-946&globalId=JXKEY-1162&globalId=JXKEY-950&globalId=JXKEY-951&globalId=JXKEY-1280&globalId=JXKEY-727&globalId=JXKEY-358&globalId=JXKEY-1526&globalId=JXKEY-1255&globalId=JXKEY-1412&globalId=JXKEY-1195&globalId=JXKEY-1300&globalId=JXKEY-1249&globalId=JXKEY-1106&globalId=JXKEY-1299&globalId=JXKEY-1107&globalId=JXKEY-939&globalId=JXKEY-1232&globalId=JXKEY-353&globalId=JXKEY-1203&globalId=JXKEY-1468&globalId=JXKEY-1264&globalId=JXKEY-1615'
        

      Expected Results

      Bamboo will successfully send the data requested by Jira, because Jira is sending requests that Bamboo can handle.

      Actual Results

      Bamboo will send the "HTTP Status 400 – Bad Request" caused by "Request header is too large" response to Jira. In some cases, when connecting through proxy/load balancer, you may see the "HTTP status 404 Not Found" being returned by the proxy/load balancer itself. This response hides the underlying "Request header is too large" Bamboo error.

      Workaround

      You must manually increase the value of the "maxHttpHeaderSize" parameter in the "<Bamboo_Install_Directory>/conf/server.xml" and restart Bamboo to apply the new setting.

            [JSWSERVER-20972] Jira can send requests that are too long to handle by a default Bamboo configuration

              Unassigned Unassigned
              mtyl@atlassian.com Mateusz T
              Affected customers:
              1 This affects my team
              Watchers:
              2 Start watching this issue

                Created:
                Updated: