List:NDB Connectors« Previous MessageNext Message »
From:Clément Pinchedez Date:December 14 2008 3:42pm
Subject:RE : Problem with getString() with the result set
View as plain text  
Hello again,
It appears that this problem is solved by the version 0.7.1 of NdbBindings.
Best regards,

Clément Pinchedez
________________________________________
De : Clément Pinchedez
Date d'envoi : vendredi 5 décembre 2008 00:10
À : ndb-connectors@stripped
Objet : Problem with getString() with the result set

Hello,

I am using the version 0.7.0 of NdbBindings and I would like to make a
NdbIndexScanOperation on the following table

CREATE TABLE MSGS (ID INTEGER NOT NULL,
                                CONTAINER VARCHAR(250),
                                MSGID_PROD VARCHAR(250),
                                MSGID_SEQ INTEGER,
                                EXPIRATION BIGINT,
                                MSG VARBINARY(7522),
                                MSG_SIZE BIGINT,
                        PRIMARY KEY ( ID ) ) ENGINE=ndb;

using the index MSGS_CIDX that I created on the column CONTAINER.

Performing several times the transaction, this may behave fine, but often, I get the
following error message:

*** glibc detected *** /usr/java/jdk1.6.0_07/bin/java: free(): invalid next size (fast):
0x08196468 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e52a85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e564f0]
/usr/local/lib/libndbj.so.0.0.0(Java_com_mysql_cluster_ndbj_ndbjJNI_NdbRecAttrImpl_1getString+0xc8)[0xb56ca18a]
[0xb5ce9ecd]
[0xb5ce2d77]
[0xb5ce3253]
[0xb5ce3253]
[0xb5ce2edd]
[0xb5ce0249]
/usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so[0x621c63d]
/usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so[0x63107b8]
/usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so[0x621c4d0]
/usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so[0x6245af6]
/usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so[0x62372f8]
/usr/java/jdk1.6.0_07/bin/java(JavaMain+0x2c8)[0x8049b98]
/lib/tls/i686/cmov/libpthread.so.0[0xb7f494fb]
/lib/tls/i686/cmov/libc.so.6(clone+0x5e)[0xb7ebde5e]

Could you help me with it?

I used the code:

NdbTransaction trans = null;
int parallel = 0;
int batch = 0;
boolean forceSend = true;

try {
        trans = ndb.startTransaction();

        // creating an index scan on MSGS_CIDX to retrieve
        // container names
        NdbIndexScanOperation op_ContainerNames = trans
                        .getSelectIndexScanOperation(
                                        indexName_messageTableContainerCol, msgTable,
                                        NdbOperation.LockMode.LM_CommittedRead,
                                        NdbScanOperation.ScanFlag.DESCENDING, parallel,
batch);

        op_ContainerNames.getValue("CONTAINER");

        NdbResultSet rs_container = op_ContainerNames.resultData();

        trans.execute(ExecType.Commit,AbortOption.AbortOnError, forceSend);

        String tempContainerName = null;

        while (rs_container.next()) {
                tempContainerName = rs_container.getString("CONTAINER");
                System.out.println(tempContainerName);
        }
} catch (NdbApiException e) {
        e.printStackTrace();
} finally {
        trans.close();
}
Thread
Problem with getString() with the result setClément Pinchedez5 Dec
  • RE : Problem with getString() with the result setClément Pinchedez14 Dec