Opened 12 years ago

Last modified 9 years ago

#237 closed question

Deleting collections should be split into several transactions — at Initial Version

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: minor Milestone: Future
Component: qlparser Version: 8.3
Keywords: Cc: Peter Baumann, abeccati, sebrecht, damiano, mantovani
Complexity: Very Hard

Description

It seems like deleting a collection is done in a single transaction, as the rasdaman log gets stuck on the below when deleting a lot of data

[2012-11-09 14:56:05] request from 127.0.0.1
Command: executeUpdate query 'drop collection jacobs_rasimport'...parsing...parsed.
checking semantics...evaluating...ok
done if
[2012-11-09 14:56:06] request completed; request time=0.014s

[2012-11-09 14:56:06] request from 127.0.0.1
Request: 'commit TA'...

For a lot of data this easily exceeds some postgres configuration parameter that sets the max locks per transaction, and then the update statement fails with a base DBMS error 206.

The postgres logs give out these hints:

...
2012-11-09 14:37:45 CET HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2012-11-09 14:38:09 CET LOG:  checkpoints are occurring too frequently (24 seconds apart)
2012-11-09 14:38:09 CET HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2012-11-09 14:38:34 CET LOG:  checkpoints are occurring too frequently (25 seconds apart)
2012-11-09 14:38:34 CET HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2012-11-09 14:38:58 CET LOG:  checkpoints are occurring too frequently (24 seconds apart)
2012-11-09 14:38:58 CET HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2012-11-09 14:39:24 CET LOG:  checkpoints are occurring too frequently (26 seconds apart)
2012-11-09 14:39:24 CET HINT:  Consider increasing the configuration parameter "checkpoint_segments".
2012-11-09 14:45:29 CET WARNING:  out of shared memory
2012-11-09 14:45:29 CET ERROR:  out of shared memory
2012-11-09 14:45:29 CET HINT:  You might need to increase max_locks_per_transaction.

Increasing the indicated parameters seems to help.

Change History (0)

Note: See TracTickets for help on using tickets.