[Design of JCA on JBoss] - Re: JBossTS/JBossJCA XA/Local transactions
by bill.burke@jboss.com
"mark.little(a)jboss.com" wrote : "weston.price(a)jboss.com" wrote : anonymous wrote :
| | | Since, until recently I believe, the most popular OSS databases didn't support XA and/or a JDBC XA Driver, my $5.00 bet is that there is a percentage of users who will run smack into this with JBoss 5. I also bet that the majority of Arjuna customers required XA aware resources and thus never used DBs like MySQL and Postgres.
| | |
| |
| | Yes. You hit the proverbial nail right on the head. The big boys (ie Oracle, DB2) I don't worry about so much. Our open source brethren is my main concern especially since we are touting these DB's as an integral component to our unified 'stack'.
| |
|
| So what you'd be after is something that allowed multiple one-phase resources but whenever a transaction saw more than one of them it said something like "WARNING: YOU ARE SERIOUSLY F*CKING WITH YOUR APPLICATION CONSISTENCY. BACK OFF, TAKE A VACATION AND THEN IF YOU ARE REALLY SURE YOU WANT TO DO THIS THEN CONSIDER YOURSELF WARNED."
Our JCA implementation already does this:
log.warn("Prepare called on a local tx. Use of local transactions on a jta transaction with more than one branch may result in inconsistent data in some cases of failure.");
I thought this message had been turned off, I guess it was just clarified I think the old message was something very cryptic like:
"You are not getting the behavior you expect"
And this confused the shit outta people.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989400#3989400
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989400
17 years, 11 months
[Design of JCA on JBoss] - Re: JBossTS/JBossJCA XA/Local transactions
by mark.little@jboss.com
"weston.price(a)jboss.com" wrote : anonymous wrote :
| | Since, until recently I believe, the most popular OSS databases didn't support XA and/or a JDBC XA Driver, my $5.00 bet is that there is a percentage of users who will run smack into this with JBoss 5. I also bet that the majority of Arjuna customers required XA aware resources and thus never used DBs like MySQL and Postgres.
| |
|
| Yes. You hit the proverbial nail right on the head. The big boys (ie Oracle, DB2) I don't worry about so much. Our open source brethren is my main concern especially since we are touting these DB's as an integral component to our unified 'stack'.
|
So what you'd be after is something that allowed multiple one-phase resources but whenever a transaction saw more than one of them it said something like "WARNING: YOU ARE SERIOUSLY F*CKING WITH YOUR APPLICATION CONSISTENCY. BACK OFF, TAKE A VACATION AND THEN IF YOU ARE REALLY SURE YOU WANT TO DO THIS THEN CONSIDER YOURSELF WARNED."
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989391#3989391
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989391
17 years, 11 months
[Design of JCA on JBoss] - Re: JBossTS/JBossJCA XA/Local transactions
by mark.little@jboss.com
"bill.burke(a)jboss.com" wrote : anonymous wrote : We're not forcing users. We have zero users who need this. The one user who thought he did was able to move to a two-phase approach.
|
| How do you know? What percentage of JBoss users are using JBoss TS currently? Is it even 0.1%?
|
This is the first time such a request has come up since November 2005. When JBossTS was HP-TS we had a couple of requests and they turned out to be bogus, i.e., could be fixed by changing the application. And we had a fair few customers back then too.
I'm not saying that there won't be more requests. What I am saying is that at the moment there are none. Plus, when/if we get more I'd like to see whether or not these things can be fixed correctly rather than by encouraging users to do something that is fundamentally flawed. If that's not possible (for whatever reason), then we can address the issue.
anonymous wrote :
| anonymous wrote :
| | "for the sake or purity"? Well, in this case my definition of "purity" is that it conforms to the protocol and guarantees data consistency in the presence of arbitrary failures. Believe it or not, it is important for customers.
| |
|
| Who said anything about breaking consistency? Weston was just asking for a damn switch.
|
If you go this route and allow multiple one-phase resources in the same transaction then you risk losing data consistency in the presence of a failure. If ALL users of JBossTM understood what they were doing in that case, then there'd be less of a problem. However, I reckon the majority of them don't know. Plus, I reckon if they were informed of the issue and alternatives were pointed out, many of them would go for the alternative (assuming it was relatively painless).
anonymous wrote :
| anonymous wrote :
| | Over the years JBossTS has, by itself, generated multi-million dollar revenues. So it has to work. People trust that it will work correctly.
| |
|
| I know JBossTS is kick-ass and rock solid, but you need to understand that we're dealing with orders of magnitude higher user base than Arjuna ever had.
|
Understood. But that just means that there are more people out there who may be convinced of doing things right this time ;-)
anonymous wrote :
| anonymous wrote :
| | As I said above, if there really are customers out there who simply cannot do their work any other way then we can look at the best way to support this. But at the moment, I don't see the need.
| |
|
| All i know is that when we had that warning message in old TM I was talking about, there were TONS of questions on the forums/mail lists about it. "Why am I getting this warning message every transaction?". Since, until recently I believe, the most popular OSS databases didn't support XA and/or a JDBC XA Driver, my $5.00 bet is that there is a percentage of users who will run smack into this with JBoss 5. I also bet that the majority of Arjuna customers required XA aware resources and thus never used DBs like MySQL and Postgres.
|
| anonymous wrote :
| | BTW, let's try not to make this personal. Believe it or not, but the exchange Weston and I had last night was very good natured.
|
| Sure. I just get extremely irritated when people talk in absolutes.
|
Haven't you also been talking absolutes? In that we absolutely need to support this? I've never said we absolutely don't need to support it. I'm arguing for supporting it when/if there's a real need (where the definition of real is that existing users/customers can't be persuaded of the risk they are running).
anonymous wrote :
| Also. Sorry. I'm just not good natured in general. It takes too much effort and I just don't have Weston's talent for wit.
OK.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989386#3989386
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989386
17 years, 11 months
[Design of JCA on JBoss] - Re: JBossTS/JBossJCA XA/Local transactions
by bill.burke@jboss.com
anonymous wrote : We're not forcing users. We have zero users who need this. The one user who thought he did was able to move to a two-phase approach.
How do you know? What percentage of JBoss users are using JBoss TS currently? Is it even 0.1%?
anonymous wrote :
| "for the sake or purity"? Well, in this case my definition of "purity" is that it conforms to the protocol and guarantees data consistency in the presence of arbitrary failures. Believe it or not, it is important for customers.
|
Who said anything about breaking consistency? Weston was just asking for a damn switch.
anonymous wrote :
| Over the years JBossTS has, by itself, generated multi-million dollar revenues. So it has to work. People trust that it will work correctly.
|
I know JBossTS is kick-ass and rock solid, but you need to understand that we're dealing with orders of magnitude higher user base than Arjuna ever had.
anonymous wrote :
| As I said above, if there really are customers out there who simply cannot do their work any other way then we can look at the best way to support this. But at the moment, I don't see the need.
|
All i know is that when we had that warning message in old TM I was talking about, there were TONS of questions on the forums/mail lists about it. "Why am I getting this warning message every transaction?". Since, until recently I believe, the most popular OSS databases didn't support XA and/or a JDBC XA Driver, my $5.00 bet is that there is a percentage of users who will run smack into this with JBoss 5. I also bet that the majority of Arjuna customers required XA aware resources and thus never used DBs like MySQL and Postgres.
anonymous wrote :
| BTW, let's try not to make this personal. Believe it or not, but the exchange Weston and I had last night was very good natured.
Sure. I just get extremely irritated when people talk in absolutes. Also. Sorry. I'm just not good natured in general. It takes too much effort and I just don't have Weston's talent for wit.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989382#3989382
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989382
17 years, 11 months
[Design of JCA on JBoss] - Re: JBossTS/JBossJCA XA/Local transactions
by mark.little@jboss.com
This came in just as I hit submit on my last post.
"weston.price(a)jboss.com" wrote : The problem as I see it is in terms of the types of configurations/deployments we have today. Unfortunatley, the use of multiple 1PC resources in JBoss is quite common, in fact, I would go so far as to assert this is the *main* type of configuration we see in client deployments.
|
Sure. If you don't support recovery then it doesn't make any difference.
anonymous wrote :
| This is especially true in the area of JMS where the underlying provider is not required to support XA. Further, there are a variety of JDBC resources (some of the more off beat ones) that don't provide XA adapters either.
|
I don't think we're in disagreement about the fact that there are different implementations of one-phase aware resources. It's whether or not more than one of them occurs in the same transaction often enough to warrant a solution within the code, or whether or not it's more a restructuring of the user's application to get them better failure semantics.
anonymous wrote :
| If we are indeed saying that we no longer support this, or at the very least, it is not supported with JBossTS then we have a real 're-education' situation on our hands. This is independent of what is *correct* being that we provided this behavior before no matter how broken it may have been.
|
Unfortunately there's a real 're-education' situation on our hands anyway. JBossTS is significantly different from JBossTM. This is only one area.
anonymous wrote :
| Again, the cost thing is a factor as well. In many situations, XA costs and many times this does not come cheap.
|
ACID transactions aren't cheap. I'm not going to go into this again though.
anonymous wrote :
| Of course they always have the option to use JBossTM, but I don't think we want to be in the business of recommending this.
|
For 4.0.x we are supporting both. For 5.0 we only support JBossTS. If there are any real use cases for this that can't be ignored, then we can deal with the situation then.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989378#3989378
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989378
17 years, 11 months