If I follow correctly. Part of your application is used for performing calculations on an operational data store, where that operational data store is updated external to nhibernate managed data?
Is the source of the deadlocks the queries and inserts being managed by nhiberate solely? Or are the other data input mechanisms updating the same tables at the same time nhibernate is also trying to perform calculations and updates? A query on "deadlock causes" provides a wealth of material on how to handle this. It boils down a fundamental design flaw in the overall architecture, and generally requires a change in how processes interface with data, or how the data is partitioned within the database. NHibernate by itself should not cause, or prevent deadlocks. John Davidson On Wed, Aug 11, 2010 at 9:08 PM, Praveen <[email protected]> wrote: > Hi John: > > Im using asp.net mvc + nhibernate + spring.net + spring.net > declarative transaction management + velocity cache(distributed) + sql > server; this is the high level tech stack. > > Im also using Open Session In View (session per request pattern) and > flush mode is set to auto > > Our current implementation: we perform aggregations on transactions > and we do it using nhibernate and we are experiencing dead locks as > they are a lot of reads and writes that need to happen for > calculations > > Im contemplating if there are ways to optimize this scenario. > > One option would be to use stored procedures and defer the > aggregations(calculations) to the sql server; but that introduces a > problem of rendering stale data (as these changes happen outside of > hibernate session) > > Im wondering if there are ways to mitigate this. I can think of using > syscache2 but was wondering if there are better ways to handle these > scenarios. > > > thanks > > On Aug 11, 7:00 pm, John Davidson <[email protected]> wrote: > > What are you doing in your application that causes the data to be stale? > You > > have not given enough detail about your architecture and implementation > for > > us to be of much help. What is your caching, if any? How are you doing > > session management? What FlushMode are you using? > > > > John Davidson > > > > > > > > On Wed, Aug 11, 2010 at 5:19 PM, Praveen <[email protected]> > wrote: > > > Hello: > > > > > Im working on a web application which is data-centric where in we do a > > > lot of computations. > > > > > Ex: Calculate monthly spending based on the financial transactions > > > (per category, date, year, month, etc..) > > > > > We are currently running into a few dead locks. > > > > > So one of the options that we were looking at is how we can leverage > > > the stored procedures to do these aggregations (data crunching) > > > > > but that leads us to the point where as these aggregations happen > > > outside of the NHibernate Session; the application serves stale data. > > > > > I was wondering if anybody has any ideas or approaches for this > > > problem. > > > > > thanks for your help > > > > > -Praveen > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "nhusers" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<nhusers%[email protected]> > <nhusers%[email protected]<nhusers%[email protected]>> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/nhusers?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
