ExecutorService used for thread pool has only 1 thread. Changed the work queue type to fix. The configuration is the same as the regular pool in the Rodimus.
ExecutorService instance is not managed, so it's not properly shutdown. Use Dropwizard for lifecycle management.
Bind it to Micrometer's registry so we get metrics.
Considerations
I didn't have the whole change in Rodimus ported because it was not needed. There are only 3 types of tasks involved in Teletraan, ChangeFeed, NotifyJob and Webhook. They will work fine with just the regular pool configuration.
Test plan
This change is a subset of changes we made to Rodimus and it's been working well. For sanity tests, I deployed a build with this change and verified that change feed events are published and metrics are emitted.
Due to misconfiguration, the job pool used in Teletraan has only one thread. Similar issue fixed in https://github.com/pinternal/rodimus/pull/110
ExecutorService
used for thread pool has only 1 thread. Changed the work queue type to fix. The configuration is the same as theregular
pool in the Rodimus.ExecutorService
instance is not managed, so it's not properly shutdown. Use Dropwizard for lifecycle management.Considerations
I didn't have the whole change in Rodimus ported because it was not needed. There are only 3 types of tasks involved in Teletraan, ChangeFeed, NotifyJob and Webhook. They will work fine with just the regular pool configuration.
Test plan
This change is a subset of changes we made to Rodimus and it's been working well. For sanity tests, I deployed a build with this change and verified that change feed events are published and metrics are emitted.