{"id":45,"date":"2006-03-03T11:45:25","date_gmt":"2006-03-03T10:45:25","guid":{"rendered":"http:\/\/www.epischel.de\/wordpress\/?p=45"},"modified":"2012-04-09T11:44:45","modified_gmt":"2012-04-09T10:44:45","slug":"how-a-firewall-can-break-your-app","status":"publish","type":"post","link":"https:\/\/www.epischel.de\/wordpress\/2006\/03\/how-a-firewall-can-break-your-app\/","title":{"rendered":"How a firewall can break your app"},"content":{"rendered":"<p>Picture this: after we had moved an old app from an old server to a new one, we kept getting &#8222;I\/O Exception: Broken Pipe&#8220; now and then from our database connections. In the new environment, database lives on a different server than our app (as opposed to the old environment). Is there something wrong with the network?<\/p>\n<p>My suspects turned out right: it&#8217;s the firewall between app and database. It drops &#8222;unused&#8220; tcp connections after an hour. For some security reasons, this cannot be changed.<\/p>\n<p>As our apps is rather old, some parts of it still do not use a connection pool and so there are db connnections that &#8222;linger&#8220; around unused for an hour and are used thereafter &#8211; bang, I\/O exception.<\/p>\n<p>So watch out for that and use a connection pool. Possibly one that can shrink (i.e. throw away unused connections).<\/p>\n<div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Picture this: after we had moved an old app from an old server to a new one, we kept getting &#8222;I\/O Exception: Broken Pipe&#8220; now and then from our database connections. In the new environment, database lives on a different server than our app (as opposed to the old environment). Is there something wrong with&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[3,2],"tags":[119],"series":[],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-java","category-entwicklung","tag-entwicklung","kind-"],"kind":false,"_links":{"self":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":3,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":335,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/45\/revisions\/335"}],"wp:attachment":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/tags?post=45"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/series?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}