Opened 9 years ago
Closed 9 years ago
#1014 closed defect (fixed)
database corruption if multiple updates are executed
Reported by: | George Merticariu | Owned by: | Dimitar Misev |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | undecided | Version: | development |
Keywords: | Cc: | Peter Baumann, Dimitar Misev, Alex Dumitru, Vlad Merticariu | |
Complexity: | Very Hard |
Description
I tried to create a rasdaman collection of 10GB (100 update of 100MB) and I got the following error:
[INFO] Connecting to /home/george/Projects/data/rasdaman/RASBASE
[WARN] The administrative tables for tiles is inconsistent.
[WARN] Counter BlobId in table RAS_TILES: 938
[WARN] Counter in table RAS_COUNTERS with name 'BLOBOID': 925
[FATAL] Database inconsistent.
ERROR] Error: encountered 1000: General error: RasDaMan tables inconsistent.
[INFO] rasserver terminated.
This renders the database and the rasdaman server unusable.
Repro:
- install a fresh copy of rasdaman with sqlite base db
- ./rasql -q 'create collection testBig GreySet' —user rasadmin —passwd rasadmin
- ./rasql -q 'insert into testBig values marray x in [0:1,0:1] values 0c' —user rasadmin —passwd rasadmin
- Generate a 100MB file: head -c 104857600 /dev/urandom > 100MBtestfile
- run the attached script: php test_big.php <path_to_rasql> <path_to_100MBtestfile>
After a couple of updates, the following error happens:
* Error in `/home/george/Projects/out/rasdaman/bin/rasserver': double free or corruption (fasttop): 0x00007fbceffecd40 *
After this error the sqlite database becomes corrupted and it has to be deleted and recreated in order to become reusable.
Other encountered exceptions which are not corrupting the database:
- rasql -q 'update testBig as c set c assign $1' —file /home/george/insertfile —mddtype GreyImage —mdddomain [10240:20479,163840:174079] —user rasadmin —passwd rasadmin
rasdaman error 206: Error in base DBMS, error number: 14
- rasql -q 'update testBig as c set c assign $1' —file /home/george/insertfile —mddtype GreyImage —mdddomain [61440:71679,696320:706559] —user rasadmin —passwd rasadmin
rasdaman error 206: Serialisable exception r_Ebase_dbms: error in base DBMS.
- rasql -q 'update testBig as c set c assign $1' —file /home/george/insertfile —mddtype GreyImage —mdddomain [51200:61439,512000:522239] —user rasadmin —passwd rasadmin
terminate called after throwing an instance of 'std::runtime_error'
what(): std::exception
Aborted (core dumped)
Attachments (1)
Change History (3)
by , 9 years ago
comment:1 by , 9 years ago
Status: | new → accepted |
---|
comment:2 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
This should be fixed by changeset:74d08524f44d6d65f406999db6bd0be2a9a4cc01