This content has been marked as final. Show 6 replies
This is the normal recovery process. If process 2 was in the middle of something, there is potential corruption on the db. So when process 2 rejoins the env with DB_RECOVERY, it will set the panic bit and start recovery. Process 1 is detecting that and getting out of the environment. After process 2 finishes up with recovery, process 1 can rejoin. This is the normal recovery process. Since we are a library, we have to be cautious about what we are doing and assume when some process terminates abnormally that something could be wrong.
You can put different Container into different environments. OR adding that the DB_REGISTER and DB_FAILCHK flags can help reduce the number of occurrences when such panic events happen. It's worth following the reference guide documentation starting here:
Oracle Berkeley DB XML
In DB layer they (3 applications and 3 multi-process) are the same at this point, since each one (no matter it's a process or a application) has its own DB_ENV handlers, which point to the same environment. So they face to the same recovery issue.
I totally agree with you that the best solution here is to have 1 env per application, since those 3 applications are independent so there is no reason to share the environment at all,
Thanks and Best regards,