ODBC MS/SQL error 100 and #AllCallsThreaded or "Thread all database calls" option

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

ODBC MS/SQL error 100 and #AllCallsThreaded or "Thread all database calls" option

Louis LaBrunda
Hi Everybody,

I have a lot of programs running as Window NT services that use ODBC to access an MS/SQL database.  I have always seen a fair number of error 100's that I believe means there was a problem but ODBC didn't return any details as to the nature of the problem.  Does anyone have any insight into cause of these errors and maybe what can be done to avoid or reduce them?

For a very long time "Thread all database calls" option unset and still do.  Lately I have added:

AbtDbmSystem preference: #AllCallsThreaded value: true.

Assuming that it might allow database accesses to overlap and therefor go a little faster.  I have noticed that the number of error 100's has increased substantially.  Could this/these settings be the cause.  Are these opposite sides of the same setting?

Any thoughts or suggestions are greatly appreciated.

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/kWrK9FxfNxkJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: ODBC MS/SQL error 100 and #AllCallsThreaded or "Thread all database calls" option

thomas....@natural-software.eu
Hi Everybody

Sorry for digging out this old thread but we run into a similar problem.

We use ODBC to connect to a MS/SQL database with:

AbtDbmSystem preference: #AllCallsThreaded value: false.



We have some rather long running transactions with a "Delete" and approx. 20 "Insert" Statements.

The application is a server application. The problem that is happening now is that if two transactions overlap, the server hangs. The transactions are being called from different proccesses. I would have assumed that the calls serialize..

We are using 8.6.2

Kind regards

Thomas.



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ODBC MS/SQL error 100 and #AllCallsThreaded or "Thread all database calls" option

Louis LaBrunda
Hi Thomas,

I currently use:

AbtDbmSystem preference: #AllCallsThreaded value: false.

as opposed to setting it to true.  I'm not sure but I think using #true or #false won't serialize database access.  I think that using #true would allow other things/forks to run while the database is being accessed.  This only helps if there is something for them to do.  In my case there isn't anything to do so using #true won't help.

serialize all database access with a semaphore to prevent the kinds of problems you are encountering.  In my case (actually many cases) it doesn't seem to slow things down enough to be a problem.  I suggest you give it a try and see if there is a speed problem.  Even if there is it may still be better than the alternative hangs.  Good luck.


Lou



On Wednesday, November 29, 2017 at 7:07:19 AM UTC-5, Thomas Stalzer wrote:
Hi Everybody

Sorry for digging out this old thread but we run into a similar problem.

We use ODBC to connect to a MS/SQL database with:

AbtDbmSystem preference: #AllCallsThreaded value: false.



We have some rather long running transactions with a "Delete" and approx. 20 "Insert" Statements.

The application is a server application. The problem that is happening now is that if two transactions overlap, the server hangs. The transactions are being called from different proccesses. I would have assumed that the calls serialize..

We are using 8.6.2

Kind regards

Thomas.



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ODBC MS/SQL error 100 and #AllCallsThreaded or "Thread all database calls" option

thomas....@natural-software.eu
Hi Lou

That is what we did as a "quick" fix. But stll we need to be prepared for parallel access.

Another thing we tried is
- Issue a "SET LOCK_TIMEOUT 10" as first statement in transaction
- Use the threaded (coRoutine...) calls.

Thanks

--Thomas


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.