This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi, doing some heavy testing and getting some strange behavior. I'm still not sure about the exact source, and need some assistance.
|
|
|
1. I'm pretty sure we're not issuing that query: the string "NLS" doesn't appear anywhere in the LightSpeed source code. My guess is that this is being issued somewhere inside the Oracle driver, possibly as part of encoding string parameter values or even connection initialisation. Where are you seeing this query: is it in the LightSpeed logger or in a profiling tool? If you are seeing it in the LightSpeed logger then we are issuing it: in this case let me know and I'll show you how to capture a stack trace. If you aren't seeing it in the LightSpeed logger then we're not issuing it. 2. ValidationContext.TargetName returns the "human name" of the property, i.e. our best guess at a name that is suitable for display to end users. This is so that default error messages like "House Number must be present" can be displayed directly to the end user e.g. by binding infrastructures. This is obtained by inserting spaces before each interCapitalised letter of the field name. The database is not consulted during the derivation of the "human name"; it's a purely CLR operation. 3. Like I said, I don't think we're issuing that query, in which case we wouldn't be the ones opening or closing / failing to close any additional connections. If this is something that LightSpeed is in control of, then of course we'll work with you to fix it. |
|
|
Hi Ivan. I was seeing it in a profiling tool. Being in the middle of chasing traces from of this bug (and also trying that new LS feature - ClosableConnectionStrategy) I forgot all about ODP.NET and I agree with you that ODP is probably behind it. And yes, something possibly with connection pooling / initialization and/or encoding of string binding parameters... I will try Oracle's metalink... Hm, hope this one will not be hard to hammer out (I wish it were a Lightspeed issue :) ) One crazy thing is that at in our simple stress test, with few simultanious client requests, our Oracle XE database quickly blocked the program because default limit on number of concurrent connections was reached with this issue. I will come back with more info when available. |
|
|
OK, I can confirm this is an Oracle's ODP.NET connection pooling issue. It is not beahaving as (I) expected, nor according to the documentation. Just by switching the pooling off, issue is no longer there. I'm now working on tweaking ODP.NET connection settings. The issue manifested itself within custom ValidationAttribute as my code there surely uses concurrent UoWs/connections. But in reality nothing to do with ValidationAttribute. I apologize for the false LS alarm. |
|