The lock supplied is invalid. Either the lock expired, or the message has already been removed from the queue

I spent hours trying understand why I was getting a MessageLockLostException. The reason for me was due to AutoComplete defaulting to true. If you’re going to call messsage.Complete() (or CompleteAsync()) then you should instantiate an OnMessageOptions object, set AutoComplete to false, and pass it into your OnMessage call. var options = new OnMessageOptions(); options.AutoComplete = … Read more

Distributed tensorflow: the difference between In-graph replication and Between-graph replication

First of all, for some historical context, “in-graph replication” is the first approach that we tried in TensorFlow, and it did not achieve the performance that many users required, so the more complicated “between-graph” approach is the current recommended way to perform distributed training. Higher-level libraries such as tf.learn use the “between-graph” approach for distributed … Read more