Opened 14 years ago

Closed 12 years ago

Last modified 12 years ago

#56 closed defect (fixed)

Querying big result datasets

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: major Milestone:
Component: applications Version: 8.1
Keywords: Cc: Peter Baumann
Complexity: Medium

Description

Reported by Alexander Herzig

I get error messages while working on a large data set and I have no idea what’s going on…

spatial domain: [0:100499,0:137799]
data type: unsigned char

$ rasql -q "select max_cells(m[0:50000,0:50000]) from woody as m" —out string
—> works fine without error

$ rasql -q "select max_cells(m[45000:50000,45000:50000]) from woody as m" —out string
—> produces error 356: Specified domain does not intersect with spatial domain of MDD

$ rasql -q "select max_cells(m) from woody as m" —out string
—> produces error 2016: The index found more cells than allowed

Attachments (2)

debug_log.zip (67.2 KB ) - added by Dimitar Misev 14 years ago.
nz_overview.png (75.5 KB ) - added by Dimitar Misev 14 years ago.
'non-materialised' cells in the grid

Download all attachments as: .zip

Change History (10)

by Dimitar Misev, 14 years ago

Attachment: debug_log.zip added

by Dimitar Misev, 14 years ago

Attachment: nz_overview.png added

'non-materialised' cells in the grid

comment:1 by Dimitar Misev, 14 years ago

Cc: Peter Baumann added
Status: newaccepted

comment:2 by Dimitar Misev, 14 years ago

test email notification

comment:3 by Dimitar Misev, 14 years ago

I think I've reproduced how the 356 error is caused. Testing on the following collection:

create collection masstest2 GreySet
insert into masstest2 values marray x in [0:10,0:10] values 1c
insert into masstest2 values marray x in [10:20,10:20] values 2c

a query which covers both objects works fine:

select max_cells(m[2:15,2:15]) from masstest2 as m

Query result collection has 2 element(s):
  Result element 1: 1
  Result element 2: 2

while this fails

select max_cells(m[2:5,2:5]) from masstest2 as m

Executing retrieval query...rasdaman error 356: Execution error 356 in line 1, column 18, near token m: 
Specified domain does not intersect with spatial domain of MDD.

I'm not sure whether this is the right behavior or is it a bug?

comment:4 by Dimitar Misev, 13 years ago

We consider now that the a bug, and it's also reported in #122

The

$ rasql -q "select max_cells(m) from woody as m" --out string
--> produces error 2016: The index found more cells than allowed

seems like an overflow bug.

comment:5 by Dimitar Misev, 12 years ago

Same error when calling fill_pyramid.sh on an RGB array of size 180260 x 115332

working on domain [0:180259,0:115331]:
   fetching map information from database...fillpyramid: rasdaman error 2016: Internal error: The index found more cells than allowed.

comment:6 by Dimitar Misev, 12 years ago

It's definitely an overflow problem.

This passes: select avg_cells(c[0:53685,0:80000]) from haiti_vnir as c
This fails: select avg_cells(c[0:53686,0:80000]) from haiti_vnir as c

53687 * 80001 = 4295013687 > 4294967296 (unsigned long, 232 - 1)

Obviously we need higher precision at some place in the code.

comment:7 by Dimitar Misev, 12 years ago

Resolution: fixed
Status: acceptedclosed

Submitted patch that fixes the bug by changing the type of r_Area from unsigned int to uint64_t

comment:8 by Dimitar Misev, 12 years ago

Fixed in

commit 2823756342e55ec143464d5734facec325e2a058
Author: Dimitar Misev <misev@rasdaman.com>
Date:   Fri Dec 14 23:51:50 2012 +0100

    Fix overflow bug in the index (ticket 56)
Note: See TracTickets for help on using tickets.