asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jianfeng Jia <>
Subject Re: [jira] [Commented] (ASTERIXDB-1201) RTree built on the optional field refuses to load the NULL value when executing the bulk load
Date Tue, 01 Dec 2015 00:04:31 GMT
Hi devs,

I submitted an issue 1201 which happens on the master (48706305724f6e2580b5a6716a709cebce2b40c0).
But it’s not reproducible in the the latest master.
Basically, it built an RTree index on an nullable field. It was complain about the NULL values
in the older version. 
I’m wondering if anyone fix this problem intentionally. If so, what’s the meaning of NULL
as to the RTree index? 

> On Nov 30, 2015, at 2:11 PM, Ian Maxon (JIRA) <> wrote:
>    [
> Ian Maxon commented on ASTERIXDB-1201:
> --------------------------------------
> I'm kind of concerned the bug was fixed by my changes though... Does the RTree appear
to work the same as the one built through insertion? I did not try an index on a  with nullable
field in my verification. Why do we even attempt to store a key with a NULL spatial attribute
in the secondary RTree, anyway? From a naive perspective I don't see how it would make sense.

>> RTree built on the optional field refuses to load the NULL value when executing the
bulk load
>> ---------------------------------------------------------------------------------------------
>>                Key: ASTERIXDB-1201
>>                URL:
>>            Project: Apache AsterixDB
>>         Issue Type: Bug
>>         Components: Storage
>>           Reporter: Jianfeng Jia
>>           Assignee: Ian Maxon
>> When I build a RTree index on an optional field, it will throw "Value provider for
type NULL is not implemented" exception when operates the bulk load.
>> Here is the reproducible script:
>> {code}
>> drop dataverse test if exists;
>> create dataverse test;
>> use dataverse test;
>> create type t_record as closed {
>> fa : int64,
>> fb: int64?,
>> fc : point?
>> }
>> create dataset ds_set (t_record) primary key fa;
>> create index bidx on ds_set(fb) type btree;
>> create index cidx on ds_set(fc) type rtree;
>> insert into dataset ds_set ( [{"fa":1}, {"fa":2, "fb":3}, {"fa":3, "fc":point("4.0,5.0")}]);
>> load dataset ds_set
>> using localfs
>> (("path"=""),("format"="adm"));
>> {code}
>> The "insert" and "load" statements are run separately. 
>> The test.adm uses the same three records:
>> {code}
>> {"fa":1}
>> {"fa":2, "fb":3}
>> {"fa":3, "fc":point("4.0,5.0")
>> {code}
>> The insert statement works fine. The error happens in the "load" statement only:

>> {code}
>> Caused by: org.apache.hyracks.algebricks.common.exceptions.NotImplementedException:
Value provider for type NULL is not implemented
>>  at$1.getValue(
>>  at
>>   at
>>   at$RTreeBulkLoader.propagateBulk(
>>   at$RTreeBulkLoader.end(
>>   at$LSMRTreeBulkLoader.end(
>>   at
>>   ... 7 more 
>> {code}
>> The BTree index works fine if I remove the RTree index.
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)


Jianfeng Jia
PhD Candidate of Computer Science
University of California, Irvine

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message