List:NDB Connectors« Previous MessageNext Message »
From:Clément Pinchedez Date:December 4 2008 11:10pm
Subject:Problem with getString() with the result set
View as plain text  
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