On Thu, Aug 29, 2019 at 6:17 PM Phil Steitz <phil.ste...@gmail.com> wrote:

>
>
> On 8/29/19 6:37 AM, Gary Gregory wrote:
> > Hi All:
> >
> > In https://github.com/apache/commons-dbcp/pull/34, I've reduced a ton of
> > boilerplate code using lambdas. This also happens to fix a bunch of
> places
> > where we did not call checkOpen() when we should have.
>
> Interesting.  I have a couple of comments.
>
> First is a nit - it would make review much easier if you separate the
> formatting changes from the actual code changes in commits. Please try
> to do that.
>
> Second is more important.  I am not a jvm expert so this may be a
> non-issue, but I wonder whether these changes will have performance /
> resource utilization impact.  If someone can confirm that this all gets
> optimized to the same or equivalent bytecode, there is nothing to worry
> about.  If not, I would strongly recommend running benchmarks to
> validate that there is no performance impact.
>

Hi Phil,

I understand your concerns but if we step back to the 10k ft level for this
component, let's remember that we are managing _database_ connections here,
and these database operations are typically extremely slow _compared_ to a
Java application: a database app ends up suffering from dealing delays to
do with network IO plus whatever the database is doing. On top of this, any
DBA would not ever consider allowing an app to use 10k connections, even if
the database could handle it. Maybe measurements would be different with an
in-memory database like H2 or HSQLDB, but the database itself is the
bottleneck no matter what, and borrow/return from DBCP is just noise in
comparison IMO.

My last point is that if I were to write such a component like DBCP
_today_, I would absolutely do it with lambdas, otherwise the duplication
would become a code smell by ignoring a language feature, released in Java
8 and which should be mature on the eve of Java 13.

WRT the nit, yeah, that's unfortunate but some of the files have had _so
much_ boilerplate methods edited into "one-liners" and this is going to
mean a lot of changes indeed. Granted, there might be cases where I only
wanted to reformat one method and mistakenly reformatted a whole file, and
for that I offer my apologies.

Gary


> Phil
>
>
> >
> > Gary
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

Reply via email to