Review concurrency and threading of database access layer (#76)
Closed
Andrzej Wójcik (Tigase) opened 7 years ago

As found out during resolution of task #6100, there were some issues with concurrency. During analysis of issue reported the, I've found out that we may have some issues also at database access layer. Most of them are related to blocking on very broad scope which may result in worse performance than expected.

It would be good to review whole database access layer to confirm that we do not have concurrency issues other than mentioned above.

Andrzej Wójcik (Tigase) commented 7 years ago

I've not assigned version as it is not critical and may be done after release of version 2.0. (ie. in version 2.1).

Andrzej Wójcik (Tigase) commented 7 years ago

I still need to check this new concurrency algorithm in during normal application usage but it solved issue #6144 which was caused by usage of same instance of prepared statement from 2 different threads at the same time without any blocking. I've changed that, so now each call to prepared statement will block internally on this statement instance without a need to ensure that in every place in which we would use statements.

Andrzej Wójcik (Tigase) commented 7 years ago

On the latest build, all works fine.

issue 1 of 1
Type
Task
Priority
Normal
Assignee
RedmineID
6110
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/siskin-im#76
Please wait...
Page is in error, reload to recover