-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
None
There are 3 scenarios and I believe that they are correlated. If it is not the case, a JIRA for each item should be open.
All scenarios below are multiple clients and one server. The following steps should be executed does not matter what is the scenario.
- Add one breakpoint at the first line of the method `acceptResponse` at the class PrepareTransactionOperation
- Add one breakpoint at the first line of the method `executeOperation` at the class PrepareTransactionOperation
Scenario 1
- Execute the client code ( Program 1 )
- Execute the client code ( Program 2 )
- Program 1 -> Resume, Resume, Resume. It will stop at `acceptResponse`.
- Program 2 -> Resume, Resume. It will stop at `executeOperation`.
- Wait 5 minutes or any time greater than 60 seconds ( I was not able to identify the right period of time but greater than 60 seconds should work), Resume and Resume the "Program 2". It will fail.
- The issue in scenario 1 is: Why doesn't matter the amount of time since it is greater than 60 seconds the request will fail? I am expecting something like a timeout in the "Program 1" and not expire when a call in that key was called for the first time.
- Kill all clients and servers
Scenario 2
- Execute the client code ( Program 1 )
- Execute the client code ( Program 2 )
- Program 1 -> Resume, Resume, Resume. It will stop at `acceptResponse`.
- Program 2 -> Resume, Resume, Resume, Resume. It will fail. Here you don't need to wait. Just press the Resume.
- Program 1 -> Resume.
- The issue in scenario 2 is: Why the test fails due: expected value 'null' different from 'random-value-generated'
- Kill all clients and servers
Scenario 3
- Execute the client code ( Program 1 )
- Execute the client code ( Program 2 )
- Program 1 -> Resume, Resume, Resume. It will stop at `acceptResponse`.
- Program 2 -> Resume, Resume, Resume, Resume. It will fail. Here you don't need to wait. Just press the Resume.
- Wait 60 seconds
- Re-run Program 2 -> Resume, Resume, Resume, Resume. It will work.
- Program 1 -> Resume, it will fail due to an assertion error
- The issue in scenario 3 is: When resuming the "Program 1" I am expecting an error during the commit phase and not an assertion error.
- Kill all clients and servers
Program 1 means that you should run the client code. It will create a separated JVM.
Program 2 means that you should run the client code. It will create a separated JVM.
It will be nice if we find out an way to automate this kind of tests.
- is caused by
-
ISPN-9261 Hot Rod Lightweight Transaction (recovery)
- Closed