Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ticket/14132] Use transaction for adding notifications to type table
This will prevent a race condition that might occur by two posts being submitted at the same time with the notification type IDs not being cached. PHPBB3-14132
- Loading branch information
10004c4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Mark,
I just upgraded my forum to 3.1.9 straight from 3.1.8.
Note that I am using mssql.
Since then, I have this problem every time a user posts a new message:
I tracked it down to the function get_notification_type_id creating a new transaction, which seems to be related with this CL.
I have reverted this file to the 3.1.8 version for now, the previous version is working fine. Any ideas?
The callstack is:
FILE: [ROOT]/phpbb/notification/manager.php
CALL: phpbb\db\driver\factory->sql_transaction()
FILE: [ROOT]/phpbb/notification/type/base.php
CALL: phpbb\notification\manager->get_notification_type_id()
FILE: [ROOT]/phpbb/notification/manager.php
CALL: phpbb\notification\type\base->set_notification_manager()
FILE: [ROOT]/phpbb/notification/manager.php
CALL: phpbb\notification\manager->load_object()
FILE: [ROOT]/phpbb/notification/type/post.php
CALL: phpbb\notification\manager->get_item_type_class()
FILE: [ROOT]/phpbb/notification/manager.php
CALL: phpbb\notification\type\post->find_users_for_notification()
FILE: [ROOT]/phpbb/notification/manager.php
CALL: phpbb\notification\manager->add_notifications()
FILE: [ROOT]/includes/functions_posting.php
CALL: phpbb\notification\manager->add_notifications()
FILE: [ROOT]/posting.php
CALL: submit_post()
Thanks a lot,
10004c4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://support.microsoft.com/en-us/kb/3049257
Could you create a ticket please?
10004c4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks,
The ticket has now been created: https://tracker.phpbb.com/browse/PHPBB3-14646
Cheers,