[mapguide-internals] Strange multithreading issue / slow dbxml access

Bruce Dechant bruce.dechant at autodesk.com
Wed May 25 12:44:33 EDT 2011


Andreas,

Are you using the latest code from trunk?
Please see these tickets as they contain a fix for the DB_BUSY issue.
http://trac.osgeo.org/mapguide/ticket/1552
http://trac.osgeo.org/mapguide/ticket/1687

Thanks,
Bruce

-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Andreas Morf
Sent: Friday, May 20, 2011 3:44 AM
To: mapguide-internals at lists.osgeo.org
Subject: [mapguide-internals] Strange multithreading issue / slow dbxml access

Hi all,

While customizing my runtime map within java-webtier I am using following
code seqence: 
---
resourceService.SetResource(newLayerResId, layerDefContent, null);
layer.SetLayerDefinition(newLayerResId, resourceService);
layer.ForceRefresh();
---

Using this code in a sequential manner there is no problem but it is quite
slow because the map building process allways has to wait for SetResource
(see below).
Trying to parallelize and outsourcing execution of the code sequence to
different threads (ThreadPoolExecutor) leads to following problem:

resourceService.SetResource(newLayerResId, layerDefContent, null); -->
execution ok in different threads
layer.SetLayerDefinition(newLayerResId, resourceService); --> allways throws
MgUnclassifiedException

I was able to debug in Layerbase.cpp until the last line of
MgLayerBase::SetLayerDefinition
--
m_layers->GetMap()->OnLayerDefinitionChanged(this);
--
which always throwed that Exception but i was not able to determine why...


..and again, with parallel resourceService.SetResource there are these
annoying

> (8096) An exception occurred in DB XML component.
> Please try your operation later as the repository was busy.

coming up again..

Besides, storing about 40 layer-xml to dbxml always takes around 3 seconds -
my opinion: this is really slow  (on a quite fast XEON machine)
Any hints for optimisation places?

So I'm stuck with tuning mgserver on a multi-processor machine again.

Andreas





_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals


More information about the mapguide-internals mailing list