-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HSEARCH-668 Transactional JMS #858
Conversation
public static final File[] LIBRARIES = init(); | ||
|
||
private static File[] init() { | ||
final String currentVersion = Version.getVersionString(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should use VersionTestHelper
instead of Version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VersionTestHelper.injectVariables( "${dependency.version.HibernateSearch}" );
?
I don't see a non public method to access the Hibernate Search version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like it did the trick and the failure in the IDE is now consistent with the CLI. I've made one of the private method public
38d9a1f
to
519f99d
Compare
I've rebased to fix the massive copy paste error. Now the |
519f99d
to
d466af5
Compare
Pushed by rebasing to latest master, fixing IDE tests and removing isTraceEnabled. |
The name reflects better that the worker is not transactional per se
…ker enlists transactions
Use the worker enlist tx option and have the backend reuse it
d466af5
to
94785ab
Compare
I finally found the issue. It was a configuration problem as expected. One need to use the right JNDI bound XA JMS connection factory or else it does not do what you want silently. Of course, documentation on the internet is very sparse. Unfortunately my test (test the non addition of an entry) takes ~35s extra on the test suite. If someone can find a better approach, that would be better. The documentation is missing but I'd rather get a go (and even a push) before looking into this.
If you look at the code, you'll see that a single property is necessary. Kind of nice. Marked as urgent otherwise Hardy's PR will mess up mine ;) |
In this case it's just our tests, and we could debug it. End users will have to match this up correctly using their own queue names.. is there really no way to WARN if we're taking the wrong kind from JNDI?
Shouldn't we make an option to make consumptions transactional as well? i.e. if the master takes a batch of Works
+1 to break up in other tasks
Awesome! |
@InSequence(8) | ||
@OperateOnDeployment("slave-2") | ||
public void searchRollbackedMemberAfterSynchronizationOnSlave2() throws Exception { | ||
// we need to explicitly wait because we need to detect the *effective* non operation execution (rollback) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that you are only testing this on "slave-2", would it make sense to check from "slave-1" and "master" as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I don't see any reason. It would only slow down the test.
superseeded by #862 |
The tests don't work. It seems the JMS messages are not sent which leads to the test failures.
It could be for many reasons:
I need a second pair of eyes, I'm out of ideas on how and what to look.