I am trying to circumvent the errors 1037 my app may get when one of the storage server is lagging. The approach I intended to use was to keep track of the most recent read version seen during a successful read and to recreate a transaction using this read version whenever an error 1037 is encountered.
It seems this is not working as intended since right after setting the read version (using setReadVersion), any use of the transaction generates an error 1007 (transaction too old).
Is there a link between the forced read version and the way the transaction age is determined?
What other way around the 1037 errors could I explore? In my particular use case, reading ‘old’ data is fine.