
**Apache Airflow version**: 2.0.0

**Kubernetes version (if you are using kubernetes)** (use `kubectl version`): N/A

**Environment**:

- **Cloud provider or hardware configuration**: AWS
- **OS** (e.g. from /etc/os-release): Centos7
- **Kernel** (e.g. `uname -a`): Linux  3.10.0-693.5.2.el7.x86_64 
- **Install tools**: celery==4.4.0, sentry-sdk==0.19.5
- **Others**: python 3.6.8

**What happened**:

We see this in the sentry error logs randomly for all dag tasks: 
`TypeError in airflow.executors.celery_executor.execute_command`

```
TypeError: _run_mini_scheduler_on_child_tasks() got multiple values for argument 'session'
  File "airflow/sentry.py", line 159, in wrapper
    return func(task_instance, *args, session=session, **kwargs)
```

**What you expected to happen**:

No error in sentry.

**How to reproduce it**:

Schedule or manually run a dag task such as PythonOperator. 
The error msg will appear when airflow runs dag task.
The error will not appear in the airflow web server logs but only on Sentry server.


**Anything else we need to know**:

N/A


airflow/utils/session.py
"""
    Function decorator that provides a session if it isn't provided.
    If you want to reuse a session or run the function as part of a
    database transaction, you pass it to the function, if not this wrapper
    will create one and close it for you.
    """
    func_params = signature(func).parameters
    try:
        
        session_args_idx = tuple(func_params).index("session")
    except ValueError:
        raise ValueError(f"Function {func.__qualname__} has no `session` argument") from None
    
    del func_params
    @wraps(func)
    def wrapper(*args, **kwargs) -> RT:
        if "session" in kwargs or session_args_idx < len(args):
            return func(*args, **kwargs)
        else:
            with create_session() as session:
                return func(*args, session=session, **kwargs)
    return wrapper