![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello all, In my software (http://rrfw.sourceforge.net) I'm intensively using Concurrent Data Store, and it crashes or hangs at the times when mod_perl user frontend causes intensive concurent access. See the detailed bug description at http://sourceforge.net/mailarchive/m...msg_id=5894020 Currently the opening/closing operations are super-paranoid: with every HTTP GET, the environment gets opened, and then closed, along with the database handles. At least, the Perl interface tells so. db_stat shows that there are no lockers or open locks left when mod_perl cycle finishes. I'm very reluctant to migrate to another backing store, but currently the project is blocked by this problem. Any help or advice to track and fix the problem are highly appreciated. With regards, Stanislav |
#3
| |||
| |||
|
|
Hello all, In my software (http://rrfw.sourceforge.net) I'm intensively using Concurrent Data Store, and it crashes or hangs at the times when mod_perl user frontend causes intensive concurent access. See the detailed bug description at http://sourceforge.net/mailarchive/m...msg_id=5894020 Currently the opening/closing operations are super-paranoid: with every HTTP GET, the environment gets opened, and then closed, along with the database handles. At least, the Perl interface tells so. db_stat shows that there are no lockers or open locks left when mod_perl cycle finishes. I'm very reluctant to migrate to another backing store, but currently the project is blocked by this problem. Any help or advice to track and fix the problem are highly appreciated. |
B without spending more time analysing the code in
#4
| |||
| |||
|
|
Hello all, In my software (http://rrfw.sourceforge.net) I'm intensively using Concurrent Data Store, and it crashes or hangs at the times when mod_perl user frontend causes intensive concurent access. See the detailed bug description at http://sourceforge.net/mailarchive/m...msg_id=5894020 Currently the opening/closing operations are super-paranoid: with every HTTP GET, the environment gets opened, and then closed, along with the database handles. At least, the Perl interface tells so. db_stat shows that there are no lockers or open locks left when mod_perl cycle finishes. I'm very reluctant to migrate to another backing store, but currently the project is blocked by this problem. Any help or advice to track and fix the problem are highly appreciated. |
#5
| ||||||||
| ||||||||
|
|
I had a very quick look at your code (sorry, I don't have the time at the moment to run it - I don't have mod_perl available). I don't see anything obviously wrong, but it's difficult to work out how you are using your RRFW: B without spending more time analysing the code indetail. |
|
Is mod_perl multi-threaded these days? - it's been a while since I looked at it. If it is, you will have problems with my BerkeleyDB module. It does not support running multi-threaded. |
|
In the email you sent me, and I've only just seen, you say that db_stat hangs when your code locks up. That sounds like your code has deadlocked the database somehow. |
|
For each HTTP GET, does your code only write to a single database? |
|
If you have multiple databases, you might want to try using the DB_CDB_ALLDB flag when you are opening the environment (specify -Property => DB_CDB_ALLDB) |
|
RandomCollector I assume is a way to generate events to test your system? |
|
Just how much traffic will it generate? You may be hitting the limits of the CDS, which isn't designed to cope with extreme concurrent access, especially if you open the environment & database for every HTTP request. |
|
You might want to try caching the environment & database objects, rather than opening & tearing theme down every time. |
#6
| |||
| |||
|
|
You might want to try caching the environment & database objects, rather than opening & tearing theme down every time. |
![]() |
| Thread Tools | |
| Display Modes | |
| |