**Apache Airflow version**:

2.1.0

**Environment**:

- self hosted docker-compose based stack

**What happened**:

Using JDBCOperator if the sql result in an error we got only 
```
[2021-06-21 11:05:55,377] {local_task_job.py:151} INFO - Task exited with return code 1
```

Before upgrading from 2.0.1 we got error details in logs:
```
jaydebeapi.DatabaseError: java.sql.SQLException:... [MapR][DrillJDBCDriver](500165) Query execution error. Details: VALIDATION ERROR:...
``` 

**What you expected to happen**:

See `SQLException` in logs

**How to reproduce it**:

Perform a generic SQL task with broken SQL.

**Anything else we need to know**:

I think is somehow related to https://github.com/apache/airflow/commit/abcd48731303d9e141bdc94acc2db46d73ccbe12#diff-4fd3febb74d94b2953bf5e9b4a981b617949195f83d96f4a589c3078085959b7R202 
airflow/models/taskinstance.py
delay_backoff_in_seconds = min(modded_hash, timedelta.max.total_seconds() - 1)
            delay = timedelta(seconds=delay_backoff_in_seconds)
            if self.task.max_retry_delay:
                delay = min(self.task.max_retry_delay, delay)
        return self.end_date + delay
    def ready_for_retry(self):
        """
        Checks on whether the task instance is in the right state and timeframe
        to be retried.
        """
        return self.state == State.UP_FOR_RETRY and self.next_retry_datetime() < timezone.utcnow()
    @provide_session
    def get_dagrun(self, session: Session = None):
        """
        Returns the DagRun for this TaskInstance
        :param session: SQLAlchemy ORM Session
        :return: DagRun
        """
        from airflow.models.dagrun import DagRun  
        dr = (
            session.query(DagRun)
            .filter(DagRun.dag_id == self.dag_id, DagRun.execution_date == self.execution_date)
            .first()
        )
        return dr
    @provide_session
    def check_and_change_state_before_execution(