Otrzymuję ten problem od dłuższego czasu. Jeśli transakcja Neo4j nie zostanie poprawnie zamknięta (zatwierdzona lub wycofana) (Może się tak zdarzyć z powodu wyjątków, lub zginąć/wyjść w trakcie transakcji itp.), Neo4j nie zwalnia blokady.Baza danych Neo4j zostanie zablokowana, jeśli transakcja nie zostanie zamknięta.
Aby rozwiązać problem, muszę zatrzymać Neo4j i ponownie uruchomić Neo4j. To nie powinno być wymagane.
Sprawdzam na Server Configurations Ma jedną konfigurację org.neo4j.server.transaction.timeout=60
, która domyślnie wynosi 60 sekund. Więc jeśli to ustawienie działa domyślnie dla mnie, to powinno upłynąć do 60 sekund.
Jak sprawdzić Baza danych jest zamknięta, czy nie? Jak w prosty sposób uniknąć lub usunąć blokadę bazy danych za pomocą kodu lub konfiguracji? Używam najnowszego Neo4j 2.2.3.
Być może potrafisz wyjaśnić, jak używasz Neo4j? Jakie sterowniki i interfejsy API? –
Mam go nigdy nie widziałem, jak został zamknięty. Zwykle, jeśli sam wykonujesz transakcje z kodu java, po prostu upewnij się, że używasz try-for-resource, aby każdy tx był poprawnie zamknięty. –
@MichaelHunger: Używam języka [PHP]. Używam funkcji catch catch w PHP i transakcji wycofania w catch. Czy jest coś, co powinienem zrobić? –