… | |
… | |
771 | |
771 | |
772 | =head2 Unexpected Crashes |
772 | =head2 Unexpected Crashes |
773 | |
773 | |
774 | Remember that, by default, BDB will execute requests in parallel, in |
774 | Remember that, by default, BDB will execute requests in parallel, in |
775 | somewhat random order. That means that it is easy to run a C<db_get> |
775 | somewhat random order. That means that it is easy to run a C<db_get> |
776 | request on thesa me database as a concurrent C<db_close> request, leading |
776 | request on the same database as a concurrent C<db_close> request, leading |
777 | to a crash, silent data corruption, eventually the next world war on |
777 | to a crash, silent data corruption, eventually the next world war on |
778 | terrorism. |
778 | terrorism. |
779 | |
779 | |
780 | If you only ever use foreground requests (without a callback), this will |
780 | If you only ever use foreground requests (without a callback), this will |
781 | not be an issue. |
781 | not be an issue (unless you use threads). |
782 | |
782 | |
783 | =head2 Unexpected Freezes or Deadlocks |
783 | =head2 Unexpected Freezes or Deadlocks |
784 | |
784 | |
785 | Remember that, by default, BDB will execute requests in parallel, which |
785 | Remember that, by default, BDB will execute requests in parallel, which |
786 | easily leads to deadlocks (even concurrent put's on the same database can |
786 | easily leads to deadlocks (even concurrent put's on the same database can |