RAC 12.1, JDBC, FCF & switch from preferred node to available node

From: Igor Racic <igor.racic_at_gmail.com>
Date: Thu, 12 May 2016 19:28:16 +0200
Message-ID: <CAGjkCBYPH0jWrmKwgOK=r2J0gpoud_-oTGeYnOWyk6wewPberA_at_mail.gmail.com>



Hi,

Scenario:
Server admin managed (preferred & available nodes setting) Service created with srvctl in two test cases (2 available nodes vs 1 preferred + 1 available node)

UCP DataSource configured to use FCF.
Connection is already created and closed, so freed to go back to pool (UCP DataSource).
Unplanned outage happened.
Service is automatically started on available node. But there is some fraction of the time, service is starting but not available yet - if you try to get connection again, driver will not wait service to get available (nor retry) - you will get error from 1st node.

NOTE:
In case of two preferred nodes: it will switch gracefully to 2nd node, no error, transparent to end user. OK
In case 1 preferred + 1 available node: exception is thrown. NOK.

"jdbc:oracle:thin:_at_" +

"(DESCRIPTION=" +
"(CONNECTION_TIMEOUT=15)(RETRY_COUNT=20)(RETRY_DELAY=3)" +
"(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=ora12-cluster-scan)(PORT=1521)))"
+
"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DB5_PDB1_SERVICE)))");
I would expect that there is no difference in preferred vs available setting and that getConnection will "know" that switch is going on and that should wait and/or retry...
Maybe I do not read correctly
http://www.oracle.com/technetwork/database/options/clustering/overview/client-failover-brief-2430007.pdf (I assumed thin driver should handle it)

Anybody experienced it, is that covered by Patch 19154304: JDBC: RETRY_COUNT DOES NOT RETRY WHEN SERVICE DOWN AS REQUIRED ?

Version 12.1.0.2 db and jar files
Do I miss something obvious here ?

Thank you and regards,
Igor

--
http://www.freelists.org/webpage/oracle-l
Received on Thu May 12 2016 - 19:28:16 CEST

Original text of this message