ericpp opened a new issue #20432:
URL: https://github.com/apache/airflow/issues/20432
### Apache Airflow version
2.2.2 (latest released)
### What happened
It logs into the Tableau server, starts a refresh, and then throws a
NotSignedInError exception:
```
[2021-12-20, 07:40:13 CST] {{base.py:70}} INFO - Using connection to: id:
tableau. Host: https://xxx/, Port: None, Schema: , Login: xxx, Password: ***,
extra: {}
[2021-12-20, 07:40:14 CST] {{auth_endpoint.py:37}} INFO - Signed into
https://xxx/ as user with id xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{workbooks_endpoint.py:41}} INFO - Querying all
workbooks on site
[2021-12-20, 07:40:14 CST] {{tableau.py:141}} INFO - Found matching with id
xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{auth_endpoint.py:53}} INFO - Signed out
[2021-12-20, 07:40:14 CST] {{jobs_endpoint.py:41}} INFO - Query for
information about job xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{taskinstance.py:1703}} ERROR - Task failed with
exception
Traceback (most recent call last):
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py",
line 1332, in _run_raw_task
self._execute_task_with_callbacks(context)
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py",
line 1458, in _execute_task_with_callbacks
result = self._execute_task(context, self.task)
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py",
line 1509, in _execute_task
result = execute_callable(context=context)
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/operators/tableau.py",
line 124, in execute
if not tableau_hook.wait_for_state(
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/hooks/tableau.py",
line 180, in wait_for_state
finish_code = self.get_job_status(job_id=job_id)
File
"/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/hooks/tableau.py",
line 163, in get_job_status
return
TableauJobFinishCode(int(self.server.jobs.get_by_id(job_id).finish_code))
File
"/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/endpoint.py",
line 177, in wrapper
return func(self, *args, **kwargs)
File
"/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/jobs_endpoint.py",
line 42, in get_by_id
url = "{0}/{1}".format(self.baseurl, job_id)
File
"/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/jobs_endpoint.py",
line 14, in baseurl
return "{0}/sites/{1}/jobs".format(self.parent_srv.baseurl,
self.parent_srv.site_id)
File
"/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/server.py",
line 168, in site_id
raise NotSignedInError(error)
tableauserverclient.server.exceptions.NotSignedInError: Missing site ID. You
must sign in first.
[2021-12-20, 07:40:14 CST] {{taskinstance.py:1270}} INFO - Marking task as
FAILED. dag_id=tableau-refresh, task_id=refresh_tableau_workbook,
execution_date=20211220T194008, start_date=20211220T194013,
end_date=20211220T194014
```
### What you expected to happen
It should've logged into Tableau, started a refresh, and then waited for the
refresh to finish.
### How to reproduce
Use a TableauOperator with a blocking refresh:
```
TableauOperator(
resource='workbooks',
method='refresh',
find='Tableau workbook',
match_with='name',
site_id='udir',
task_id='refresh_tableau_workbook',
tableau_conn_id='tableau',
blocking_refresh=True,
dag=dag,
)
```
### Operating System
Debian GNU/Linux 10 (buster)
### Versions of Apache Airflow Providers
apache-airflow-providers-tableau==2.1.2
### Deployment
Docker-Compose
### Deployment details
I'm using the official `apache/airflow:2.2.2-python3.9` Docker image
### Anything else
It occurs every time I use the new TableauOperator to do a blocking refresh
of a workbook.
### Are you willing to submit PR?
- [X] Yes I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]