Base slowness and Java update

Hello

This topic has rather hijacked my question about base and external data tables so I am starting a separate thread.

I am well aware of the problem, as summarised here:
http://wiki.documentfoundation.org/Base

The current workaround involves using an older version of openjdk-jre. (Not straightforward, as far as I can tell, if using Debian testing - yes, I know I could get Java from elsewhere)

However, base needs to work with up to date Java, in other words some bug fixing needs doing. For this reason I have asked a question on http://lists.freedesktop.org/mailman/listinfo/libreoffice .

It seems to me that for the OpenJDK people to be able to sort out this problem they need to know what it is about Java that is affecting base so badly. And we are not dependent on Oracle as far as I can see, OpenJDK is an open source project and anyone can join in.

So if anyone thinks they know which change in openjdk has caused this problem or how to find out I would like them to head over to the development mailing list and contribute there. (And thanks, Alex, for your suggestion that it may have something to do with accessibility and reminding us that many of the developers are currently at the LibreOffice annual conference.)

John

Hi :slight_smile:
OpenJDK is on Oracles list of OpenSource projects it runs
http://oss.oracle.com/

The OpenJDK website mentions Oracle a bit
http://openjdk.java.net/faq/
About 2nd or 3rd main sub-heading is "Oracle's plans for OpenJDK".

The Wikipedia page gives soem background
http://en.wikipedia.org/wiki/OpenJDK
Sun projects were acquired by Oracle.

Sad, i know.
Regards from
Tom :slight_smile:

Hi Tom

The OpenJDK website mentions Oracle a bit
http://openjdk.java.net/faq/
About 2nd or 3rd main sub-heading is "Oracle's plans for OpenJDK".

That page mentions Oracle quite a lot! However, they make a very clear commitment to open source and to welcoming outside involvement:

"If I don't work for Oracle, can I participate in OpenJDK?

Of course, we'd be happy to have you join! You can participate under the same conditions as other contributors. See http://openjdk.org/contribute for details."

So, let's take them at their word.

However, before we can ask them to sort out this slowness bug we need, it seems to me, to be able to tell them what the bug is. Which is why I am trying to find out what it is about OpenJDK, which change, is causing the problem with base.

John

Hi :slight_smile:
I agree about taking them at their word and trying to help with fixing it but over the last year we have seen differences between their promises towards OpenSource and their actions.

TDF is not the only OpenSource or semi-OpenSource project or organisation that has been forced to walk away from trying to deal with Oracle
http://www.eweek.com/c/a/Linux-and-Open-Source/Apache-Blasts-Oracle-Quits-JCP-Over-TCK-857950/

Regards from
Tom :slight_smile:

I think you will find that most of the industry, and nearly all of
the open source community will be very unlikely to believe what
Oracle says on this subject. It would be wise to consider that they
may have a point.

Mark Stanton
One small step for mankind...

All this is true, but you might want to consider if you really want to
use the built-in HSQLDB database for serious stuff. It is all java,
which will never be really fast. Even with the java issues solved.

With an external database you can avoid using the jdbc driver and
instead use the SDBC driver.

With debian and ubuntu (oneric, since yesterday) the postgresql sdbc
driver (>0.8) has been included which gives GOOD results with postgresql
serves >= 8.4. (thank you, Lionel)

Windows users will need to wait until someone make the driver available
as an extension.

See http://wiki.documentfoundation.org/PostgreSQL-SDBC

I have also tried the native mysql connector which works fast, but still
has some issues (I did not get autonum fields to work, but that may be
just me, also headache with special characters (unicode translation
problems) ).

Ferry

jowyta schreef op do 13-10-2011 om 16:54 [+0100]:

Hi

All this is true, but you might want to consider if you really want to
use the built-in HSQLDB database for serious stuff. It is all java,
which will never be really fast. Even with the java issues solved.

With an external database you can avoid using the jdbc driver and
instead use the SDBC driver.

With debian and ubuntu (oneric, since yesterday) the postgresql sdbc
driver (>0.8) has been included which gives GOOD results with postgresql
serves >= 8.4. (thank you, Lionel)

If you do not like PostgreSQL, another option is MySQL/MariaDB

