Daniel,
On 8/5/25 3:05 PM, Daniel Schwartz wrote:
I just replied to Rob Sargent regarding this. Did you see that reply?
> Maybe I’m not using Glassfish correctly, but if I set the maximum>
pool size to 1, the system almost immediately outputs an error
message saying that it is unable to allocate any more connections
and crashes.
I'm interested in what you mean by "crashes". To me, that usually means
that the process stops at the very least. Do you mean that the request
fails, or something much worse?
That’s why I have set a large maximum pool size.
I think you are fixing the symptom and not the problem. Even with a pool
size of 1, your server should not crash. The worst thing that should
happen is a request fails because a connection could not be immediately
obtained from the pool.
Most pools will wait some amount of time for a connection, and then
time-out and the request fails. I suppose it's possible to configure a
pool to require a connection to be immediately available, but that would
be an unusual configuration to use IMHO.
-chris
From: Niranjan Rao <n...@paymentus.com>
Sent: Tuesday, August 5, 2025 12:54 PM
To: users@tomcat.apache.org
Subject: Re: [EXTERNAL EMAIL] RE: How to access a REST service
On 8/5/25 09:43, Daniel Schwartz wrote: > Well, I guess that this is a top post. But
this message is getting > longer with all the replies. I don’t think it is a memory
leak. I’m > fairly sure that I’m closing every connection immediately
NkdkJdXPPEBannerStart
Be Careful With This Message
From (Niranjan Rao
<n...@paymentus.com>)<https://godaddy1.cloud-protect.net/email-details/?k=k1&payload=53616c7465645f5f01479cd1d42494181d4c16588b94df4c820e4272265487dd9f78a6c5058acdafc93d62897abd159718ec313c22d09277dbf2fbb536c026e3f6aee770447b1d4f78dfc54afce74a56553ab348aa1f4cf565bf83964f1f09123348c4e595d8d9df00b653e7157eedbd6450c9ea7be6c8687659e563a0caaeb8ee75dff4fa7e4a88d05034bb22037dd4bbe58bf99e736fbdae6b66c1d082b0b30de80c55b5719abc475fbe778560908e4d4a57fae4f1567f335f620ae681895613f5e4f54efacefe16c1ecf319bdaec9f510253a8e47129cd215e8d8cd3c3bf89c2456aab6324c75736d9af5f1550a42>
Learn
More<https://godaddy1.cloud-protect.net/email-details/?k=k1&payload=53616c7465645f5f01479cd1d42494181d4c16588b94df4c820e4272265487dd9f78a6c5058acdafc93d62897abd159718ec313c22d09277dbf2fbb536c026e3f6aee770447b1d4f78dfc54afce74a56553ab348aa1f4cf565bf83964f1f09123348c4e595d8d9df00b653e7157eedbd6450c9ea7be6c8687659e563a0caaeb8ee75dff4fa7e4a88d05034bb22037dd4bbe58bf99e736fbdae6b66c1d082b0b30de80c55b5719abc475fbe778560908e4d4a57fae4f1567f335f620ae681895613f5e4f54efacefe16c1ecf319bdaec9f510253a8e47129cd215e8d8cd3c3bf89c2456aab6324c75736d9af5f1550a42>
Potential Impersonation
The sender's identity could not be verified and someone may be impersonating
the sender. Take caution when interacting with this message.
NkdkJdXPPEBannerEnd
On 8/5/25 09:43, Daniel Schwartz wrote:
Well, I guess that this is a top post. But this message is getting
longer with all the replies. I don’t think it is a memory leak. I’m
fairly sure that I’m closing every connection immediately after using
it. It seems that most of my database
ZjQcmQRYFpfptBannerStart
This Message Is From an Untrusted Sender
You have not previously corresponded with this sender.
ZjQcmQRYFpfptBannerEnd
Well, I guess that this is a top post. But this message is getting longer with
all the replies.
I don’t think it is a memory leak. I’m fairly sure that I’m closing every
connection immediately after using it. It seems that most of my database
queries are coming from web crawlers, and there are a few hundred accesses
every day. I was getting error messages from Glassfish saying that it couldn’t
allocate any more connection objects and then crashing. At that time the
maximum pool size was the default, which is 32. So I believe it was just being
overloaded by the web crawlers. Now that I have increased to 1000, the system
has stopped crashing.
But I have to admit that I really don’t understand how these connection pooling
systems work. My understanding is that only as many connection objects are
created and placed in the pool as are needed, so even if you set the upper
limit high it doesn’t necessarily mean that you will have that many. Once a
database session terminates, then that connection object becomes available for
future use. So at any given time, the number of connection objects in the pool
would be the maximum number of simultaneous connections that have been made so
far, and not necessarily the total maximum that are allowed (in my case 1000).
Is this correct?
Dan Schwartz
The default is a reasonable number depending upon traffic. Is your site
fairly busy? We manage a fairly busy site with lot database activity and
even then we don't have to go 1000 connections which essentially might
boil down to 1000 concurrent requests. Are you really getting that many
requests simultaneously? As others have indicated there is a good chance
you have connection and/or other resource leaks in your code. There are
some debugging hints posted like setting max connections to 1 in your
dev environment and see if it works cleanly.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org