I did end up making a fix that seems to be working.  I changed the
org.apache.jetspeed.page.document.impl.NodeSetImpl constructor to use the
toArray() instead of iterator()

   public NodeSetImpl(List nodes, Comparator comparator)
   {
       this.nodes = new TreeMap(comparator);

       Object[] nodeToCopy = nodes.toArray();
       for (Object n : nodeToCopy)
       {
           Node node = (Node)n;
           if (!this.nodes.containsKey( node.getName()))
           {
               this.nodes.put(node.getName(), node);
           }
       }
       this.comparator = comparator;
   }

I have been pushing about 10 page requests per second through for about
24hrs and haven't seen any issues.

On 12/5/06, Ethan Adams <[EMAIL PROTECTED] > wrote:

Unfortunately, I haven't been able to put the time into resolving this.  I
think the affects multiple places due to the Fail-safe nature of the
iterator.  I could be wrong though...

On 12/4/06, David Sean Taylor <[EMAIL PROTECTED]> wrote:
>
> Ethan Adams wrote:
> > I often run into ConcurrentModificationExceptions around
> RemovalAwareLists
> > while Portal is under load.
> >
> > My first thought is that DatabasePageManagerUtils.createList() should
> wrap
> > RemovalAwareList objects to make them thread safe.  Is there a reason
> this
> > isn't done?
> >
> Im going to make a concurrency pass over the code base this month.
> I'll add that to the list of areas to synchronize
> Or if you would like to send patch...
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to