I use masstransit kafka rider, but message retry not running. I want it to bypass "Consume Loop Faulted" errors.
UseMessageRetry & UseCircuitBreaker has no effect.
m.AddRider(rider =>
{
rider.AddConsumer<IndexConsumer>();
rider.UsingKafka((context, k) =>
{
k.Host(ConfigurationManager.Kafka.Servers, cfg =>
{
cfg.UseSasl(ssal =>
{
ssal.Username = Credentials.Username;
ssal.Password = Credentials.Password;
ssal.Mechanism = Credentials.SaslMechanism;
});
});
k.SecurityProtocol = Credentials.SecurityProtocol;
k.TopicEndpoint<IndexMessage>(topicName, topicName, m =>
{
m.AutoOffsetReset = AutoOffsetReset.Earliest;
m.AutoStart = true;
m.ConcurrentMessageLimit = 3;
m.UseMessageRetry(r => r.Immediate(3)); //has no effect
m.UseCircuitBreaker(cb =>
{
cb.TrackingPeriod = TimeSpan.FromMinutes(1);
cb.TripThreshold = 15;
cb.ActiveThreshold = 10;
cb.ResetInterval = TimeSpan.FromMinutes(5);
}); //has no effect
m.ConfigureConsumer<IndexConsumer>(context);
});
});
});
I try
m.UseMessageRetry(r => r.Immediate(3))`. Skip faulted messages.