[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[stellation-res] Stellation on Mckoi
|
Hi,
I started writing this a month or two ago and intended to come back to it,
but I haven't had the time. However I thought I'd send it anyway in case
it's useful.
----------------------------------------------
I've been trying to get Stellation running on the Mckoi DB. Mckoi can run
either standalone (DB in its own JVM) and embedded (where the DB engine is
in the Stellation JVM).
As far as SQL is concerned there were two small problems:
1) Mckoi doesn't like having 'REFERENCE' after column definitions. Since
these seem to duplicate the FOREIGN KEY constaint, removing them fixed the
problem.
2) I had to turn off case-sensitivity in mckoi.
Now I encountered the biggest problem: how to get the command line options
for
the database into the program. At first I was irritated, then I thought it
was funny. Finally I realized that the command line processing was the
product of someone very, very evil. Someone who needs to be locked up in a
padded cell before they try to destroy mankind.
Everytime I changed the order in one place some other place would randomly
rearrange the order of things in the StringList or Location or other String
collection object thing chosen apparently at random. After spending 4 hours
trying to get the orders straight I gave up. For the moment Mckoi gets its
details from the system-properties 'dburl', 'dbschema', 'dbusername' and
'dbpassword'. I may try again some other time.
At this point all the tests in test/build.xml passed.
However if I forget to add a comment to command line the tsvc program would
ask for one and ctrl-Z doesn't work as the terminator like the docs say so I
pressed ctrl-C. However whenever I press ctrl-C the server goes into an
inifinite loop and the CPU goes to 99%. The problem was at
org.eclipse.stellation.remote.engine.Connection.run(Connection.java:114)
When the stream is terminated it throws an IOException, but this is just
caught and goes and tries again. I added a failureCount++ to the start of
the loop which seemed to fix it, but I'm not sure if it's right.
Also when I do moderately large operations (eg checkin 200 files) the memory
usage goes up rapidly (200MB+). Is this normal? I thought it might be the
JDK1.4.1/JDOM bug, but I tried JDK1.4.0 and it still happened.
Other irks I came across:
1) Calling exit from bat files is annoying.
2) bat files need quotes around paths and usernames with spaces in.
3) The docs all say the database separator is : it's actually +
4) I tried using the build.xml files for a while before reading the
instructions and using build-core.xml.
5) "tsvc add ." doesn't add the current directory.
6) On Windows getCanonicalizedName() is v. v. slow.
All the above tests were done on Sun JDK1.4.1_02 on WinXP. With repository
and client
on same machine.
Once I had it working on Windows I tried Linux. For some reason mckoi
couldn't find its database files in embedded mode so I had to run it
standalone. When I tried to run tsvcadmin on Linux it kept saying it doesn't
understand 'initialize' parameter. I couldn't track down what was causing
this
so I ran tsvcadmin on my Windows machine pointing at the DB on the Linux
machine.
Next I ran up the tsvcserver; this started without problems. However
whenever I tried to connect to it (from the Win machine) it would just
freeze. Looking at the thread dumps both ends seem to be reading (though the
IBM JDK thread-dump is quite hard to read so I may be wrong).
--
Snow
Attachment:
stellonmckoi.zip
Description: Zip compressed data