Does DBIish Oracle driver support multi-threading, after all?

Viewed 85

The documentation for DBIish states that:

Since early 2021 I've successfully implemented my Raku solution for using as many as Eight(8) threads all connected to Oracle performing simultaneous Reads and writes. As with Perl-5 the number one requirement is to ensure each thread creates is own connection handle with Oracle.

Following this rule I implemented some basic pooling where a thread requests for connection handle and get it when it's available. The pool gets filled with connection handles up to some pre-set limit.

There are also per-connection caches of the most used prepared statement handles.

Things work well with pool size of 1. I.e., basically no multi-threading. But as soon as the size is set to 2 I get terminated by signal SIGKILL (Forced quit) message after some 20-30 writes to the database.

What beats me is that receiving SIGSEGV or alike would be more anticipated. But SIGKILL? As if something kills my process externally?

UPD All this is on Linux. Linux Mint, for the sake of clarity.

0 Answers
Related