Orleans.KafkaStreamProvider.KafkaQueue.KafkaQueueAdapterReceiver.CommitOffset C# (CSharp) Method

CommitOffset() private method

private CommitOffset ( long offsetToCommit ) : System.Threading.Tasks.Task
offsetToCommit long
return System.Threading.Tasks.Task
        private async Task CommitOffset(long offsetToCommit)
        {
            Task commitTask;

            using (TimerTimeToCommitOffset.NewContext())
            {
                commitTask = _consumer.UpdateOrCreateOffset(_options.ConsumerGroupName, offsetToCommit);
                await Task.WhenAny(commitTask, Task.Delay(_options.ReceiveWaitTimeInMs));
            }

            if (!commitTask.IsCompleted)
            {
                var innerException = commitTask.IsFaulted
                    ? (Exception)commitTask.Exception
                    : new TimeoutException("Commit operation timed out");

                var newException = new KafkaStreamProviderException("Commit offset operation has failed", innerException);

                _logger.Error((int)KafkaErrorCodes.KafkaApplicationError, String.Format(
                    "KafkaQueueAdapterReceiver - Commit offset operation has failed. ConsumerGroup is {0}, offset is {1}",
                    _options.ConsumerGroupName, offsetToCommit), newException);
                throw new KafkaStreamProviderException();
            }

            _logger.Verbose(
                "KafkaQueueAdapterReceiver - Commited an offset to the ConsumerGroup. ConsumerGroup is {0}, offset is {1}",
                _options.ConsumerGroupName, offsetToCommit);
        }