Skip to main content

Challenge to Profile Test 2073 posted to open cloud

2 replies [Last post]
mranga
Offline
Joined: 2003-06-06
Points: 0

Hi!

Please read this challenge and let me know if you agree. In particular, Ivelin and Jean who both worked on profiles please read this. I sent this to open cloud already but I would like to know what you think also. This particular problem shows up in several Profiles tests. As our performance is improving, these issues break to the surface.

There appears to be a re-entrancy problem with tests/profiles/profileadded/Test2073Test.java

On line 75

// Commit the profile, this should generate a ProfileAddedEvent
proxy.commitProfile();

On line 76 you have
proxy.closeProfile();

However in the meanwhile, the TckListener could be called when the sbb sends a message to it resulting in the following:

On line 139

try {
profileProxy.removeProfile("Test2073ProfileTable",
"Test2073Profile");
} catch (Exception e) {
onException(e);
}

Thus potentially leading to the interleaving of a removeProfile between the commitProfile and the closeProfile

When the profile is removed, the mbean for the profile table is de-registered. This causes the closeProfile to fail as the mbean is no longer registered.

Hence, we find that our tests fail non-deterministically. If my interpretation is incorrect, please let me know.

Thank you for your attention to this matter.

Regards,

Ranga.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ivelin
Offline
Joined: 2003-07-13
Points: 0

Yes, it does seem like there should be a loop between line 75 and 76 that waits on the removeProfile callback to finish.

Ivelin

mranga
Offline
Joined: 2003-06-06
Points: 0

Open cloud replied to me accepting the challenge. I got the following reply. We can place it on the exclude list.

Hello Ranga,
Apologies for the delay in responding to this.
We agree with your analysis, the test is broken and will be fixed before the next release of the TCK.

Best Regards,
Matthew