ISagaRepository<TSaga>
with EntityFrameworkSagaRepository.CreateOptimistic/Pessimistic(sp.GetService<Context>)
builder.AddMassTransit(cfg =>
{
cfg.AddMongoDbSagaRepository<TSaga>(...);
// or maybe better...
cfg.AddSaga<TSaga>(...)
.WithMongoDb(...);
});
Hey all. I have application that uses microservice architecture. I have 5 services that communicate using amqp over rabbitmq over masstranist.
I do have a fair number of request/response calls configured. When under load I am frequently seeing:
MassTransit.Messages Error: 0 : R-FAULT rabbitmq://rabbitmq:5671/MyQuename?durable=false cd460000-50cb-b253-4da2-08d77982802c
...(00:00:41.7920601) rabbitmq://rabbitmq:5671/some_service7887756876jqx8p_dotnet_bus_3idyyyno3q3fghqubdmzg47ynk => The message was not confirmed: PRECONDITION_FAILED - invalid expiration '-26069': {value_negative,-26069}, MassTransit.RabbitMqTransport.MessageNotConfirmedException: rabbitmq://rabbitmq:5671/some_service7887756876jqx8p_dotnet_bus_3idyyyno3q3fghqubdmzg47ynk => The message was not confirmed: PRECONDITION_FAILED - invalid expiration '-26069': {value_negative,-26069}
I know that the dotnet_bus queues are temporary queues MT creates to enable request/response. I know those queues have an expiry of 60 seconds. What I'm inferring from this error message is a message was unable to be confimed because the ttl has been exceeded. I am seeing some failures in the application that COULD(I'm not sure yet) be attributed to dropped messages. When I look at the queues in rabbitmq via rabbitmqctl list_queues I'm not seeing queues that appear backed up. I'm wondering if anyone could tell me what the above error could imply. Would this indeed result in dropped messages?