lorinlee opened a new pull request #1325: URL: https://github.com/apache/incubator-brpc/pull/1325
TimerTask or bthread uses butil::ResourcePool to allocate an id, and this id is usually combined with a version to build a versioned id, whose format is like this: [version(uint32_t)| resouce_id(uint32) ]. However, the ResoucePool can allocate a resource_id large than UINT32_MAX, which causes the id overflowed and make the version wrong. Here is a log from our online service: Check failed: version.load(butil::memory_order_relaxed) == id_version + 2 (2 vs. 5) ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
