MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029195Open CASCADE[OCCT] OCCT:Application Frameworkpublic2017-10-09 12:142018-10-19 17:36
Reporterabv 
Assigned Toszy 
PrioritynormalSeverityminor 
StatusfeedbackResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0029195: OCAF - ensure thread safety for different documents
DescriptionFor OCAF to be usable in multithreaded server applications where the same server process should handle multiple documents, we need to ensure that OCAF is thread safe, starting from scenarios where each thread is processing its own document.

Currently known possible sources of non-safety are:

- CDF_Session singleton and application stored in it -- they are called by some functions to get some defaults (search for "CurrentApplication")

- Version of the document being read is recorded during retrieval in the global variable - see BinMDataStd::DocumentVersion(). This can be moved to RElocation table, see 0029014
TagsNo tags attached.
Test case number
Attached Files7z file icon tests29195.7z (1,604,239 bytes) 2018-08-07 18:04

- Relationships
related to 0026491closedabv Open CASCADE Incorrect OCAF format management 
related to 0029014closedbugmaster Community Managing Binary Format Versions Is Not Possible for Own TDF_Attributes 

-  Notes
(0072449)
szy (developer)
2017-11-23 16:49

Could you explain your idea when "the same server process should handle multiple documents" in more details. It is not clear connection of of CDF_Session with multiple documents processing. Current architecture supposes only one Session at the top. 1 Session => 1 Application => 1 Document. For sure you can open new document (it will be added to the internal List) and switch to it. Session just can provide list of opened (in session) documents. May be you mean problem of this list processing?
(0072669)
abv (manager)
2017-12-02 20:25

Imagine a server that runs multiple threads within one process, handling different requests from clients. In the current state of OCAF, if each thread will try to load its own OCAF document, they will conflict due to OCAF architecture assuming single document per process.
(0078448)
git (administrator)
2018-08-07 10:31

Branch CR29195 has been created by szy.

SHA-1: 1e96c8eb30dc630673ae71551bed95a8115d1562


Detailed log of new commits:

Author: szy
Date: Tue Aug 7 10:29:22 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // OCAF persistence architecture modification to satisfy multythreading criteria.
(0078475)
git (administrator)
2018-08-07 17:59

Branch CR29195 has been updated by szy.

SHA-1: 393fcd3be5ae1520a5da9c24818ee71f892f1115


Detailed log of new commits:

Author: szy
Date: Tue Aug 7 17:57:54 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // adding test cases.

(0078500)
git (administrator)
2018-08-08 17:25

Branch CR29195_1 has been created by szy.

SHA-1: b62c03e90b4904bb0d3be78a501e0af31e8777d2


Detailed log of new commits:

Author: szy
Date: Wed Aug 8 17:24:06 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // OCAF persistence architecture modification to satisfy multi-threading criteria.
(0078507)
git (administrator)
2018-08-08 18:31

Branch CR29195_1 has been updated by szy.

SHA-1: 81f58e63798bf0883e43092209ca71d49a0c54ff


Detailed log of new commits:

Author: szy
Date: Wed Aug 8 18:30:07 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Correction of warnings on MacOS.

(0078605)
git (administrator)
2018-08-14 16:55

Branch CR29195_2 has been created by szy.

SHA-1: 87e8be2e152255aafd330981738160e52ac12f6a


Detailed log of new commits:

Author: szy
Date: Wed Aug 8 17:24:06 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Fix of compilation errors.
    
    0029195: OCAF - ensure thread safety for different documents.
    
    // Correction of warnings on MacOS.
    
    0029195: OCAF - ensure thread safety for different documents.
    
    // OCAF persistence architecture modification to satisfy multi-threading criteria.
(0078609)
git (administrator)
2018-08-14 18:04

Branch CR29195_2 has been updated by szy.

SHA-1: 81670ad301d2494e7d4715549c8962e0125277df


Detailed log of new commits:

Author: szy
Date: Tue Aug 14 18:01:55 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Fix compilation errors on MacOS.

(0078622)
git (administrator)
2018-08-15 12:18

Branch CR29195_3 has been created by szy.

SHA-1: b721073ca43feaa9450d023fa53120dacfdaf4bc


