You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/05/04 22:05:00 UTC

[jira] [Commented] (ASTERIXDB-2176) Deletion doesn't work on the RTree index.

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

ASF subversion and git services commented on ASTERIXDB-2176:
------------------------------------------------------------

Commit a28ddb731dfc242b0391a38564213fd4701a2955 in asterixdb's branch refs/heads/master from Ian Maxon
[ https://gitbox.apache.org/repos/asf?p=asterixdb.git;h=a28ddb7 ]

[ASTERIXDB-2176] Python UDFs

- user model changes: yes
- storage format changes: no
- interface changes: yes

Details:
    - Allow UDFs to be shiv-packaged python modules with their
      dependencies
    - Use pyro for python RPC
    - Maven build for pyro package into server
    - Remove JObject spatial types
    - Simpler conversion from java primitive/standard types and
      collections
      to JObject equivalents

Change-Id: Ibea23a2e9308132f343d80eff04ede9a235aa021
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/5526
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>


> Deletion doesn't work on the RTree index.
> -----------------------------------------
>
>                 Key: ASTERIXDB-2176
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2176
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Taewoo Kim
>            Assignee: Chen Luo
>            Priority: Major
>
> This is a simplified version of "upsert/primary-secondary-tree" AQL test case.
> spatialData.json file
> { "id": 12, "point": point("6.0,3.0") }
> moreSpatialData.json file
> {"id": 12, "point": point("4.1,7.0")}
> DDL: 
> {code}
> drop dataverse test if exists;
> create dataverse test;
> use dataverse test;
> create type MyRecord as closed {
>   id: int64,
>   point: point
> }
> create dataset UpsertTo(MyRecord)
>  primary key id;
> create dataset UpsertFrom(MyRecord)
>  primary key id;
> create index rtree_index_point on UpsertTo(point) type rtree;
> {code}
> DML
> {code}
> load dataset UpsertTo
> using localfs
> (("path"="asterix_nc1://data/spatial/spatialData.json"),("format"="adm"));
> load dataset UpsertFrom
> using localfs
> (("path"="asterix_nc1://data/spatial/moreSpatialData.json"),("format"="adm"));
> upsert into dataset UpsertTo(
> for $x in dataset UpsertFrom
> return $x
> );
> for $o in dataset('UpsertTo')
> where spatial-intersect($o.point, create-polygon([4.0,1.0,4.0,4.0,12.0,4.0,12.0,1.0]))
> order by $o.id
> return $o;
> {code}
> This DML returns the new record correctly. But, the issue is that the indexed value in RTree has not been updated.
> When searching the rtree_index_point index, the searcher sees the previous value - point("6.0,3.0"), not the new value - point("4.1,7.0"). So, this record will be fetched from the primary index. However, the primary index search returns the updated value and the select() verifies the value. It returns true by coincidence because the new value satisfies the spatial-intersect() condition.
> The secondary index search should see the updated value, not the previous value. And this is an issue for the index-only plan case since it only uses the value from a secondary index.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)