Hey Jan! It sounds like it could be a locking issue then - have you ran SQL Profiler on your production DB? If it isn't locking, I have no idea!
-Jamie On Tue, May 5, 2009 at 10:59 AM, Jan Limpens <[email protected]> wrote: > hey, jamie, long time no see! > > does not seem that way, i checked with a dba who confirmed that indexes > were fine. > > > > 2009/4/28 Jamie Fraser <[email protected]> > > >> I guess you've already checked - but could this be an Indexing issue? >> >> On Thu, Apr 23, 2009 at 7:25 AM, Jan Limpens <[email protected]> >> wrote: >> > Now, I am uncertain if this is a nhibernate problem I am facing here, I >> > actually doubt so. Still I suppose this list is as good as it gets when >> it >> > comes to sql knowledge and I cannot absolutely rule ou nh as well, so... >> > >> > I can now reproduce the problem, at least. >> > I looked at the queries that produce timeouts in the logs and could >> reduce >> > such a query to this: >> > >> > SELECT Orders.OrderID >> > FROM Orders INNER JOIN >> > [User] ON Orders.UserID = [User].UserID >> > WHERE ([User].UserID = '1000000002') >> > >> > this query timeouts. if I change the userid to '1000000003' (does not >> > exist), the query returns immediately, for ''1000000001', i get valid >> > results back, the user exists and has orders. when i restart sql server >> > (2005), in the management console all queries return result sets. >> > >> > now after a small and vain rejoice, i try to open the page that gave me >> the >> > timeouts - and they (the timeouts) are back :( same behavior as before, >> the >> > above query returns for one id, timeouts for another. >> > this is where nh could somehow be to blame (again, I doubt it, but it is >> > only after I access the db via nh that this awkward behavior starts). >> and of >> > course, only @ the production server. >> > >> > anyone could give me an idea where to look? >> > >> > thanks a lot, guys, >> > >> > jan >> > >> > >> > >> > 2009/4/22 Jan Limpens <[email protected]> >> >> >> >> Yeah. it seems to connect just fine, though my sensation is, that it is >> >> not as fast as it could be. What really breaks it is this stupid little >> >> query above. >> >> >> >> 2009/4/21 Keith Bloom <[email protected]> >> >>> >> >>> Hello, >> >>> >> >>> Does your application get a connection to the database at all? >> >>> >> >>> You can use NHProf http://nhprof.com/ to examine what is happening >> >>> when the timeout occurs. >> >>> >> >>> Keith. >> >>> >> >>> 2009/4/21 Jan Limpens <[email protected]>: >> >>> > hello, >> >>> > >> >>> > on the production server (where else), my otherwise snappy web app >> >>> > suddenly >> >>> > has timeouts and crawls like a snail. >> >>> > >> >>> > my config is: >> >>> > <settings> >> >>> > <item key="show_sql">true</item> >> >>> > <item key="max_fetch_depth">1</item> >> >>> > <item >> >>> > key="dialect">NHibernate.Dialect.MsSql2005Dialect</item> >> >>> > <item >> >>> > >> >>> > >> key="connection.provider">NHibernate.Connection.DriverConnectionProvider</item> >> >>> > <item >> >>> > >> key="connection.driver_class">NHibernate.Driver.SqlClientDriver</item> >> >>> > <item key="connection.connection_string">Data >> >>> > Source=.\SQLEXPRESS;Initial Catalog=dbname;Integrated >> >>> > Security=True</item> >> >>> > <item >> >>> > key="connection.isolation">ReadCommitted</item> >> >>> > <item key="default_schema">dbname.dbo</item> >> >>> > <item key="query.substitutions">true 1, false 0, >> >>> > yes >> >>> > 'Y', no 'N'</item> >> >>> > <item key="adonet.batch_size">10</item> >> >>> > <item >> >>> > >> >>> > >> key="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, >> >>> > NHibernate.ByteCode.Castle</item> >> >>> > </settings> >> >>> > >> >>> > on the same server, different database, with the almost identical >> >>> > connectionstring, I get good results, too. but here... >> >>> > >> >>> > System.Data.SqlClient.SqlException: Timeout expired. The timeout >> >>> > period >> >>> > elapsed prior to completion of the operation or the server is not >> >>> > responding. >> >>> > at System.Data.SqlClient.SqlConnection.OnError(SqlException >> >>> > exception, >> >>> > Boolean breakConnection) >> >>> > at >> System.Data.SqlClient.SqlInternalConnection.OnError(SqlException >> >>> > exception, Boolean breakConnection) >> >>> > at >> >>> > >> >>> > >> System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject >> >>> > stateObj) >> >>> > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, >> >>> > SqlCommand cmdHandler, SqlDataReader dataStream, >> >>> > BulkCopySimpleResultSet >> >>> > bulkCopyHandler, TdsParserStateObject stateObj) >> >>> > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() >> >>> > at System.Data.SqlClient.SqlDataReader.get_MetaData() >> >>> > at >> >>> > System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader >> ds, >> >>> > RunBehavior runBehavior, String resetOptionsString) >> >>> > at >> >>> > System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior >> >>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean >> >>> > async) >> >>> > at >> System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior >> >>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String >> >>> > method, >> >>> > DbAsyncResult result) >> >>> > at >> System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior >> >>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String >> >>> > method) >> >>> > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior >> >>> > behavior, String method) >> >>> > at >> >>> > System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior >> >>> > behavior) >> >>> > at >> >>> > System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() >> >>> > at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand >> cmd) >> >>> > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean >> >>> > autoDiscoverTypes, Boolean callable, RowSelection selection, >> >>> > ISessionImplementor session) >> >>> > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, >> >>> > QueryParameters queryParameters, Boolean returnProxies) >> >>> > at >> >>> > >> >>> > >> NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor >> >>> > session, QueryParameters queryParameters, Boolean returnProxies) >> >>> > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, >> >>> > QueryParameters queryParameters) >> >>> > >> >>> > anyone could give me hints where to look? >> >>> > you know, it works on my machine ;) (duck). >> >>> > >> >>> > thanks! >> >>> > >> >>> > -- >> >>> > Jan >> >>> > >> >>> > > >> >>> > >> >>> >> >>> >> >> >> >> >> >> >> >> -- >> >> Jan >> > >> > >> > >> > -- >> > Jan >> > >> > > >> > >> >> >> > > > -- > Jan > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
