You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
i found a bug using "io.vertx.ext.mongo.MongoClient". If MongoDB is unavailable for a minute or less a minute the VertxInstance runs into many small GCs and eats CPU. While MongoDB is back only restart helps.
while profiling this problem locally i found "com.mongodb.connection.AsynchronousSocketChannelStream$BasicCompletionHandler" causing the GCs and this uses up to 40% CPU usage. Before disconnection CPU usage was near 0% because i only read periodic from empty mongodb.
TestCase:
MongoClient client = MongoClient.createShared(vertx, this.mongoConfig);
// config is: {"mongo": {"host": "127.0.0.1","port": 27017,"db_name": "notification"}}
Verticle start contains
"this.timerID = vertx.setPeriodic(TimeUtils.MINUTE_IN_MILLISECONDS, INotificationHandler.create(vertx, config()));" and handler reads data by using client
i found a bug using "io.vertx.ext.mongo.MongoClient". If MongoDB is unavailable for a minute or less a minute the VertxInstance runs into many small GCs and eats CPU. While MongoDB is back only restart helps.
while profiling this problem locally i found "com.mongodb.connection.AsynchronousSocketChannelStream$BasicCompletionHandler" causing the GCs and this uses up to 40% CPU usage. Before disconnection CPU usage was near 0% because i only read periodic from empty mongodb.
TestCase:
MongoClient client = MongoClient.createShared(vertx, this.mongoConfig);
// config is: {"mongo": {"host": "127.0.0.1","port": 27017,"db_name": "notification"}}
Verticle start contains
"this.timerID = vertx.setPeriodic(TimeUtils.MINUTE_IN_MILLISECONDS, INotificationHandler.create(vertx, config()));" and handler reads data by using client
seems to be a problem with
Possible Solution
The text was updated successfully, but these errors were encountered: