server-client-python icon indicating copy to clipboard operation
server-client-python copied to clipboard

Adjusting tiered license levels slow to reflect update

Open jorwoods opened this issue 3 years ago • 2 comments

Describe the bug

When making an adjustment to a tiered license level on a site, trying to add the user for that tier too soon after can fail. Even if the server responds to one query with the correct number, the next query can return the old number. Unclear how long it takes for this setting to propagate.

Versions

Details of your environment, including:

  • Tableau Server version (or note if using Tableau Online) 2022.1.1 (20221.22.0415.1144)
  • Python version 3.8.10
  • TSC library version 0.22

To Reproduce

Steps to reproduce the behavior. Please include a code snippet where possible.

import itertools as it
import time

import tableauserverclient as TSC

# sign in to server as server admin
site = server.sites.get_by_id(server.site_id)
existing_limit = site.tier_creator_capacity
expected_limit = existing_limit + 1

site.tier_creator_capacity = expected_limit
site = server.sites.update(site)

results = [existing_limit] * 3

for i in it.count(1):
    print(f"{i=}; {results=}; {expected_limit=}")
    time.sleep(1)
    site = server.sites.get_by_id(site.id)
    results[i%3] = site.tier_creator_capacity
    if all(r == expected_limit for r in results):
        break

print(f"Got a matching result after {i} attempts.")

Results

What are the results or error messages received? Can end up taking anywhere between 10 seconds and 3 minutes before a consistent response is returned from the API about the tiered license capacity.

NOTE: Be careful not to post user names, passwords, auth tokens or any other private or sensitive information.

jorwoods avatar Sep 23 '22 15:09 jorwoods

I'm not sure how long this should take, but we should find out and add it to the docs.

jacalata avatar Oct 07 '22 23:10 jacalata

The curious part is: hypothetically say you're trying to update the number from 10 to 11. The response will seem to randomly return either 10 or 11 for some amount of time before it consistently reflects the updated number. This behavior also happens in the Web UI, but is easier to reproduce via REST (as well as being where I first noticed the issue).

jorwoods avatar Oct 09 '22 18:10 jorwoods