Original Message:
Sent: Fri October 27, 2023 10:38 AM
From: Robert Dostal
Subject: Routing Rules Precedence
Hi Jeam,
yep I reproduced the setting a few times and it repeats as described. Routing rules via IIS gateway and FQDN dispatcher seems to work properly. Sorry that I can't give you more hints about this issue but I'll keep an eye on that when we upgrade to V12.
------------------------------
Robert Dostal
Team Leader BI
GEMÜ
Ingelfingen
Original Message:
Sent: Fri October 27, 2023 10:27 AM
From: JEAM COELHO
Subject: Routing Rules Precedence
Hi Robert,
I'm using FQDN too, browser and Cognos Configuration. I have tested with IBM support and they see the same behavior that I'm getting.
It's strange that Cognos is differentiating the URL you enter in the browser, it shouldn't do that. Cognos should only go by its own settings.
Did you try run dashboard several times to see behavior?
------------------------------
JEAM COELHO
Cognos Solution Architect
LinkedIn: https://www.linkedin.com/in/jeamcoelho/
Original Message:
Sent: Fri October 27, 2023 09:25 AM
From: Robert Dostal
Subject: Routing Rules Precedence
Hi Jeam,
yes I also run the test directly using both dispatcher URLs. Now it depends on how I point to the dispatchers. The routing rules work with FQDN URLs only, but if I use the short ones it's always the second dispatcher which executes the queries. Have you checked on the dispatcher URLs in your browser and the ones in your Cognos Configuration? Both dispatchers run on Windows Server OS here.
------------------------------
Robert Dostal
Team Leader BI
GEMÜ
Ingelfingen
Original Message:
Sent: Fri October 27, 2023 09:00 AM
From: JEAM COELHO
Subject: Routing Rules Precedence
Hi, Robert!
In fact, the web server/gateway is not a problem. But as they have their balancing algorithm, they can mask it.
Did you run the tests directly accessing the dispatcher URL, without going through the gateway?
BTW, I'm in CA 11.2.1 zLinux.
------------------------------
JEAM COELHO
Cognos Solution Architect
LinkedIn: https://www.linkedin.com/in/jeamcoelho/
Original Message:
Sent: Fri October 27, 2023 07:10 AM
From: Robert Dostal
Subject: Routing Rules Precedence
Hi Jeam,
thank you for your additional information re gateway with Apache and your testings.
I've tested the setup here with 11.1.7 like you've suggested with #sq( getConfigurationEntry ('externalDispatcher' ))#
in a dashboard and I have to confirm my initial quote: it still works! I log in as regular user and dispatcher A comes up in the dashboard. When I use another special user configured to use the second dispatcher, I see exactly that dispatcher URL in the same dashboard.
So: this could be something that happens due to your usage of an Apache gateway whilst I'm using IIS. We also do not (never ever) let our users access Cognos via any direct dispatcher URL. It's always the IIS gateway. Maybe that's a reason why it works perfectly on our end.
------------------------------
Robert Dostal
Team Leader BI
GEMÜ
Ingelfingen
Original Message:
Sent: Fri October 27, 2023 05:42 AM
From: JEAM COELHO
Subject: Routing Rules Precedence
Hi, Robert.
I'm sorry, but they don't work. I proved this to IBM support and developers.
In my case, as I have 8 servers, I'm using Cognos Gateway with Apache, loading the cognos-load-balance configuration. This can mask the effects of this issue.
In the case of the dashboard, Cognos always runs it in the dispatcher that you connected to, that is, it was directed by Apache. The behavior is the same if you access the dispatcher directly.
There is a simple test you can see this happening. You will see that the routing rule works in the report, but not in the dashboard.
- Create a blank dashboard, with any module as datasource.
- Then create a calculation with the following expression:
#sq( getConfigurationEntry ('externalDispatcher' ))#
- Drag this calculation to your dashboard and save.
- Create a list report, using the same data source as the panel.
- Create a data item with the same calculation
#sq( getConfigurationEntry ('externalDispatcher' ))#
- Drop this calculation on the report page and save.
Now let's go to the tests. Remembering that accessing through the gateway can confuse you with the results, let's access the dispatchers through their URL.
- Access the DISPATCHER_B URL (http://dispacther_b:9300/bi), using a user that should be routed to DISPATCHER_A
- Run the report many times. You will see that the execution is routed to DISPATCHER_A.
- Run the dashboard. You will see that it was executed by DISPATCHER_B, always.
Continuing the tests:
- Access the DISPATCHER_A URL (http://dispacther_a:9300/bi), using a user that should be routed to DISPATCHER_B
- Run the report many times. You will see that the execution is routed to DISPATCHER_B.
- Run the dashboard. You will see that it was run by DISPATCHER_A, always.
In summary, the behavior is as follows:
Routing rules work for the report. However, the dashboard is always executed by the dispatcher you connected to.
------------------------------
JEAM COELHO
Cognos Solution Architect
LinkedIn: https://www.linkedin.com/in/jeamcoelho/
Original Message:
Sent: Fri October 27, 2023 03:37 AM
From: Robert Dostal
Subject: Routing Rules Precedence
Hi together,
I also know that Cognos processes routing rules top to bottom until the first routing rule applies to the scenario.
Using the Everyone group for a routing rule on top may break the logic for rules as then no other rule would be used. Maybe Cognos is ignoring those rules? I don't know. In my setup I have two routing rules and they are processed top-down. Checked that with different scenarios. I'm on 11.1.7 FP6.
What I cannot confirm is that routing rules do not work for dashboards. In my environment they do! The different dispatchers are tied to routing rules which use user roles. I have to send all users with an Analytics Viewer license (to use dashboards) to a distinct dispatcher. Works great.
------------------------------
Robert Dostal
Team Leader BI
GEMÜ
Ingelfingen
Original Message:
Sent: Thu October 26, 2023 02:09 PM
From: JEAM COELHO
Subject: Routing Rules Precedence
Hi,
I have only used the routing rules for groups.
Using only for user groups, the order on the configuration page is respected top-down.
However, there is a problem, routing rules do not work for dashboards. I've already opened a ticket and support responded to me begrudgingly, saying that it's normal behavior, despite me saying that it works for datasets and data modules. Also, it would have to work for dashboards, Cognos has always been like that anyway.
Regards,
------------------------------
JEAM COELHO
Cognos Solution Architect
LinkedIn: https://www.linkedin.com/in/jeamcoelho/
Original Message:
Sent: Wed October 25, 2023 10:37 AM
From: Marc Reed
Subject: Routing Rules Precedence
Is there any official documentation on Routing Rules precedence.
For example, I have a routing rule that sends Sales reports to Server A. I have another rule that sends Finance Users to Server B.
If a Finance user runs a Sales report, which server will they be sent to?
With my limited testing, it doesn't appear to be as simple as rule ordering. For example, if I set up rule 1 to route the Everyone role to Server A, and rule 2 as a datasource to Server B. Then running a report against the specified data source hits server B.
If it was as simple as rule orders, then everyone (and any report they run) should go to server A.
So is there some kind of precedence rules? Check to see if data source matches, if not then check roles, if not check groups?
Edited to add....
In some versions of the documentation this little nugget appears: https://www.ibm.com/docs/el/cognos-analytics/11.2.0?topic=dr-setting-routing-rules-dispatchers

However, this isn't in all 11.2 documents.
My limited testing also implies that this isn't how it works.
------------------------------
Marc Reed
------------------------------