Random Error


Author
Message
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K

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?


Attachments
SFESError.png (227 views, 124.00 KB)
Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
How long is it taking before you get the error?  Also, how many records are you saving (roughly)?
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K

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.


Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
Sorry for all the typos. Looks like pasting from Word messes up the format.
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
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.
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
Any update on this?
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
??????
StrataFrame Team
S
StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)StrataFrame Developer (4.2K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
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.
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
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
Larry Caylor
Larry Caylor
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
Was a fix for this ever found? I'm on version 1.7.7.7 and it's still happening.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search