asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Maxon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ASTERIXDB-1201) RTree built on the optional field refuses to load the NULL value when executing the bulk load
Date Mon, 30 Nov 2015 22:11:10 GMT

    [ https://issues.apache.org/jira/browse/ASTERIXDB-1201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15032586#comment-15032586
] 

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: https://issues.apache.org/jira/browse/ASTERIXDB-1201
>             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"="172.17.0.2:///data/twitter/test.adm"),("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 org.apache.asterix.dataflow.data.nontagged.valueproviders.AqlPrimitiveValueProviderFactory$1.getValue(AqlPrimitiveValueProviderFactory.java:64)
>   at org.apache.hyracks.storage.am.rtree.frames.RTreeNSMFrame.adjustMBRImpl(RTreeNSMFrame.java:132)
>    at org.apache.hyracks.storage.am.rtree.frames.RTreeNSMFrame.adjustMBR(RTreeNSMFrame.java:153)
>    at org.apache.hyracks.storage.am.rtree.impls.RTree$RTreeBulkLoader.propagateBulk(RTree.java:954)
>    at org.apache.hyracks.storage.am.rtree.impls.RTree$RTreeBulkLoader.end(RTree.java:937)
>    at org.apache.hyracks.storage.am.lsm.rtree.impls.LSMRTree$LSMRTreeBulkLoader.end(LSMRTree.java:584)
>    at org.apache.hyracks.storage.am.common.dataflow.IndexBulkLoadOperatorNodePushable.close(IndexBulkLoadOperatorNodePushable.java:107)
>    ... 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)

Mime
View raw message