In-Portal Issue Tracker - In-Portal CMS
|
Viewing Issue Advanced Details |
|
ID:
|
Category:
|
Type:
|
Reproducibility:
|
Date Submitted:
|
Last Update:
|
52 |
[In-Portal CMS] Data Management |
bug report |
random |
2009-06-07 07:42 |
2009-10-03 07:56 |
|
Reporter:
|
alex |
Platform:
|
|
|
Assigned To:
|
alex |
OS:
|
|
|
Priority:
|
normal |
OS Version:
|
|
|
Status:
|
closed |
Product Version:
|
|
|
Product Build:
|
|
Resolution:
|
fixed |
|
|
ETA:
|
none |
Fixed in Version:
|
5.0.0 |
|
Reference:
|
|
Change Log Message:
|
|
Estimate Points:
|
0 |
|
Summary:
|
0000052: Preventing Data loss from Temporarily tables |
Description:
|
We could lost data, when 2 concurrently running processes tries to copy data from same temporary table to live table. To prevent this I propose to implement semaphore system. Idea is to put all processes, that required temp->live operation to queue using database lock feature. |
Steps To Reproduce:
|
Preventing Data loss from Temporarily tables |
Additional Information:
|
Implementing logic:
Add new Semaphores table, that will consist of Timestamp, SessionKey and MainPrefix columns. Before temp to live coping starts open second database connection and lock Semaphores table (new table). Then we should search for any record for our prefix. When found we release lock, wait for 1 second and repeat previous steps. In case, when we totally have waited for 30 seconds, then exit from coping process with error.
If at some point we haven't found record with our prefix, then we should add one and release lock. Perform coping from temp to live. Lock Semaphores table and delete our previously added record and release lock.
This way if two (or more) temp handlers will meet, then they will wait for each other and won't start to work concurrently. |
Relationships | related to | 0000050 | closed (5.0.0) | alex | Improvements of CheckSimultaneousEdit functionality | related to | 0000051 | closed (5.0.0) | alex | Improvements to Duplicate Submit checks |
|
Attached Files:
|
|
|
Issue History |
Date Modified |
Username |
Field |
Change |
2009-10-03 07:56 |
administrator |
Note Added: 0000648 |
|
2009-10-03 07:56 |
administrator |
Status |
resolved => closed |
2009-07-19 08:19 |
alex |
Fixed in Version |
=> 5.0.0 |
2009-07-19 08:19 |
alex |
Target Version |
Icebox => 5.0.0 |
2009-07-19 08:18 |
alex |
Note Added: 0000155 |
|
2009-07-19 08:18 |
alex |
Status |
active => resolved |
2009-07-19 08:18 |
alex |
Resolution |
open => fixed |
2009-07-19 08:18 |
alex |
Assigned To |
=> alex |
2009-07-19 08:18 |
alex |
Changeset attached |
RC r11933 |
2009-06-07 16:38 |
Dmitry |
Target Version |
=> Icebox |
2009-06-07 16:38 |
Dmitry |
Summary |
Prevent data loss in temp tables => Preventing Data loss from Temporarily tables |
2009-06-07 16:38 |
Dmitry |
Steps to Reproduce Updated |
bug_revision_view_page.php?rev_id=32#r32 |
2009-06-07 07:43 |
alex |
Relationship added |
related to 0000051 |
2009-06-07 07:43 |
alex |
Relationship added |
related to 0000050 |
2009-06-07 07:42 |
alex |
New Issue |
|