I think you will find that most of the industry, and nearly all of
the open source community will be very unlikely to believe what
Oracle says on this subject. It would be wise to consider that they
may have a point.

All the more reason for us to do as much of the troubleshooting as we
can! My guess is that it is not anything big, maybe a regression since
this seems to have happened before, and if we can pinpoint it, it should
not be too difficult to fix it or get someone at OpenJDK to do so.

All this is true, but you might want to consider if you really want
to use the built-in HSQLDB database for serious stuff. It is all
java, which will never be really fast. Even with the java issues
solved.

Well, it depends what you call serious. I am sure that people with really big databases will use separate applications anyway. For my purposes, with around 2000 records, base was perfectly adequate in terms of speed until OpenJDK-6b23.

Whether or not base moves away from HSQLDB in the future, in the mean time I think we need to get this one fixed and get base running as well as we can.

John

Am 14.10.2011 13:41, Ferry Toth wrote:

All this is true, but you might want to consider if you really want to
use the built-in HSQLDB database for serious stuff. It is all java,
which will never be really fast. Even with the java issues solved.

This has nothing to do with HSQLDB which is a very fast and reliable product.
The problem occurs when Linux+Java+Base meet together, embedded or external HSQLDB, H2 SQL or anySQL over JDBC.
It is not problem with Windows+Java+Base.

With an external database you can avoid using the jdbc driver and
instead use the SDBC driver.

There is no SDBC driver for relational databases other than MySQL and Adabas.

According to Base developer Ocke Janssen, it is a Java problem and he filed an issue:

http://comments.gmane.org/gmane.comp.openoffice.dba.user/7893

Ocke Janssen wrote in:

Hi :slight_smile:
Part of the reason why TDF broke away from Oracle was Oracle's refusal to consider patches, trouble-shooting or any other work done by the community.  Sun's reluctance (before Oracle) drove some people to set-up projects such as Go-oo which then reintegrated into TDF once there was a firm commitment to move away from Oracle.

Time spent helping Oracle is time wasted that achieves nothing, in the experience of many in TDF and other OpenSource projects.  The "support" of Oracle is the main thing that has crippled many projects which are now developing really fast independently.  One example is MariaDb compared to MySql. 
Regards from
Tom :slight_smile:

Hi Andreas,

There is no SDBC driver for relational databases other than MySQL and
Adabas.

Lionel Mamane has recently added/developed/reworked code to get the SDBC
postgresql connector extension working again, at least on Linux.

Alex

Hello,
Has anything happened lately (within the past two to three weeks) with the native
MySQL connector? I tried it and still cannot activate it. Talking MySQL: My fingers
"itch" to try out MariaDB. It supposedly is a "drop-in" replacement to MySQL. Maybe
the connector should be tested for that DB to start with? I would certainly be willing
to help testing it.
Regards
Heinrich

Hello,
Has anything happened lately (within the past two to three weeks) with the native
MySQL connector? I tried it and still cannot activate it. Talking MySQL: My fingers
"itch" to try out MariaDB. It supposedly is a "drop-in" replacement to MySQL. Maybe
the connector should be tested for that DB to start with? I would certainly be willing
to help testing it.
Regards
Heinrich

I have been using MariaDB in place of MySQL. After installing the
various connectors for LO and MySQL I have not had any problems.
Packages for MySQL appear to work correctly with MariaDB. If you look at
the MariaDB installation you will notice MySQL files and folders not
MariaDB.
Using Ubuntu/Pinguy 11.04 and LO 3.4.3.

> I think you will find that most of the industry, and nearly all of
> the open source community will be very unlikely to believe what
> Oracle says on this subject. It would be wise to consider that they
> may have a point.
>
All the more reason for us to do as much of the troubleshooting as we
can! My guess is that it is not anything big, maybe a regression since
this seems to have happened before, and if we can pinpoint it, it should
not be too difficult to fix it or get someone at OpenJDK to do so.

> All this is true, but you might want to consider if you really want
> to use the built-in HSQLDB database for serious stuff. It is all
> java, which will never be really fast. Even with the java issues
> solved.
>
Well, it depends what you call serious. I am sure that people with
really big databases will use separate applications anyway. For my
purposes, with around 2000 records, base was perfectly adequate in terms
of speed until OpenJDK-6b23.

