Forum: Building APIs & Wire Protocol

Post: VOLTDB ERROR: UNEXPECTED FAILURE, while INSERT

VOLTDB ERROR: UNEXPECTED FAILURE, while INSERT
krishnaprasadas@gmail.com
Sep 6, 2013
Hi,
I was using voltdb 2 in my application. Currently I'm upgrading it to voltdb3 and I'm stuck with an error.

30> select * from aggregated_cdr;
MSISDN CIRCLE_ID NEW_CB OLD_CB CB_TIMESTAMP STD_MOU ISD_MOU OG_ROAMING OG_HOME LOCAL_ON_NET DATA_USAGE SMS_COUNT ROAMING_I_C RECHARGE_AMOUNT
------- ---------- ------- ------- ------------- -------- -------- ----------- -------- ------------- ----------- ---------- ------------ ----------------



(0 row(s) affected)
31> INSERT INTO AGGREGATED_CDR(MSISDN) VALUES (8888888888);
VOLTDB ERROR: UNEXPECTED FAILURE:
NValue::getTupleStorageSize() unsupported type 'NULL'

32>
----------------------------------------------------------------------------------------------------------------
table script:
CREATE TABLE AGGREGATED_CDR (
MSISDN BIGINT NOT NULL,
CIRCLE_ID INTEGER DEFAULT '0' NOT NULL,
NEW_CB FLOAT DEFAULT NULL,
OLD_CB FLOAT DEFAULT NULL,
CB_TIMESTAMP TIMESTAMP DEFAULT NULL,
STD_MOU FLOAT DEFAULT NULL,
ISD_MOU FLOAT DEFAULT NULL,
OG_ROAMING FLOAT DEFAULT NULL,
OG_HOME FLOAT DEFAULT NULL,
LOCAL_ON_NET FLOAT DEFAULT NULL,
DATA_USAGE FLOAT DEFAULT NULL,
SMS_COUNT INTEGER DEFAULT NULL,
ROAMING_I_C FLOAT DEFAULT NULL,
RECHARGE_AMOUNT BIGINT DEFAULT NULL,
PRIMARY KEY (MSISDN)
);
PARTITION TABLE AGGREGATED_CDR ON COLUMN MSISDN;
CREATE PROCEDURE FROM CLASS com.flytxt.qreda.rte.voltdb.proc.RechargeUpdateProcedure;
CREATE PROCEDURE FROM CLASS com.flytxt.qreda.rte.voltdb.proc.CoreBalanceUpdateProcedure;
CREATE PROCEDURE FROM CLASS com.flytxt.qreda.rte.voltdb.proc.SmsCountAndStdMouUpdateProcedure;
CREATE PROCEDURE FROM CLASS com.flytxt.qreda.rte.voltdb.proc.DataUsageUpdateProcedure;
CREATE PROCEDURE FROM CLASS com.flytxt.qreda.rte.voltdb.proc.TableDeleteProcedure;

What may be the problem ?

Thanks & Regards
Krishnaprasad
xin
Sep 9, 2013
Hi,

We just found that we have this schema column "DEFAULT NULL" problem from V3.5. Currently, The easiest work around is to not include "DEFAULT NULL" after the column definition. Internally, VoltDB will still consider the column has default null value. Except for "DEFAULT NULL", you should be all right.

Sorry to bring up this problem.
Xin
krishnaprasadas@gmail.com
Sep 10, 2013
Thanks Xin,
I found out the same through an iterative way. But the error was misleading :( .

Also Is that version production ready ?. (voltdb 3.5.0.1)

Regards,
Krishnaprasad