Ticket #211 (closed defect: fixed)
Serializing class definition to XML needs to be optimized
| Reported by: | ronnielouie | Owned by: | |
|---|---|---|---|
| Priority: | medium | Milestone: | 2.1 |
| Component: | Feature Service | Version: | 1.2.0 |
| Severity: | major | Keywords: | |
| Cc: | External ID: | 945237 |
Description
From Haris Kurtagic:
The problem was when executing MgServerDescribeSchema::DescribeSchema?.
While transfering classes from FDO schema collection to MapGuide it is calling MgServerGetFeatures::GetMgClassDefinition? in a for-loop for every class.
GetMgClassDefinition? will seralize class to XML. But serialazing is done in a way that new temporary schema is created and than class is removed from original schema , put to temporary, temporary schema serialized and class returned to original class collection.
And if in that proccess another thread is doing describe schema it is error and exception and...
This is more obvious in a case of edits because after every edit ( insert/update/delete ) cache is cleared and DescribeSchema? is called again.
I believe that describe schema should work differently, when doing "get class" it shouldn't change original schema list ( temporary removes class from list).