After using Base and earlier Access, I have move to using PostgreSQL and
MySQL/MariaDB side by side as the engine. I only use Base as a front end
for reports and forms. My largest table is about 3100 entries.

Whether or not base moves away from HSQLDB in the future, in the mean
time I think we need to get this one fixed and get base running as well
as we can.

True, the issue needs to be resolved somehow.

Hello,
I wonder whether my problem with the native MySQL-connector has to to with the
fact that I use Debian-Wheezy (which obviously still is at a development stage!).
When trying to activate the connector I keep getting the message

loading component library failed:
file:///.../.libreoffice/3/user/uno_packages/cache/uno_packages/ult52q9.tmp_/
mysql-native-connector-1.0.1-linux-32bit.oxt/mysqlc.uno.so

Any ideas?
Thanks
Heinrich

Hi Tom,

So thanks for this effort to help people with 'related' information.
However, since it's not completely accurate (in any case already for the part that I can know) and it breathes some fiend atmosphere (though I do not feel the need to defend Oracle here of course), maybe it is a good idea if you try to formulate your 'related' information with a bit more care - if you really thin it is needed of course...

Tom Davies wrote (14-10-11 15:35)

Hi :slight_smile: Part of the reason why TDF broke away from Oracle was Oracle's
refusal to consider patches, trouble-shooting or any other work done
by the community.
[snipped the rest]

There was not a situation of refusal. Just lets say 'limited willingness' at certain moments/issues.

Regards,

Cor

Oh, and pls try to find a way to improve your quoting.
There must be others using the same mail client - anyway I hope so for Yahoo :wink: - that could give you some advise.
Thanks for your careful consideration.

Thanks, Andreas, this is helpful and moves us in the right direction.

This bug, https://bugs.freedesktop.org/show_bug.cgi?id=35023 has been marked as not our problem since base runs OK with earlier versions of OpenJDK. However, I do not think that we know this. The problem could be as a result of an intended change in Java such as the tightening up of a variable definition or the closing of a vulnerability. If it is a Java bug then we need to be in a position to say that our application does not run properly because OpenJDK does not work in the way that the Java specifications say it should in the following way...

So, how to we drill down deeper to isolate this problem?

I suggest that if anyone has any sound, practical suggestions as to how to further diagnose this problem that they post them on this thread: http://lists.freedesktop.org/archives/libreoffice/2011-October/019274.html on the development mailing list.

John

Hi Heinrich,

Hello,
I wonder whether my problem with the native MySQL-connector has to to
with the
fact that I use Debian-Wheezy (which obviously still is at a development
stage!).
When trying to activate the connector I keep getting the message

loading component library failed:
file:///.../.libreoffice/3/user/uno_packages/cache/uno_packages/ult52q9.tmp_/

mysql-native-connector-1.0.1-linux-32bit.oxt/mysqlc.uno.so

Any ideas?

From a discussion I saw recently on the Apache OOo list, it may be that

the connector I have compiled and built for 32bit Linux is actually
library version specific, i.e. it might depend on you having certain
particular versions of the libmysqlclient and libmysqlcppconn libraries
on your machine.

If that is the case, and I haven't had time to check this, then it means
that for an independent distribution of the connector, meaning outside
of the distribs own included version, someone will have to build/compile
it on their respective specific machine and make it available.

I need to check back on my Linux machine and see which versions of these
files I have and were used to build the connector, then I will report
back here.

Alex

Hi John,

Thanks, Andreas, this is helpful and moves us in the right direction.

This bug, https://bugs.freedesktop.org/show_bug.cgi?id=35023 has been
marked as not our problem since base runs OK with earlier versions of
OpenJDK. However, I do not think that we know this. The problem could
be as a result of an intended change in Java such as the tightening up
of a variable definition or the closing of a vulnerability. If it is a
Java bug then we need to be in a position to say that our application
does not run properly because OpenJDK does not work in the way that the
Java specifications say it should in the following way...

So, how to we drill down deeper to isolate this problem?

You would probably need someone with a debug build of LibO master branch
who can find some way to analyse the Java stack using gdb or valgrind or
some other reporting tool. From what I gather from past discussions, it
is currently actually quite difficult to do that, but I could be wrong
and things could have moved forward since then.

Alex