The current check for BQInsertErrors in the case where messages are out of streaming insert range relies on the response message from Bigquery API.
Since the Bigquery streaming insert ranges have changed as mentioned here, the messages are treated as failures and not OutOfBound messages.
This is the reason why messages are not sent to DLQ even when they fall outside the streaming insert range.
The current check for BQInsertErrors in the case where messages are out of streaming insert range relies on the response message from Bigquery API.
Since the Bigquery streaming insert ranges have changed as mentioned here, the messages are treated as failures and not OutOfBound messages. This is the reason why messages are not sent to DLQ even when they fall outside the streaming insert range.