Activities of "DominaTang"

Answer

It looks like use .InsertAysnc(entity,true) resolved the problem.

Answer

Inserted does return Id, line var dbData = repository.GetAsync(inserted.Id); throw exception, can not find entity with Id xxxxx in log, and that guid value is the Guid in MongoDb.

Hi,

I don't recommend you do this, I think this may be a usage issue.

If you are willing to provide detailed steps or projects I will try to help you.

Don't have time to prepare sample project code. I get rid of MongoDb side JobLog entity and related code only keep one Micro Service has JobLog entity. Then the duplicate log is gone.

I have another question, when an event bus - event handler subscribe to an event, if the handler code has exception, the message is kept in the queue and keep sending to handler again and again? Is there a setting to set up the max try times or if handler failed, don't keep the message in the queue. (RabbitMQ distributed event bus) (

Hi,

Could you provide the full steps or share a project to reproduce the problem? I will check it. my email is shiwei.liang@volosoft.com

How about disable Abp's auto route binding for a MicroService?

Thanks. So our controller code should be fine. Need to investigate why the second call failed, the code was working without problem before.

Hi

If several messages published to the event bus in a short period, would the event handling process all the messages without loosing any message when doesn't use the Outbox? Please read more about RabbitMQ Reliability https://www.rabbitmq.com/reliability.html

Hi All the API instances will listen to those message but they have to be configure on the same channel https://github.com/abpframework/abp-samples/tree/master/RabbitMqEventBus You can try this easy sample

you can read https://docs.abp.io/en/abp/latest/Distributed-Event-Bus#outbox-inbox-for-transactional-events more about When should use outbox when shouldn't use outbox?

For item2 I means this page: https://docs.abp.io/en/abp/latest/Distributed-Event-Bus Pre-requirements The outbox/inbox system uses the distributed lock system to handle concurrency when you run multiple instances of your application/service. So, you should configure the distributed lock system with one of the providers as explained in this document. The outbox/inbox system supports Entity Framework Core (EF Core) and MongoDB database providers out of the box. So, your applications should use one of these database providers. For other database providers, see the Implementing a Custom Database Provider section.

We do have Multiple instances of microservices, what does configure 'distributed lock system' means?

Answer

hi

https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions

Finally figure out the reason, after deploy the code to Azure kubernetes, NgInx has two settings default to 60 seconds, need to change the value there https://ubiq.co/tech-blog/increase-request-timeout-nginx/

Thanks, Domina

Answer

hi

https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions

I use a timer, the API call is time out at 60 seconds. However, according to Ocelot document, the default gateway time out is 90 seconds. So where this 60 seconds time out come from? Unit of work?

Answer

hi

https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions

I read the document. Disable unit of work of entrance to avoid long file operations make Db transactions too long, otherwise, more chance of deadlock for database transactions.

Is there a way to dump data to database immediately, I add true flag to each of Insert/Update method call. But seems it doesn't work. And why gateway thinks the first operation failed and try the second time to make the same call?

Answer

hi

There are some timeout settings that you can use in your MongoDB connection string.

https://www.mongodb.com/docs/manual/reference/connection-string/

I don't have long transaction, the entrance API the UnitOfWork is disabled. with the process, any place needs Db access, I create a new unit of work with new transaction.

I found a very strange behavior, in every repository Insert/Update call, I give auto save parameter true and wrap with an unit of work, however, it until around 20 seconds later after API is done, then the new data would shown in Db, I can see number of records increasing via MongoDb. But UI subscribe to the API method already done and show an intermediate status of progress.

I have a question, if the entrance App Service method has [UnitOfWork] disabled, do I need to add this to every app service methods for the whole stack?

Showing 31 to 40 of 50 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13