Brak połączenia z MognoDb na AWS

Brak połączenia z MognoDb na AWS
anckor
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 314
0

Mam darmowy klaster M0 MongoDb na AWS. Maksymalnie do 100 połączeń na raz. Backend to Spring boot i Spring Data Reactive Mongo. Apka nie robi nic spektakularnego: wrzuca do tego mongo logi co 5 sekund. Problem polega na tym, że po jakimś czasie, wyczerpuje się liczba dostępnych połączeń i aplikacja się wywala, na każdy request odpowiada 500tkami. Pytanie brzmi dlaczego tak się dzieje: w trakcie działania aplikacji nie dochodzą do wykonania nowe zadania, ona jedynie ma pchać logi co 5 sekund, dlaczego nie może się to odbywać w obrębie stałej liczby połączeń tylko ta liczba się zwiększa (widać to na wykresie). I kolejne kwestia to jak to naprawić: ustawiłem już w konfiguracji Mongo: MongoClientOptions.builder().connectionsPerHost(3).build(); ale nic to nie dało. Proszę o pomoc.

title

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1909
0

Poka logi, jaki dokładnie błąd dostajesz? Na pewno to związane z Mongo?

anckor
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 314
0

@Charles_Ray: Znowu się wywaliło ;/ Dorzucam fragmenty logów, praktycznie tylko to non stop powtarza się w konsoli dziesiątki razy:

org.springframework.data.mongodb.UncategorizedMongoDbException: Exception receiving message; nested exception is com.mongodb.MongoSocketReadException: Exception receiving message Caused by: com.mongodb.MongoSocketReadException: Exception receiving message Caused by: java.io.IOException: The connection to the server was closed

reactor.core.Exceptions$ErrorCallbackNotImplemented: org.springframework.data.mongodb.ClientSessionException: The pool is closed; nested exception is java.lang.IllegalStateException: The pool is closed Caused by: org.springframework.data.mongodb.ClientSessionException: The pool is closed; nested exception is java.lang.IllegalStateException: The pool is closed

2019-08-04 16:04:40.774 INFO 5820 --- [ntLoopGroup-2-4] org.mongodb.driver.connection : Opened connection [connectionId{localValue:32, serverValue:54887}] to cluster0mp-shard-00-01-3mdf1.mongodb.net:27017

2019-08-04 16:04:41.773 INFO 5820 --- [ntLoopGroup-2-3] org.mongodb.driver.connection : Closed connection [connectionId{localValue:31, serverValue:54870}] to cluster0mp-shard-00-01-3mdf1.mongodb.net:27017 because there was a socket exception raised on another connection from this pool.

Dorzucę jeszcze wykres, w tych punktach gdzie ilość połączeń dobija do 100 to aplikacja się wywala:

title

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.