Hide Forgot
project_key: SOA Hello, I'm running a script [1] that verifies sequencing is working. It awaits certain amount of time and if data is still not available, it throws. With SOA-P v5.1 seqTimeout in the script was 10 seconds and that was enough time for test to pass. To get a stable behavior I now need to set it to 500 seconds (tried 250 and was not enough). I mean that currently 10 seconds is sometimes enough but sometimes it takes over 250 seconds on a fast machine for sequenced data to become available. I am wondering what can cause such difference. UPDATE: Actually looking at many test executions, it seems that time is not the issue. Sequencing either happens soon or never. Passed tests never took too much time and in my last test run [2] server didn't sequence even after 500 seconds. [1] https://svn.devel.redhat.com/repos/jboss-qa/hudson/config_repository/resources/soa/modeshape/basic-repo-test.war/sequencer_csv.jsp [2] https://hudson.qa.jboss.com/hudson/view/SOA-Release/job/soa-eds-plugins-and-adminshell/126/artifact/test-output/Groovy%20Test%20Suite/index.html
Link: Added: This issue Cloned to SOA-3440
Attachment: Added: sequencer_csv.jsp
Retry with attached sequencer_csv.jsp. It contains changes to the logic where iterating over the nodes and re-executing the query. If an issue is still found, please reopen.
As I commented in MODE-1276, does spec allow reordering of operations? I mean is the cause of the problem I see and is it a feature or a bug?
Labels: Added: modeshape
Having a the code changed to make things work for me is not a prove there is no problem with modeshape. Is there anything in the test code that goes against specifications? If yes, then please point that out and close the issue. If not then I think this bug needs to be taken seriously.
Moving to SOA 6, because this is when it was agreed ModeShape's 3.0 version and its revamp of its internal architecture will produce the performance improvements that cannot be made on a ModeShape 2.x branch for SOA 5.x.
I can confirm that in SOA 6 (ModeShape 3.x), I will be possible to be notified when a sequencing operation is finished by registering a JCR event listener for a ModeShape specific event. This means that there will no need for variable waits & timeouts.
Horia, would you kindly provide a patch for sequencer_csv.jsp for using this feature? That can then be used in the test runs.
Looking at the JIRA issue, Randall is referring to the synchronous feature which is not yet implemented (will be in 3.3). I will provide the patch once the feature is implemented.
I meant the JCR event listener solution. Async handling is fine as long as we have a reasonable way to know when sequencing finished to test the resulting repo state.
Created attachment 687448 [details] Updated sequencer jsp with event handling Attached an updated jsp file together with the repository config I used for testing. The relevant part of the sequencing listener is between lines #112 and #142. Please note that the original jsp attached is broken: doesn't compile out-of-the-box and in the case of the final check (if (i==100)) never terminates, causing a potential infinite loop.
Fixed before GA - setting to requires_doc_text- accordingly
JCR event listener solution is used throughout our test suite.