Hi,

Recently we have deployed Sequoia into a new data center with the
following configuration.

2 controllers, 2 backends per conntroller. Web application access
Sequoia controller via ASA, allowing port 25322 TCP/UDP. Controllers
access Postgresql Database via ASA, allowing port 5432. Default on ASA
connection timeout is 60 minutes.

Webapps --> ASA Allow 25322 TCP/UDP --> Sequoia
Sequoia --> ASA Allow 5432 TCP --> Postgresql
You are missing the ports required by the group communication (depends on your configuration) for inter-controller communication. You will also need to open the ports for the dump transfer operation (backuper option).

We get the following error messages

ASA log
May 16 12:33:17 XXXXX Deny TCP (no connection) from LAPP1/49838 to
LDB1/5432 flags PSH ACK on interface XXX_XXX
Make sure that your connection pool timeout is lower than your ASA connection timeout.
cluster.log
2008-05-16 12:33:19,431 INFO  Database backend XXXX.ldb1 is now in
state disabled
2008-05-16 12:33:20,574 ERROR Disabling backend ldb1 because it is no
more in sync

full_cluster.log
2008-05-16 12:33:20,574 ERROR backend.DatabaseBackend.ldb1 Request
'update XXXXXXXXXXXXXXXXXX = ...' failed on backend ldb1 but 1 succeeded
(org.continuent.sequoia.common.exceptions.BadConnectionException: An
I/O error occured while sending to the backend.)
ASA broke the JDBC connection to PostgreSQL so the query execution failed. You need to properly set your timeouts.
As I am not an expert with JDBC connections, and how Sequoia uses the
Postgresql JDBC connections to the backends, how can we specify it to
use keepalives, or is this by default? I have read that Postgresql jdbc
keepalive is off by default, referring to postgresql-jdbc-8.3-603

http://archives.postgresql.org/pgsql-jdbc/2008-02/msg00037.php
Sequoai just uses the standard JDBC API, so we have no control on connections that are opened internally by the JDBC driver.
Another interesting point, during the fail


May 16 12:33:19 XXXXX : Deny icmp src XXXX:LAPP1
dst XXXXX:LDB1 (type 3, code 10) by access-group
"XXXXXXX" [0x0, 0x0]


It appears this is coming from our controller and sending to our
database, the ASA is dropping this as only port 5432 TCP is allowed, no
ICMP. What is it sending ICMP for, i realise this "port unreachable"
code, is this a side affect of Sequoia loosing sync with the backend?
As far as I know there is no ICMP packet sent by the controller. This might be a misconfiguration of the group communication that can use PING packets to detect failures.

Thanks for your interest in Sequoia,
Emmanuel

--
Emmanuel Cecchet
FTO @ Frog Thinker Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: [EMAIL PROTECTED]
Skype: emmanuel_cecchet

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

Reply via email to