Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K7 / problém s korektním zastavením běžící instance Tomcatu #1093

Open
mduda100871 opened this issue Sep 18, 2024 · 2 comments
Open
Assignees

Comments

@mduda100871
Copy link

Zdravím,

potýkám se s tím již nějaký čas, ale asi nastal ten správný okamžik kdy to začít řešit systematicky.

Aktuální konfigurace je následující:

  • Apache Tomcat verze 9.0.93 (problém se ale týká i předchozích verzí řady 9),
  • K7 verze 7.0.37 (problém se vyskytuje i u předchozích verzí),
  • příslušné proměnné prostředí (JAVA_HOME, CATALINA_OPTS, CATALINA_HOME, CATALINA_BASE, CATALINA_PID atd.) řádně nastaveny.

Po nastartování Tomcatu příkazem $CATALINA_BASE/bin/startup.sh vše běží jak má, Kramerius normálně funguje.

Problém nastává v okamžiku pokusu o zastavení Tomcatu příkazem $CATALINA_BASE/bin/shutdown.sh.

Výstup příkazu k zastavení skončí takto:

tomcat-shutdown-00

a instance Tomcatu stále zůstává běžet, ale co je horší, začne panikařit (kromě toho dále alokuje zdroje) a kupit velkou rychlostí výjimky/chybové hlášky do logu.

Teprve ldyž zavolám příkaz $CATALINA_BASE/bin/catalina.sh stop -force, tak je instance Tomcatu natvrdo ustřelena:

tomcat-shutdown-01

Analýzou logu jsem zjistil, že potenciálně je problém asi v tom, že jádro Krameria nastartuje nějaký proces/vlákno související se správou procesů (můj odhad, možná to chápu špatně), které se ale při požadavku na celkové zastavení nedaří ukončit a kvůli tomu začne trotlit celý Tomcat.

Zde jsou dva inkriminované a podezřelé řádky z catalina.log:

tomcat-shutdown-02

První řádek indikuje, že to má problém s odregistrací JDBC ovladače, nicméně to nakonec odstřelí interní mechanizmus Tomcatu (asi to neni optimální, ale dejme tomu).

Ale druhý řádek je pak si ten hlavní zdroj problému - to vlákno cz.incad.kramerius.processes.i mpl.GCSchedulerImpl-thread se nepodaří standardně zastavit, začne to trotlit a sypat hromady hlášek do logu, viz výše.

Příklad logu:

tomcat-shutdown-03

Kde by mohl být problém?

Díky, MD

@vlahoda
Copy link
Contributor

vlahoda commented Sep 18, 2024

Opravime to soucasne s #1011

@pavel-stastny
Copy link
Contributor

@mduda100871 Změna bude problematičtější a vyžádá si víc času. Odebíram z releasu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants