Author Message
 Posted 11/14/2013 9:22:16 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784

I’m getting a random error when saving via the Enterpriseserver. I have a form with 5 business objects and there are parent childrelationships. I’m saving these objects using the form save method on a transactionand every so often the transaction fails (see attached screen shot). If Iremove the transaction and simply save by form, it works 100% of the time. If Ibypass the Enterprise server and use a direct connection, both save by formwith and without a transaction works 100% of the time. There is something aboutsaving on a transaction via the Enterprise server that is randomly failing. TheSQL box is the same system for both the direct and Enterprise connections andthe number of pools is set to the default of 100. And suggestions?



 SFESError.png (11 views, 124.04 KB)
Post #32305
Add to Twitter Add to Facebook
 Posted 11/14/2013 9:42:46 AM
StrataFrame Developer

StrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame Developer

Group: StrataFrame Developers
Last Login: 11/6/2019 9:10:28 AM
Posts: 6,610, Visits: 6,775
How long is it taking before you get the error?  Also, how many records are you saving (roughly)?
Post #32306
Add to Twitter Add to Facebook
 Posted 11/14/2013 10:22:35 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784

What the application is doing is building an appointmentcalendar with preconfigured time slots and writing the appointment records outto the database. The application is using the Infragistics WinSchedulecontrols. Each appointment record can be up to 2600 bytes (the calendarcontrols require a 2048 variable binary field) in addition to the other fieldsin the record and there can be anywhere from a couple of hundred records tothousands depending on the time period that the calendar covers. In one of thetests I ran there were around 600 records. When I ran the save using ES withouta transaction it completed in a couple of seconds. When I ran it on atransaction it failed at around 35 seconds. In general it’s the larger numberof records where I see the problem, but it’s not consistent.

Post #32307
Add to Twitter Add to Facebook
 Posted 11/14/2013 10:31:26 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
Sorry for all the typos. Looks like pasting from Word messes up the format.
Post #32308
Add to Twitter Add to Facebook
 Posted 11/15/2013 6:49:37 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
To simplify things I created a test application that eliminates my inherited business layer and cuts the number of business objects down to two. What I've found out from running the test application and looking at the database server is that it appears that when saving on a transaction, the ES server tries to obtain one pooled connection for every record. The parent/child relationship doesn't make a difference. If I have 99 parent records and 0 child records everything works fine. But when the parent record count exceeds the maximum number of pooled connections (100 on my server), the save will likely fail and the failure happens when the connection timeout is reached, which I've configured to be 45 seconds. I say likely because 101 may eventually save but 200 will always fail.  When there are both parent and child records, the error begins to occur when the total record count exceeds 100.
Post #32311
Add to Twitter Add to Facebook
 Posted 11/19/2013 9:46:28 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
Any update on this?
Post #32314
Add to Twitter Add to Facebook
 Posted 11/25/2013 5:17:17 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
??????
Post #32321
Add to Twitter Add to Facebook
 Posted 12/3/2013 10:15:50 AM
StrataFrame Developer

StrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame DeveloperStrataFrame Developer

Group: StrataFrame Developers
Last Login: 5/16/2018 3:20:37 AM
Posts: 2,982, Visits: 2,482
Sorry for the delay, Larry.  I was out on vacation when you posted your first question and Trent was holding down the fort.  Then, I was up-chucking all Thanksgiving week.

You're not the first person to get this error.  We have seen it ourselves.  It's a bug in the ES that we have resolved in the past.  When you save on a transaction, the connection never gets disposed/cleaned up properly, so the connection never gets returned to the pool.  After you've used 100 SqlConnection objects to save on transactions, the next time the ES tries to get a connection from the pool when it creates the SqlConnection, you get that exception.

I don't remember specifically which assembly the fix was in.  It might have been in Base or Enterprise.  I will setup a test tomorrow and go through the old versions to reproduce it and figure out which assembly you need for the fix.
Post #32329
Add to Twitter Add to Facebook
 Posted 12/4/2013 8:22:03 AM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
Hi Ben,

Sorry to hear your Thanksgiving wasn't that great. If it helps resolve the issue I'm running the latest version of the framework and ES. Before I posted the problem I download the manual update for ES and re-installed it on the server.

-Larry
Post #32330
Add to Twitter Add to Facebook
 Posted 1/8/2014 1:16:27 PM
Advanced StrataFrame User

Advanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame UserAdvanced StrataFrame User

Group: Awaiting Activation
Last Login: 11/6/2019 4:44:23 AM
Posts: 595, Visits: 3,784
Was a fix for this ever found? I'm on version 1.7.7.7 and it's still happening.
Post #32362
Add to Twitter Add to Facebook


Similar Topics

Expand / Collapse

Reading This Topic

Expand / Collapse

Site Map - Home - My Account - Forum - About Us - Contact Us - Try It - Buy It

Microsoft, Visual Studio, and the Visual Studio logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.