TransactionLockFactory misconfigured

244 views
Skip to first unread message

Raja Ramachandran

unread,
Aug 13, 2008, 9:29:04 AM8/13/08
to atg_...@googlegroups.com
Hi,

I started seeing this error all of a sudden in production environment,
then after a restart it went away automagically. I checked the
transaction manager component and it was running all right. This is on
Jboss 4.0.5 ATG 2007.1 patch 1 and CSC. I'm assuming this has
something to do with Jboss's transaction. I'm interested in knowing
what went wrong and how did the restart fix it?

[nucleusNamespace.atg.dynamo.servlet.pipeline.RequestScopeManager?.Reques
tScope-1596.atg.commerce.custsvc.order.CartModifierFormHandler?]
Cannot acquire transaction lock as TransactionLockFactory? is
misconfigured 2008-08-12 15:32:18,449 ERROR
[nucleusNamespace.atg.dynamo.servlet.pipeline.RequestScopeManager?.Reques
tScope-1596.atg.commerce.custsvc.order.CartModifierFormHandler?] A
TransactionManager? is required. 2008-08-12 15:32:18,450 ERROR
[nucleusNamespace.atg.dynamo.servlet.pipeline.RequestScopeManager?.Reques
tScope-1596.atg.commerce.custsvc.order.CartModifierFormHandler?]
atg.dtm.TransactionDemarcationException?: The transactionManager has
not been specified in call to begin(). Transaction Demarcation will
fail.

Thanks,
Raja

Kartikeya

unread,
Aug 14, 2008, 2:17:39 AM8/14/08
to atg_...@googlegroups.com
As you might know that the TransactionLockFactory is used to grab the locks before beginning
and ending a transaction, So I assume that some of transactions didn't end up gracefully
and triggered this to happen.
 
-Kartik

François

unread,
Aug 14, 2008, 2:39:18 AM8/14/08
to ATG_Tech
Hi

Could you show us your code?

François.

On 14 août, 08:17, Kartikeya <kartikey...@gmail.com> wrote:
> As you might know that the TransactionLockFactory is used to grab the locks
> before beginning
> and ending a transaction, So I assume that some of transactions didn't end
> up gracefully
> and triggered this to happen.
>
> -Kartik
>

raja...@gmail.com

unread,
Aug 14, 2008, 8:03:35 AM8/14/08
to atg_...@googlegroups.com
I don't think its a code issue. We have dev integration qa and prod environments. This code has been doing well in all those environments for quite sometime. The all of a sudden, it starts throwing this error in production. And it vanishes after a restart. I can assure no code change or release happened to production at the time. I can paste the code out once I get to work.

Thanks,
Raja
Sent via BlackBerry from T-Mobile

-----Original Message-----
From: François <francois...@gmail.com>

Date: Wed, 13 Aug 2008 23:39:18
To: ATG_Tech<atg_...@googlegroups.com>
Subject: [atg_tech:1517] Re: TransactionLockFactory misconfigured

Gordon Cooke

unread,
Aug 14, 2008, 9:44:06 AM8/14/08
to atg_...@googlegroups.com
So what did change? Software does not suddenly start throwing errors
for no reason. There must have been a config change or an in crease
in traffic or a network change or something that triggered this.

gc

Raja Ramachandran

unread,
Aug 14, 2008, 2:01:32 PM8/14/08
to atg_...@googlegroups.com
Gordon,

I was confirming that the code wasnt changed as Francois was asking
for the code.

There were people doing regression testing, there was an inventory
update job (direct db updates ) that was running around that time,
obviously scenarios were firing, no publish happened, what else, well
it was an active production app. I didnt notice any configuration
that was promoted at that time.

I do understand that software doesnt throw errors all of a sudden
which is what I'm trying to figure out via a bottom up approach. If I
can know the reason to which component can mess with
TransactionLockFactory ( which I have confirmed that we dont have
direct reference to it in our code base ), then I can speculate what
would have caused it and figure out a way to fix it.

Raja

Raja Ramachandran

unread,
Aug 14, 2008, 2:02:20 PM8/14/08
to atg_...@googlegroups.com
Gordon,

I was confirming that the code wasnt changed as Francois was asking
for the code.

There were people doing regression testing, there was an inventory
update job (direct db updates ) that was running around that time,
obviously scenarios were firing, no publish happened, what else, well
it was an active production app. I didnt notice any configuration
that was promoted at that time.

I do understand that software doesnt throw errors all of a sudden
which is what I'm trying to figure out via a bottom up approach. If I
can know the reason to which component can mess with
TransactionLockFactory ( which I have confirmed that we dont have
direct reference to it in our code base ), then I can speculate what
would have caused it and figure out a way to fix it.

Raja

Kartikeya

unread,
Aug 14, 2008, 4:29:38 PM8/14/08
to atg_...@googlegroups.com
Hi Raja,
 

>> If I can know the reason to which component can mess with
>>TransactionLockFactory ( which I have confirmed that we dont have
>>direct reference to it in our code base )
Right, and actually you shouldn't find any references in your code
because I assume that you're using OOTB transaction manager
implementations (which should be using TransactionLockFactory
to grab locks).
 
If you check the ATG Commerce Doc, you can see that the
PurchaseProcessFormHandler actually uses TransactionLockFactory
and if you check the API of PurchaseProcessFormHandler then you can
see that it uses LocalLockManager to maintain concurrency. So, from the
scenario which you've described, I can speculate that direct DB updates
would have taken some locks and transaction lock factory wasn't able to get
the lock for some transactions.
 
Hope that helps.
 
-Kartik

Raja Ramachandran

unread,
Aug 17, 2008, 9:06:00 PM8/17/08
to atg_...@googlegroups.com
Thanks for the response everyone. This didnt recur after the restart.
I was monitoring it closely for the past 2 days even with the DB
update job running. Wierd! I will monitor for this and see if I can
get some thread dumps next time.
Reply all
Reply to author
Forward
0 new messages