You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Shanmu <sh...@yahoo.com> on 2010/01/13 19:14:57 UTC
Informix XA data source configuration for IFX_LOCK_MODE_WAIT
Hello everyone,
We are using Geronimo 2.1.4 with informix XA driver version 3.0.0 JC3.
The application we build has a process which runs in the geronimo containner
every 2
minutes and updates lots of tables. in foreground we a web application where
users can
access screen and update and retrieve from the same tables.
Our architecture is like this
JSP/Struts 2 --> EJB 3.0 with CMT--> DAO using hibernate uses data source
configured in
geronimo server--> informix DB
We have configured the data source using the informix provided drivers and
the informix
Tran QL connectors.
We are currently facing a problem where we are getting locking issues
frequently when the
user and batch process collides.
The error is
"Could not do a physical-order read to fetch next row.SQL Error: -107,
SQLState: IX000"
The solution provided was to increase the IFX_LOCK_MODE_WAIT to some
reasonable time so
that the process waits for the predefined time before it throws the error.
Default value
for this is configured as zero in IFXDatasource.
By default data source configured using the informix XA option does not have
any option to
configure this parameter. Neither the hibernate has any configuration for
this, as it is
using the data source created in application server.
On analyzing the source code we noticed that there is a component
org.tranql.connector.informix.XAMCF part of tran QL adapter which creates
and configures
the data source,
public XAMCF()
{
super(new IfxXADataSource(), new NoExceptionsAreFatalSorter());
password = "";
ds = (IfxXADataSource)xaDataSource;
}
This IFXData source doesn not have the option of lock mode wait setup, which
can be done
using the method "setIfxIFX_LOCK_MODE_WAIT".
My questions are:
1. Is there any option where in we can configure the IFX_LOCK_MODE_WAIT
parameter?
2. If not is there any patch with this enhancement done.
Thanks in advance
Best Regards
Shanmu
--
View this message in context: http://old.nabble.com/Informix-XA-data-source-configuration-for-IFX_LOCK_MODE_WAIT-tp27148795s134p27148795.html
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
Re: Informix XA data source configuration for IFX_LOCK_MODE_WAIT
Posted by David Jencks <da...@yahoo.com>.
Following the more careful examination in TQL-19
I applied the supplied patch which changed the case of the new
property and added an ra.xml entry for it.
thanks
david jencks
On Jan 13, 2010, at 11:55 AM, David Jencks wrote:
> I added this to the tranql wrapper and pushed a new snapshot to the
> codehaus snapshot repo.
>
> http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-informix-xa/1.2-SNAPSHOT/
>
> Can you verify that this works, that the time unit is seconds, and
> look around to see if there are other properties we should allow
> setting on the XADatasource?
>
> many thanks
> david jencks
>
> On Jan 13, 2010, at 10:14 AM, Shanmu wrote:
>
>> Hello everyone, We are using Geronimo 2.1.4 with informix XA driver
>> version 3.0.0 JC3. The application we build has a process which
>> runs in the geronimo containner every 2 minutes and updates lots of
>> tables. in foreground we a web application where users can access
>> screen and update and retrieve from the same tables. Our
>> architecture is like this JSP/Struts 2 --> EJB 3.0 with CMT--> DAO
>> using hibernate uses data source configured in geronimo server-->
>> informix DB We have configured the data source using the informix
>> provided drivers and the informix Tran QL connectors. We are
>> currently facing a problem where we are getting locking issues
>> frequently when the user and batch process collides. The error is
>> "Could not do a physical-order read to fetch next row.SQL Error:
>> -107, SQLState: IX000" The solution provided was to increase the
>> IFX_LOCK_MODE_WAIT to some reasonable time so that the process
>> waits for the predefined time before it throws the error. Default
>> value for this is configured as zero in IFXDatasource. By default
>> data source configured using the informix XA option does not have
>> any option to configure this parameter. Neither the hibernate has
>> any configuration for this, as it is using the data source created
>> in application server. On analyzing the source code we noticed that
>> there is a component org.tranql.connector.informix.XAMCF part of
>> tran QL adapter which creates and configures the data source,
>> public XAMCF() { super(new IfxXADataSource(), new
>> NoExceptionsAreFatalSorter()); password = ""; ds =
>> (IfxXADataSource)xaDataSource; } This IFXData source doesn not have
>> the option of lock mode wait setup, which can be done using the
>> method "setIfxIFX_LOCK_MODE_WAIT". My questions are: 1. Is there
>> any option where in we can configure the IFX_LOCK_MODE_WAIT
>> parameter? 2. If not is there any patch with this enhancement done.
>> Thanks in advance Best Regards Shanmu
>> View this message in context: Informix XA data source configuration
>> for IFX_LOCK_MODE_WAIT
>> Sent from the Apache Geronimo - Dev mailing list archive at
>> Nabble.com.
>
Re: Informix XA data source configuration for IFX_LOCK_MODE_WAIT
Posted by David Jencks <da...@yahoo.com>.
I added this to the tranql wrapper and pushed a new snapshot to the
codehaus snapshot repo.
http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-informix-xa/1.2-SNAPSHOT/
Can you verify that this works, that the time unit is seconds, and
look around to see if there are other properties we should allow
setting on the XADatasource?
many thanks
david jencks
On Jan 13, 2010, at 10:14 AM, Shanmu wrote:
> Hello everyone, We are using Geronimo 2.1.4 with informix XA driver
> version 3.0.0 JC3. The application we build has a process which runs
> in the geronimo containner every 2 minutes and updates lots of
> tables. in foreground we a web application where users can access
> screen and update and retrieve from the same tables. Our
> architecture is like this JSP/Struts 2 --> EJB 3.0 with CMT--> DAO
> using hibernate uses data source configured in geronimo server-->
> informix DB We have configured the data source using the informix
> provided drivers and the informix Tran QL connectors. We are
> currently facing a problem where we are getting locking issues
> frequently when the user and batch process collides. The error is
> "Could not do a physical-order read to fetch next row.SQL Error:
> -107, SQLState: IX000" The solution provided was to increase the
> IFX_LOCK_MODE_WAIT to some reasonable time so that the process waits
> for the predefined time before it throws the error. Default value
> for this is configured as zero in IFXDatasource. By default data
> source configured using the informix XA option does not have any
> option to configure this parameter. Neither the hibernate has any
> configuration for this, as it is using the data source created in
> application server. On analyzing the source code we noticed that
> there is a component org.tranql.connector.informix.XAMCF part of
> tran QL adapter which creates and configures the data source, public
> XAMCF() { super(new IfxXADataSource(), new
> NoExceptionsAreFatalSorter()); password = ""; ds =
> (IfxXADataSource)xaDataSource; } This IFXData source doesn not have
> the option of lock mode wait setup, which can be done using the
> method "setIfxIFX_LOCK_MODE_WAIT". My questions are: 1. Is there any
> option where in we can configure the IFX_LOCK_MODE_WAIT parameter?
> 2. If not is there any patch with this enhancement done. Thanks in
> advance Best Regards Shanmu
> View this message in context: Informix XA data source configuration
> for IFX_LOCK_MODE_WAIT
> Sent from the Apache Geronimo - Dev mailing list archive at
> Nabble.com.