Detailed log of new commits:

Author: szy
Date: Wed Aug 15 12:16:33 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Fixing warnings on Linux.
(0078635)
git (administrator)
2018-08-15 17:55

Branch CR29195_3 has been updated by szy.

SHA-1: aec50c02c87b4ef82f0d36dffc25a1558aebf638


Detailed log of new commits:

Author: szy
Date: Wed Aug 15 17:53:01 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Fixing CSharp and Java Samples (Removing obsolete method from CDF_Application).

(0078668)
git (administrator)
2018-08-17 17:38

Branch CR29195_4 has been created by szy.

SHA-1: ad8352dcc5d1d972687e8a593618bd93ea3328b0


Detailed log of new commits:

Author: szy
Date: Fri Aug 17 17:36:07 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Fixing TObj testing bugs.
(0078697)
git (administrator)
2018-08-20 18:51

Branch CR29195_5 has been created by szy.

SHA-1: 506de23937dda85c4eed53a37a7b267952df9efb


No new revisions were added by this update.
(0078701)
git (administrator)
2018-08-21 10:39

Branch CR29195_6 has been created by szy.

SHA-1: 9f1a4f137529cff46784f6154c6da9994483815b


Detailed log of new commits:

Author: szy
Date: Tue Aug 21 10:37:13 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Adding lost fix to TObjDRAW.cxx
(0078714)
git (administrator)
2018-08-22 11:29

Branch CR29195_7 has been created by szy.

SHA-1: 2a1bde0ed340d8b392c5b5ed63026596b4fba2ad


Detailed log of new commits:

Author: szy
Date: Wed Aug 8 17:24:06 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // OCAF persistence architecture modification to satisfy multi-threading criteria.
(0079036)
git (administrator)
2018-09-07 18:45

Branch CR29195_8 has been created by szy.

SHA-1: 3f244e6c954374e19d364ab9df3300e3e44dc876


Detailed log of new commits:

Author: szy
Date: Wed Aug 8 17:24:06 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // OCAF persistence architecture modification to satisfy multi-threading criteria.
(0080146)
git (administrator)
2018-10-19 17:36

Branch CR29195_9 has been created by szy.

SHA-1: 734676f8676b4ba7f3a8aa5926362e6240c36a25


Detailed log of new commits:

Author: szy
Date: Fri Oct 19 17:34:39 2018 +0300

    0029195: OCAF - ensure thread safety for different documents.
    
    // Rebase on CR30169

Author: szy
Date: Tue Oct 9 17:30:10 2018 +0300

    0030169: Application Framework - Document format version management improvement.
    
    // Combined to one.

- Issue History
Date Modified Username Field Change
2017-10-09 12:14 abv New Issue
2017-10-09 12:14 abv Assigned To => mpv
2017-10-09 12:14 abv Relationship added related to 0026491
2017-10-09 12:14 abv Relationship added related to 0029014
2017-10-11 16:19 mpv Assigned To mpv => szy
2017-11-23 16:06 szy Status new => assigned
2017-11-23 16:49 szy Note Added: 0072449
2017-11-23 16:49 szy Assigned To szy => abv
2017-11-23 16:49 szy Status assigned => feedback
2017-12-02 20:25 abv Note Added: 0072669
2017-12-02 20:25 abv Assigned To abv => szy
2018-08-07 10:31 git Note Added: 0078448
2018-08-07 17:59 git Note Added: 0078475
2018-08-07 18:04 szy File Added: tests29195.7z
2018-08-08 17:25 git Note Added: 0078500
2018-08-08 18:31 git Note Added: 0078507
2018-08-14 16:55 git Note Added: 0078605
2018-08-14 18:04 git Note Added: 0078609
2018-08-15 12:18 git Note Added: 0078622
2018-08-15 17:55 git Note Added: 0078635
2018-08-17 17:38 git Note Added: 0078668
2018-08-20 18:51 git Note Added: 0078697
2018-08-21 10:39 git Note Added: 0078701
2018-08-22 11:29 git Note Added: 0078714
2018-09-07 18:45 git Note Added: 0079036
2018-10-19 17:36 git Note Added: 0080146


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker