That makes sense, thanks... My question, howerver: what do i need to do so that my jdbc client could periodically run query on remaining node even if wsrep_ready=OFF?On Tue, Nov 22, 2016 at 7:21 PM, Diego Dupin <diego.dupin@mariadb.com> wrote:Hi,As documented here (https://mariadb.com/kb/en/mariadb/mariadb-galera-cluster- ) :known-limitations/
- A command may fail with
ER_UNKNOWN_COM_ERROR
producing 'WSREP has not yet prepared node for application use' (or 'Unknown command' in older versions) error message. It happens when a cluster is suspected to be split and the node is in a smaller part — for example, during a network glitch, when nodes temporarily lose each other. It can also occur during state transfer. The node takes this measure to prevent data inconsistency. Its usually a temporary state which can be detected by checking wsrep_ready value. The node, however, allows SHOW and SET command during this period. if you have only 2 nodes : Quorum requires a majority, meaning that you cannot have automatic failover in a two node cluster. This is because the failure of one causes the remaining node automatically go into a non-primary state.Diego.On Wed, Nov 23, 2016 at 12:00 AM, l vic <lvic4594@gmail.com> wrote:______________________________i have the following jdbc exception in my jdbc client for the node 1 after another node (node2) is removed:I wonder why i have this failure when i just trying to read db from the unaffected node? The failure seems to be permanent, once it happened - all subsequent reads fail
om.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionEx ception: WSREP has not yet prepared node for application use
at sun.reflect.GeneratedConstructorAccessor9.newInstance(Unknow n Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De legatingConstructorAccessorImp l.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:4 23)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:917 )
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:25 45)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:25 03)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java :1369)
at com.mysql.jdbc.ConnectionImpl.loadServerVariables(Connection Impl.java:3833)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(Conn ectionImpl.java:3283)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionIm pl.java:2297)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.jav a:2083)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806 )
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:4 7)
at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknow n Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De legatingConstructorAccessorImp l.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:4 23)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.jav a:410)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDr iver.java:328)
at java.sql.DriverManager.getConnection(DriverManager.java:664) _________________
Mailing list: https://launchpad.net/~maria-discuss
Post to : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help : https://help.launchpad.net/ListHelp