On 13-mrt-2007, at 18:01, Leander Koornneef wrote:


On 12-mrt-2007, at 13:27, Jeff Mesnil (JIRA) wrote:

[ https://forge.continuent.org/jira/browse/SEQUOIA-925? page=comments#action_13791 ]

Jeff Mesnil commented on SEQUOIA-925:
-------------------------------------

I observed this behavior with the console on JDK 6 only.
I think it has to do with the XML packages bundled by default with Java 6 (compared to Java 1.4 or 1.5)

As you said, it has no consequences but it very annoying.
I'll try to find a workaround


Hmm, I just checked the docs and they state:

Sequoia requires that the following additional software be installed on controller nodes:

    * Java Software Development Kit (Sun 1.4.2)

I have always assumed that this is a minimum requirement.
I.e.: JDK 1.4 or higher are required/supported. Is this
assumption correct, or should I actually downgrade to 1.4.2?

Hmm, we've been seeing all kinds of weird behavior and/or bugs
in Sequoia in combination with JDK 1.6, The problems appear to
be mostly XML related, although this is based on my subjective
observations. At one point during failover testing, I ran into a
situation where it was impossible to re-add a controller to a RAIDb-1
cluster, because Sequoia thought that the vdb config files on
the two controllers were different, which was positively not the
case, because the config files had not changed since I removed
the controller from the cluster:

========================
2007-03-15 00:13:12,928 ERROR controller.xml.DatabasesParser The virtual database sequoiadb could not be added to the controller (because of Error while joining group sequoiadb (org.continuent.sequoia.common. exceptions.ControllerException: Virtual database configuration is not compatible with other controller settings.)) java.lang.Exception: Error while joining group sequoiadb (org.continuent.sequoia.common.exceptions.ControllerException: Virtual database configuration is not compatible with other controller settings.) at org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualData base.joinGroup(DistributedVirtualDatabase.java:629) at org.continuent.sequoia.controller.xml.DatabasesParser.endElement (DatabasesParser.java:646) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1528)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.parseInternal (Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at org.apache.crimson.parser.XMLReaderImpl.parse (XMLReaderImpl.java:442) at org.continuent.sequoia.controller.xml.DatabasesParser.readXML (DatabasesParser.java:270) at org.continuent.sequoia.controller.xml.DatabasesParser.readXML (DatabasesParser.java:319) at org.continuent.sequoia.controller.core.Controller.addVirtualDatabases (Controller.java:220) at org.continuent.sequoia.controller.core.Controller.loadXmlConfiguration (Controller.java:553) at org.continuent.sequoia.controller.core.ControllerConfiguration.setUpVirt ualDatabase(ControllerConfiguration.java:372) at org.continuent.sequoia.controller.xml.ControllerParser.configureVirtualD atabase(ControllerParser.java:564) at org.continuent.sequoia.controller.xml.ControllerParser.startElement (ControllerParser.java:308) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1488)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.parseInternal (Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at org.apache.crimson.parser.XMLReaderImpl.parse (XMLReaderImpl.java:442) at org.continuent.sequoia.controller.xml.ControllerParser.readXML (ControllerParser.java:121) at org.continuent.sequoia.controller.xml.ControllerParser.readXML (ControllerParser.java:171) at org.continuent.sequoia.controller.xml.ControllerParser.readXML (ControllerParser.java:200) at org.continuent.sequoia.controller.core.ControllerConfiguration.setUpByXm l(ControllerConfiguration.java:232) at org.continuent.sequoia.controller.core.ControllerConfiguration.setup (ControllerConfiguration.java:288) at org.continuent.sequoia.controller.core.ControllerConfiguration.getContro ller(ControllerConfiguration.java:314) at org.continuent.sequoia.controller.core.Controller.main (Controller.java:752) Caused by: org.continuent.sequoia.common.exceptions.ControllerException: Virtual database configuration is not compatible with other controller settings. at org.continuent.sequoia.common.exceptions.SequoiaException.fillInStackTra ce(SequoiaException.java:103)
        at java.lang.Throwable.<init>(Throwable.java:196)
        at java.lang.Exception.<init>(Exception.java:41)
at org.continuent.sequoia.common.exceptions.SequoiaException.<init> (SequoiaException.java:57) at org.continuent.sequoia.common.exceptions.ControllerException.<init> (ControllerException.java:51) at org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualData base.joinGroup(DistributedVirtualDatabase.java:574)
        ... 29 more
========================



Also, I had criticial issues while restoring dumps to a backend,
because Sequoia was unable to drop the database first:

========================
2007-03-14 23:38:52,062 DEBUG backup.backupers.PostgreSQLBinaryBackuper Restoring database 'sequoiadb' on host '10.0.30.50:5432' 2007-03-14 23:38:52,062 DEBUG backup.backupers.PostgreSQLBinaryBackuper Dropping database 'sequoiadb' 2007-03-14 23:38:52,084 INFO backup.backupers.NativeCommandExec Starting execution of "dropdb -h 10.0.30.50 -p 5432 -U dbuser sequoiadb" 2007-03-14 23:38:52,086 DEBUG backup.backupers.NativeCommandOutputThread Starting NativeCommandOutputThread: Thread-6 2007-03-14 23:38:52,089 DEBUG backup.backupers.NativeCommandOutputThread Starting NativeCommandOutputThread: Thread-7 2007-03-14 23:38:52,100 DEBUG backup.backupers.NativeCommandOutputThread Terminating NativeCommandOutputThread: Thread[Thread-6,5,RMI Runtime] 2007-03-14 23:38:52,100 DEBUG backup.backupers.NativeCommandOutputThread Thread-7: dropdb: database removal failed: ERROR: database "sequoiadb" is being accessed by other users 2007-03-14 23:38:52,100 DEBUG backup.backupers.NativeCommandOutputThread Terminating NativeCommandOutputThread: Thread[Thread-7,5,RMI Runtime] 2007-03-14 23:38:52,100 INFO backup.backupers.NativeCommandExec Command "dropdb -h 10.0.30.50 -p 5432 -U dbuser sequoiadb" logged 1 errors and terminated with exitcode 1 2007-03-14 23:38:52,100 WARN backup.backupers.NativeCommandExec Native command failed with error count=-1 2007-03-14 23:38:52,101 INFO backup.backupers.NativeCommandExec Process output (stdout): 2007-03-14 23:38:52,101 INFO backup.backupers.NativeCommandExec Process output (stderr): 2007-03-14 23:38:52,101 WARN backup.backupers.PostgreSQLBinaryBackuper Unable to drop drop database prior to restore 2007-03-14 23:38:52,101 DEBUG backup.backupers.PostgreSQLBinaryBackuper Re-creating 'sequoiadb' 2007-03-14 23:38:52,115 INFO backup.backupers.NativeCommandExec Starting execution of "createdb -h 10.0.30.50 -p 5432 -U dbuser -- encoding=UTF8 sequoiadb" 2007-03-14 23:38:52,118 DEBUG backup.backupers.NativeCommandOutputThread Starting NativeCommandOutputThread: Thread-8 2007-03-14 23:38:52,118 DEBUG backup.backupers.NativeCommandOutputThread Starting NativeCommandOutputThread: Thread-9 2007-03-14 23:38:52,120 DEBUG backup.backupers.NativeCommandOutputThread Thread-9: createdb: database creation failed: ERROR: database "sequoiadb" already exists 2007-03-14 23:38:52,120 DEBUG backup.backupers.NativeCommandOutputThread Terminating NativeCommandOutputThread: Thread[Thread-9,5,RMI Runtime] 2007-03-14 23:38:52,121 DEBUG backup.backupers.NativeCommandOutputThread Terminating NativeCommandOutputThread: Thread[Thread-8,5,RMI Runtime] 2007-03-14 23:38:52,122 INFO backup.backupers.NativeCommandExec Command "createdb -h 10.0.30.50 -p 5432 -U dbuser --encoding=UTF8 sequoiadb" logged 1 errors and terminated with exitcode 1 2007-03-14 23:38:52,122 WARN backup.backupers.NativeCommandExec Native command failed with error count=-1 2007-03-14 23:38:52,122 INFO backup.backupers.NativeCommandExec Process output (stdout): 2007-03-14 23:38:52,122 INFO backup.backupers.NativeCommandExec Process output (stderr): 2007-03-14 23:38:52,124 ERROR backup.backupers.PostgreSQLBinaryBackuper Error while performing backup 2007-03-14 23:38:52,128 ERROR controller.RequestManager.sequoiadb Recovery could not complete
========================


As you can see, the backend database cannot be dropped because
there are client connections to it, but these connections are from
Sequoia. However, I could not find a way to prevent Sequoia from
starting connections to the database. I was able to cirumvent this by
killing the postgresql processes from the command line, but then the
restore of the recovery log would fail after restoring the SQL dump.
Basically, we had been running around in circles like this for days,
where solving one issue introduced another and seeing unpredictable
and erratic behavior until we switched to JDK 1.5, after which all these
issues basically went away. I would like to ask this question again: is
JDK 1.6 even supported for Sequoia? If not, then _please_ add this
information to the website and documentation, with a big fat warning
sign next to it, so other users will not have to experience the madness
we did...

Leander



_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to