Adjusting tiered license levels slow to reflect update

Open
#1,121 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Quiet
Tech stack
python

Research direction

No repository file or test is named. Start with the supplied reproduction around server.sites.update(site) and server.sites.get_by_id(site.id), then investigate how tier_creator_capacity updates are handled through the Tableau Server REST API. Done should mean determining whether the client can reliably handle the delayed, inconsistent responses and covering the resulting behavior.

Written by the indexing model from the issue text.

Description

docs Server-Side Enhancement

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.

Dominant language
Python
Stars
716
Forks
446
Avg merge
8d 8h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tableau/server-client-python

All issues in tableau/server-client-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.