David, do you think I should create a JIRA for this? I don't know for sure whether I'm doing anything wrong or not but I think it makes sense to add an integration test for the transaction timeout anyway.
I'm currently just using one resource manager (SQL Server 2005) which I guess means that no transaction log is necessary. Thanks for explaining. /Bengt 2012/1/13 David Jencks <[email protected]> > > On Jan 12, 2012, at 1:26 PM, Bengt Rodehav wrote: > > I took a look at the transaction related itests and I can't see any tests > regarding the transaction timeout - they seem to be focused on testing the > transaction attributes. Could it be that the transaction timeout has never > been tested? > > > probably not in aries since the tm implementation is from geronimo. I did > think there were some osgi tx timeout tests but I dont have access right > now. > > > Regarding the transaction log I'm not sure how this is supposed to work - > perhaps someone can enlighten me. Shouldn't every transaction be written to > a transaction log file? > > > Every successfully prepared transaction with at least two participating > resource managers will have a log record written for prepare and another > written for commit. Transaction with only one participant don't need > logging. > > thanks > david jencks > > > /Bengt > > 2012/1/12 Bengt Rodehav <[email protected]> > >> >> David, >> >> I have verified that the configuration is applied to the transaction >> service I just can't see that it has any effect. I guess I can start >> debugging but I was hoping to avoid that. Do you know if there are any >> integration tests that tests the transaction timeout? >> >> /Bengt >> >> >> Den torsdagen den 12:e januari 2012 skrev David Jencks< >> [email protected]>: >> >> > I would guess that perhaps your configuration is not actually getting >> supplied to the managed service? If you are running in karaf you can use >> confiig:list to make sure config admin is aware of your config. You might >> also want to debug the aries code and make sure that the configuration is >> actually getting supplied to the service. >> > david jencks >> > On Jan 12, 2012, at 6:36 AM, Bengt Rodehav wrote: >> > >> > Hello again Alasdair, >> > I finally got around to test configuration of Aries Transaction. I >> created the following configuration (using >> PID org.apache.aries.transaction): >> > aries.transaction.timeout=1 >> > aries.transaction.howl.logFileDir=${karaf.data}/txlog/ >> > I set the logfile directory as well as the transaction timeout (I >> peeked at how they do it in Servicemix). I set the timeout to a low value >> in order to test that I actually get a transaction timeout. I also perform >> a 5s sleep in a transacted method to force a transaction timeout. >> > But, I never get a transaction timeout and I never get a transaction >> log file in the "logFileDir" directory. I'm not beginning to fear that my >> methods are not transacted. How can I verify this? >> > Under what circumstances would a transaction log file be created? I >> assumed that it would be created when the first transaction was created. >> Or, do I also need to add the following line? >> > aries.transaction.recoverable=true >> > I've tried that but still no logfile was created. >> > I also noticed that the default value for >> "aries.transaction.howl.maxBuffers" is 0 while the default value for >> "aries.transaction.howl.minBuffers" is 4. Is that correct? At first sight I >> would think it should be the other way around. >> > /Bengt >> > >> > >> > >> > >> > >> > >> > 2011/12/29 Bengt Rodehav <[email protected]> >> > >> > Thanks Alasdair - will look into it. >> > /Bengt >> > >> > 2011/12/28 Alasdair Nottingham <[email protected]> >> > >> > Hi, >> > The pid for configuring transactions is "org.apache.aries.transaction". >> > Alasdair >> > >> > On 14 December 2011 14:33, Bengt Rodehav <[email protected]> wrote: >> > >> > It turned out that my error was not due to the transaction timing out >> but to violation of unique constraints. Nevertheless, I would like to know >> how to control the transaction timeout in Aries transaction. >> > /Bengt >> > >> > 2011/12/14 Bengt Rodehav <[email protected]> >> > >> > Thanks for your reply David, >> > I'll see if I can figure out the pid although this seems like something >> that really needs to be documented in Aries. If the default timeout is 600 >> seconds then this is probably not the reason of the errors I see. I need a >> time out of about 30 s which then is much less than the default. >> > I have been using MySql but I'm in the process of switching to SQL >> Server 2005. MySql worked fine but I started having problems committing the >> longer transactions with SQL Server 2005 which caused me to suspect a >> transaction timeout. Perhaps the timeout is not propagated to SQL Server >> like you hinted. >> > /Bengt >> > >> > 2011/12/14 David Jencks <[email protected]> >> > >> > Transaction is set up as a managed service factory. I haven't figured >> out exactly how this results in a tm instance without any visible >> configuration. >> > If you can figure out what is triggering the creation of a tm and the >> pid, the property to set is called aries.transaction.timeout and the >> default value is 600 (seconds) or 10 minutes. >> > > >
