{"id":1248,"date":"2024-04-13T10:36:55","date_gmt":"2024-04-13T05:06:55","guid":{"rendered":"https:\/\/www.techandtrain.com\/blog\/?p=1248"},"modified":"2025-10-22T14:51:32","modified_gmt":"2025-10-22T09:21:32","slug":"how-to-debug-liferay-some-pointers-part-2","status":"publish","type":"post","link":"https:\/\/www.techandtrain.com\/blog\/2024\/04\/how-to-debug-liferay-some-pointers-part-2\/","title":{"rendered":"How to debug Liferay? &#8211; Some pointers &#8211; Part 2"},"content":{"rendered":"\n<p id=\"ember5747\">Practical tips to debug Liferay &#8211; further to my two earlier posts:<\/p>\n\n\n\n<p id=\"ember5748\"><a href=\"https:\/\/www.linkedin.com\/pulse\/how-debug-liferay-when-nothing-printed-logs-problem-neil-harwani-97wsf\/\">How to debug Liferay when nothing is printed in logs and there is a problem? &#8211; ChatGPT &amp; BARD Generated | LinkedIn<\/a><\/p>\n\n\n\n<p id=\"ember5749\"><a href=\"https:\/\/www.linkedin.com\/pulse\/how-debug-liferay-some-pointers-part-1-neil-harwani\/\">How to debug Liferay? &#8211; Some pointers &#8211; Part 1 | LinkedIn<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Setup automated heap dumps when out of memory happens.<\/li>\n\n\n\n<li>Setup automated thread dumps when Liferay slows down.<\/li>\n\n\n\n<li>Set up Glowroot persistence.<\/li>\n\n\n\n<li>Set up Glowroot in central pattern in production especially.<\/li>\n\n\n\n<li>Use <a href=\"http:\/\/ycrash.io\/\">ycrash.io<\/a> to analyze thread and heap dumps if possible or an offline tool as per your policy.<\/li>\n\n\n\n<li><strong>Cannot emphasize enough on the above five.<\/strong><\/li>\n\n\n\n<li>Check Liferay logs.<\/li>\n\n\n\n<li>Check DB connection pool settings via Hikari pool or others as set and it&#8217;s exhaustion.<\/li>\n\n\n\n<li>Check configuration files: <a href=\"http:\/\/setenv.sh\/bat\">setenv.sh\/bat<\/a> server.xml, osgi\/configs, other app server configurations, etc.<\/li>\n\n\n\n<li>Check logs of Elasticsearch, Database, Webserver, Load balancer, Web application firewall, Content Delivery Network and more.<\/li>\n\n\n\n<li>Use CAT API of Elasticsearch to check status of Elasticsearch.<\/li>\n\n\n\n<li>Check if any schedulers or integrations are putting load on the system.<\/li>\n\n\n\n<li>Check if things like caching, content delivery, security, etc. are as much as possible offloaded from app server.<\/li>\n\n\n\n<li>Check network delays &amp; errors across all component deployments and debug layer by layer for: LR, app nodes, WS, ES, DB, WAF, CDN and so on.<\/li>\n\n\n\n<li>Automate via scripting monitoring of CPU, threads and Heap especially on all servers in deployment.<\/li>\n\n\n\n<li>Analyze trends for traffic.<\/li>\n\n\n\n<li>Email me: <a href=\"mailto:Neil@HarwaniSytems.in\">Neil@HarwaniSytems.in<\/a><\/li>\n\n\n\n<li>Website: <a href=\"http:\/\/www.harwanisystems.in\/\">www.HarwaniSystems.in<\/a><\/li>\n\n\n\n<li>Blog: <a href=\"http:\/\/www.techandtrain.com\/blog\">www.TechAndTrain.com\/blog<\/a><\/li>\n\n\n\n<li>LinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/neil27\/\">Neil Harwani | LinkedIn<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Practical tips to debug Liferay &#8211; further to my two earlier posts: How to debug Liferay when nothing is printed [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[192],"tags":[260,200,228],"class_list":["post-1248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-liferay","tag-debugging-liferay","tag-liferay","tag-liferay-dxp"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/04\/Debug.png?fit=1280%2C720&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7do02-k8","jetpack-related-posts":[{"id":1030,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/02\/how-to-debug-liferay-some-pointers-part-1\/","url_meta":{"origin":1248,"position":0},"title":"How to debug Liferay? &#8211; Some pointers &#8211; Part 1","author":"Neil Harwani","date":"February 19, 2023","format":false,"excerpt":"How to debug Liferay? Some pointers. - Part 1. Many a times, we only check at specific places and forget other areas while debugging. This small blog acts as a checklist to check and debug Liferay. Look at installing and using GLOWROOT Check the slow traces \/ web transactions \/\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/02\/tool-gf2582e850_1280.png?fit=1200%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/02\/tool-gf2582e850_1280.png?fit=1200%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/02\/tool-gf2582e850_1280.png?fit=1200%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/02\/tool-gf2582e850_1280.png?fit=1200%2C1200&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/02\/tool-gf2582e850_1280.png?fit=1200%2C1200&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1121,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/08\/glowroot-resources-part-1\/","url_meta":{"origin":1248,"position":1},"title":"Glowroot resources &#8211; Part 1","author":"Neil Harwani","date":"August 26, 2023","format":false,"excerpt":"Here are some good Glowroot resources - Part 1. Glowroot is a lightweight, Open source Java APM. Resources \/ links \/ blogs here provide details on how to install Glowroot, what are its two deployment types, how to instrument Liferay with it, how to monitor Liferay during upgrade with Glowroot\u2026","rel":"","context":"In &quot;APM&quot;","block_context":{"text":"APM","link":"https:\/\/www.techandtrain.com\/blog\/category\/apm\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1175,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/liferay-best-practices-part-2\/","url_meta":{"origin":1248,"position":2},"title":"Liferay best practices &#8211; Part 2","author":"Neil Harwani","date":"November 24, 2023","format":false,"excerpt":"Following up with Part 1 of the series here:\u00a0Liferay best practices - Part 1 | LinkedIn -\u00a0Here is part 2 of Liferay best practices: Look out for settings of ORA-1795 error and it's required settings from Liferay Help Center articles if you are using Oracle If you have heavy usage\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1125,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-1\/","url_meta":{"origin":1248,"position":3},"title":"Performance tuning in Liferay &#8211; Part 1","author":"Neil Harwani","date":"September 1, 2023","format":false,"excerpt":"Expanding on my post here on performance tuning:\u00a0Post | Feed | LinkedIn Below are the main points to work on for a performance tuning engagement in Liferay - Part 1. Firstly, we need to find out what is slow: Database, service calls, elastic search, memory is an issue, threads are\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1130,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-2\/","url_meta":{"origin":1248,"position":4},"title":"Performance tuning in Liferay &#8211; Part 2","author":"Neil Harwani","date":"September 25, 2023","format":false,"excerpt":"Following up on the\u00a0Performance tuning in Liferay - Part 1 post\u00a0- here are some additional points for performance tuning: The blue circle in Glowroot slow traces indicates that the transaction is still ongoing whereas yellow indicates it's completed. Red indicates there is an error. You can change the JVM gauges\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1271,"url":"https:\/\/www.techandtrain.com\/blog\/2024\/07\/pointers-to-work-with-product-support-at-liferay-part-1\/","url_meta":{"origin":1248,"position":5},"title":"Pointers to work with product support at Liferay &#8211; Part 1","author":"Neil Harwani","date":"July 5, 2024","format":false,"excerpt":"Below pointers may help when working with Liferay support to cut response times: 1. How is the vanilla product behaving for your problem area? 2. What are the relevant database tables, source code and configurations saying? Discuss about this early on the ticket 3. Attach any video of the problem\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/07\/Support.png?fit=1200%2C677&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/07\/Support.png?fit=1200%2C677&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/07\/Support.png?fit=1200%2C677&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/07\/Support.png?fit=1200%2C677&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/07\/Support.png?fit=1200%2C677&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/comments?post=1248"}],"version-history":[{"count":1,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1248\/revisions"}],"predecessor-version":[{"id":1250,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1248\/revisions\/1250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media\/1249"}],"wp:attachment":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media?parent=1248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/categories?post=1248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/tags?post=1248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}