You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Dan Fabulich <da...@fabulich.com> on 2009/03/08 10:16:18 UTC
[VOTE] Release of DbUtils 1.2 RC1
My first attempt at releasing a commons project; please be gentle. :-)
Compatibility warning: This version is mostly a bugfix release, but to fix
DBUTILS-31 we had to upgrade the JVM dependency from JDK 1.3 to JDK 1.4.
Except for that, it is backwards compatible with DbUtils 1.1.
PLEASE TEST THIS RELEASE WITH A REAL DATABASE!
Although this project has reasonable unit tests, it has no integration
tests with any actual databases; it is quite possible that the fix for
DBUTILS-31 has broken something on Oracle, MS SQL Server, Derby, or your
favorite database.
To verify DBUTILS-31, use QueryRunner to put a null value in a field, e.g.
with QueryRunner.update. Ideally it would be good to verify putting nulls
in fields of various types: char, varchar, int, boolean, date, etc.
--
Tag:
https://svn.apache.org/repos/asf/commons/proper/dbutils/tags/DBUTILS_1_2
Site:
http://people.apache.org/builds/commons/dbutils/1.2/RC1/site/index.html
Binaries:
http://people.apache.org/builds/commons/dbutils/1.2/RC1/staged/commons-dbutils/commons-dbutils/1.2/
[ ] +1 release it
[ ] +0 go ahead I don't care
[ ] -1 no, do not release it because
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by Dan Fabulich <da...@fabulich.com>.
sebb wrote:
> I think there are some problems with thread-safety.
Yikes! I didn't investigate very carefully the thread-safety claims of
these classes (again, not much has changed since 1.1) but I agree with
your assessment, now that I open my eyes and think about it.
In revision 752369 I incorporated the patches you attached to
http://issues.apache.org/jira/browse/DBUTILS-51
> However, the KeyedHandler instance variables are protected, rather
> than private, so making them final would perhaps break some programs.
> I don't think the class can be thread-safe at present.
I don't think there's a lot of risk that users required these values to be
mutable; I would assume that most users just called the super constructor,
so I applied this patch, too.
-Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by sebb <se...@gmail.com>.
I think there are some problems with thread-safety.
QueryRunner Javadoc says the class is thread-safe. However it has a
protected mutable variable DataSource which can also be set/got via
public methods. If one thread sets the variable, another may not see
the correct value, so the class is not thread-safe.
ArrayHandler has a non-final instance variable "convert" which could
be made final.
Likewise BasicRowProcessor. This would make the classes immutable, and
therefore thread-safe. It's not clear if they are thread-safe without
making the variables final.
The same applies to most of the handlers - they have instance
variables which could be made final.
However, the KeyedHandler instance variables are protected, rather
than private, so making them final would perhaps break some programs.
I don't think the class can be thread-safe at present.
I'll raise a JIRA with suggested patches.
On 11/03/2009, Dan Fabulich <da...@fabulich.com> wrote:
> sebb wrote:
>
>
> > -0.5 because the unit tests seem wrong.
> >
>
> I've incorporated your feedback in revision 752322. For the record, all of
> those tests predate DbUtils 1.1; we haven't touched them in years.
>
> I think these test changes are pretty minor; not worth an additional RC.
> What do you think?
>
> -Dan
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by Dan Fabulich <da...@fabulich.com>.
sebb wrote:
> -0.5 because the unit tests seem wrong.
I've incorporated your feedback in revision 752322. For the record, all
of those tests predate DbUtils 1.1; we haven't touched them in years.
I think these test changes are pretty minor; not worth an additional RC.
What do you think?
-Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by sebb <se...@gmail.com>.
On 08/03/2009, Dan Fabulich <da...@fabulich.com> wrote:
>
> My first attempt at releasing a commons project; please be gentle. :-)
>
> Compatibility warning: This version is mostly a bugfix release, but to fix
> DBUTILS-31 we had to upgrade the JVM dependency from JDK 1.3 to JDK 1.4.
> Except for that, it is backwards compatible with DbUtils 1.1.
>
> PLEASE TEST THIS RELEASE WITH A REAL DATABASE!
>
> Although this project has reasonable unit tests, it has no integration
> tests with any actual databases; it is quite possible that the fix for
> DBUTILS-31 has broken something on Oracle, MS SQL Server, Derby, or your
> favorite database.
The Unit test
ResultSetIteratorTest
looks rather odd, in that it assigns and checks the row[] array to be
non-null within the iterator loop, but checks row[0] etc outside the
loop. Is it really intended to only check the last row[] array? If so,
it ought to check for null first.
Similar comments apply to:
ArrayListHandlerTest
BeanListHandlerTest
MapListHandlerTest
BasicRowProcessorTest
BeanProcessorTest
Also, ProxyFactoryTest uses "instanceof" checks against methods that
are declared to return the class being tested - these should surely
check for null instead?
> To verify DBUTILS-31, use QueryRunner to put a null value in a field, e.g.
> with QueryRunner.update. Ideally it would be good to verify putting nulls
> in fields of various types: char, varchar, int, boolean, date, etc.
>
> --
>
> Tag:
>
> https://svn.apache.org/repos/asf/commons/proper/dbutils/tags/DBUTILS_1_2
DOAP ought to have an AL header.
> Site:
>
> http://people.apache.org/builds/commons/dbutils/1.2/RC1/site/index.html
>
"...and relies only on a standard Java 1.3 or later JRE. "
That should be 1.4.
Given that it is now using 1.4, Junit could be updated to 3.8.2
> Binaries:
>
> http://people.apache.org/builds/commons/dbutils/1.2/RC1/staged/commons-dbutils/commons-dbutils/1.2/
Sigs and hashes OK
N&L files look OK.
Source archive agrees with SVN tag.
> [ ] +1 release it
> [ ] +0 go ahead I don't care
> [ ] -1 no, do not release it because
-0.5 because the unit tests seem wrong.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by Dan Fabulich <da...@fabulich.com>.
Jörg Schaible wrote:
> However, IBM JDK 6 fails here:
>
> -------------------------------------------------------------------------------
> Test set: org.apache.commons.dbutils.QueryRunnerTest
> -------------------------------------------------------------------------------
> Tests run: 8, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.341 sec
> <<< FAILURE!
> testFillStatementWithBeanErrorReadMethodPrivate(org.apache.commons.dbutils.QueryRunnerTest)
>
> It seems that this JDK does more internal checks.
Possibly fixed in trunk revision 752329. (Fumbled fingers and
accidentally forgot to add a commit message.) Please try again in trunk;
I think it should work.
-Dan
Re: [VOTE] Release of DbUtils 1.2 RC1
Posted by Jörg Schaible <jo...@gmx.de>.
Hi Dan,
I've downloaded the src tar ball and tried to build the version with my
compiler zoo. It runs fine with all Sun JDKs, IcedTea6, Blackdown 1.4.2,
JRockit 1.4 and 1.5. As usual the build faisl for IBM JDK 1.4 and 1.5
because Maven fails itself on this versions. However, IBM JDK 6 fails here:
-------------------------------------------------------------------------------
Test set: org.apache.commons.dbutils.QueryRunnerTest
-------------------------------------------------------------------------------
Tests run: 8, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.341 sec
<<< FAILURE!
testFillStatementWithBeanErrorReadMethodPrivate(org.apache.commons.dbutils.QueryRunnerTest)
Time elapsed: 0.084 sec <<< ERROR!
java.beans.IntrospectionException: Modifier for getter method should be
public.
at java.beans.PropertyDescriptor.setReadMethod(PropertyDescriptor.java:123)
at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:76)
at
org.apache.commons.dbutils.QueryRunnerTest.testFillStatementWithBeanErrorReadMethodPrivate(QueryRunnerTest.java:157)
It seems that this JDK does more internal checks. This is not a show stopper
for the release though, since it does not affect the functionality of the
DBUtils itself, but if you have to cut another RC, it would be good if the
test can also pass on this JDK.
So, in general: +1
- Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org