After a long search, I was able to find a proven solution that works 100% for Magento 2.4.0 and for 2.4.1
On version 2.4.2 this issue is solved.
1)
ALTER TABLE `magento_operation`
MODIFY COLUMN `operation_key` int(10) UNSIGNED NULL DEFAULT NULL COMMENT 'Operation Key' AFTER `result_message`;
update db_schema.xml
using your favourite editor, for example:
vim ./vendor/magento/module-asynchronous-operations/etc/db_schema.xml +37
Change:
<column xsi:type="int" name="operation_key" padding="10" unsigned="true" nullable="false"
To:
<column xsi:type="int" name="operation_key" padding="10" unsigned="true" nullable="true"
Clear out any pending messages
Since the magento_operations table wasn't updated correctly, you will need to manually update the records in the magento_operation, magento_acknowledged_bulk and magento_bulk tables.
There are a number of different ways to do that, but the following should work:
TRUNCATE magento_operation;
TRUNCATE magento_acknowledged_bulk;
DELETE FROM magento_bulk;
ALTER TABLE magento_bulk AUTO_INCREMENT = 1;
After update db_schema.xml
require run trunkcate above sql query.