Troubleshooting (DC)

This page is about Agile Poker for Jira Data Center. Using Cloud? Click here.

This guide helps diagnose and resolve issues you might encounter during Interactive estimation sessions in Agile Poker for Jira Data Center.

Interactive session

Interactive sessions allow teams to estimate together in real time. During the session, users share the session state, and any changes are instantly propagated to all participants. This page describes the communication mechanism behind this functionality and potential issues that may arise in a complex network infrastructure.

Diagnostics page

You can test Agile Poker connection stability using the Diagnostics page in Jira administration. After running the test, send the results to support@appfire.com for further assistance.

The rest of this page will help you if you decide to troubleshoot the problem on your own.

Typical network infrastructure

During Interactive estimation sessions, the following components are involved:

  • Users' computers and mobile phones

  • Corporate reverse proxy server (NGINX, NetScaller, Apache, etc.)

  • Apache Tomcat hosting Jira Server (usually comes with the Jira installation)

  • Jira Server instance

  • Agile Poker Enterprise installed on Jira Server

Relations between the aforementioned components are shown in the diagram below:

image-20240718-113832.png

Troubleshooting typical issues

The interactive estimation session state is not updating and I usually get disconnected from the session

Agile Poker utilizes the atmoshpere framework for communication between user browsers and Jira Server. Long Polling, a technique using HTTP requests to https://Jira_SERVER_URL/plugins/servlet/jpp-ng/atmosphere/session/SESSION_ID, facilitates this. Here are potential causes and solutions:

  • Invalid reverse proxy server settings may break the Long Polling mechanism. Agile Poker requests take up to 60 seconds (it's normal behavior in long polling) and should not be cached or buffered by your reverse proxy. Some proxy servers limit the number of connections open simultaneously. Check if your proxy server does not reject incoming connections because of reaching this limit. Moreover, ensure that connection timeout on the proxy server is set to 65 seconds or more. 

  • You can try switching from Long Polling to Server-Sent Events. In some environments, this might work better than long polling, although Internet Explorer does not support it at all. You can change the communication protocol via the plugin Global Settings (Jira DC).

  • In case of connection issues, follow the instructions on the diagram below:

I get a warning message that Agile Poker has failed to integrate with my Apache Tomcat installation

It is possible that Agile Poker won't be able to integrate with Apache Tomcat in non-casual environments. In such situations, you will see a warning banner (visible only to Jira administrators).

Being unable to tweak the Tomcat configuration means that every web browser currently involved in the estimation session will acquire and hold for 60 seconds one connection from the available connection pool. The default connection pool size is 150 for Jira 6.x and 8000 for Jira 7.x. Especially on Jira 6.x, this might result in denying of serving other HTTP requests during that 60 seconds. From the user perspective, it will be seen as page load time degradation.

To resolve that issue, you should double-check your Tomcat configuration. You might be using a non-default one or a custom Tomcat version. You might also consider applying com.spartez.pokerng DEBUG log level in your Jira instance to assist you in troubleshooting:

If none of the above helps and you still see those warning messages, please contact us at the Appfire Support Portal or support@appfire.com.

About Apache mod_proxy and mod_jk

If you have Apache 2.4 and are using mod_jk, you might be affected. Our evaluator has told us that certain features (for example, Export task to printable) in Jira don't work, and Agile Poker is affected, too. To fix that, you need to disable mod_jk and use mod_proxy instead.