I second this (or is it third?) also.  I've seen some weird exceptions
coming out of DOM4J on SMP (multi-cpu) machines.  While I can't
definitively blame Dom4J, it would at least lessen the risk in this
area.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:dom4j-dev-admin@;lists.sourceforge.net] On Behalf Of Brain, Jim
Sent: Tuesday, October 22, 2002 10:59 AM
To: 'David D. Lucas'; [EMAIL PROTECTED];
[EMAIL PROTECTED]
Cc: Brain, Jim
Subject: [dom4j-dev] RE: Thread Safety


I also echo a need to resolve this.  We are currently having this issue
in
production on a mission critical (probably everyone says that, but it is
an
app entry system for an insurance carrier, so I hope that qualifies)
application running on IBM OS/390 (ye old mainframe).  Before I pull the
HashTable version, I'd like to hear what the longer term plans are,
since
there is a considerable ramp time on getting new cuts of code through
our
integration management process.

Jim


Jim Brain, [EMAIL PROTECTED]
"Researching tomorrow's decisions today."
(319) 369-2070 (work)
SYSTEMS ARCHITECT, ITS, AEGON FINANCIAL PARTNERS

 -----Original Message-----
From:   David D. Lucas [mailto:ddlucas@;lse.com] 
Sent:   Tuesday, October 22, 2002 9:34 AM
To:     [EMAIL PROTECTED];
[EMAIL PROTECTED]
Cc:     Brain, Jim
Subject:        Thread Safety

Sorry for the cross post, but I have not seen any feedback on the thread

safety issues.  I have taken the stock CVS and changed all the HashMaps 
to Hashtables to get things to work in our server environment.

I would like to know what the long term direction is for thread safety 
and if anyone would like my changes?

Basically I took all the classes in org.dom4j.* and org.dom4j.tree.* and

changed them to use Hashtable.  The methods out there with 
synchronization are probably no longer needed now that we have a 
Hashtable.  I am looking at an alternative approach to keep the HashMap 
and performance without having thread related failures.

All this came from the QNameCache getting corrupted when two threads hit

  it at the same time.  It appears that one did a put while another did 
a get and resulted in a null coming back.

Please let me know what I should do next with the code.  If you want I 
can post it or check it in (given access to development CVS).

Thanks in advance,
Dave

-- 

+------------------------------------------------------------+
| David Lucas                        mailto:ddlucas@;lse.com  |
| Lucas Software Engineering, Inc.   (740) 964-6248 Voice    |
| Unix,Java,C++,CORBA,XML,EJB        (614) 668-4020 Mobile   |
| Middleware,Frameworks              (888) 866-4728 Fax/Msg  |
+------------------------------------------------------------+
| GPS Location:  40.0150 deg Lat,  -82.6378 deg Long         |
| IMHC: "Jesus Christ is the way, the truth, and the life."  |
| IMHC: "I know where I am; I know where I'm going."    <><  |
+------------------------------------------------------------+

Notes: PGP Key Block=http://www.lse.com/~ddlucas/pgpblock.txt
IMHO="in my humble opinion" IMHC="in my humble conviction"
All trademarks above are those of their respective owners.



-------------------------------------------------------
This sf.net emial is sponsored by: Influence the future 
of Java(TM) technology. Join the Java Community 
Process(SM) (JCP(SM)) program now. 
http://ad.doubleclick.net/clk;4699841;7576301;v?http://www.sun.com/javav
ote
_______________________________________________
dom4j-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dom4j-dev



-------------------------------------------------------
This sf.net emial is sponsored by: Influence the future 
of Java(TM) technology. Join the Java Community 
Process(SM) (JCP(SM)) program now. 
http://ad.doubleclick.net/clk;4699841;7576301;v?http://www.sun.com/javavote
_______________________________________________
dom4j-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dom4j-dev

Reply via email to