atom feed9 messages in net.sourceforge.lists.exist-openRe: [Exist-open] XUpdates via SOAP ha...
FromSent OnAttachments
Thamm, RussellAug 7, 2014 9:37 pm 
Adam RetterAug 11, 2014 8:37 am 
Dannes WesselsAug 11, 2014 9:36 am 
Thamm, RussellAug 13, 2014 4:19 pm 
Adam RetterAug 14, 2014 1:48 am 
Thamm, RussellAug 14, 2014 7:03 pm 
Thamm, RussellAug 17, 2014 5:27 pm 
Adam RetterAug 18, 2014 8:52 am 
Dannes WesselsAug 18, 2014 11:24 am 
Subject:Re: [Exist-open] XUpdates via SOAP hang. [SEC=UNCLASSIFIED]
From:Thamm, Russell (russ@dsto.defence.gov.au)
Date:Aug 17, 2014 5:27:39 pm
List:net.sourceforge.lists.exist-open

UNCLASSIFIED

Hi,

I looked at the source code on the weekend.

At line 354 in AdminSoapBindingImpl.java

final DocumentImpl doc = broker.getXMLResource(documentName, Permission.READ);

obtains a lock that is not released.

I added:

doc.getUpdateLock().release(Permission.READ);

just before the return statement.

I'm not sure that this is the correct way to release the lock, but it has solved
the hanging problem.

Cheers Russell

-----Original Message----- From: Thamm, Russell [mailto:russ@dsto.defence.gov.au] Sent: Friday, 15 August, 2014 11:34 a.m. To: exis@lists.sourceforge.net Subject: Re: [Exist-open] XUpdates via SOAP hang. [SEC=UNCLASSIFIED]

UNCLASSIFIED

Yes, I'm saying exactly that.

I think it’s a locking problem. XUpdates work but apparently leave the target
resource locked. A second XUpdate on the same resource hangs - presumably
waiting for the lock to be released.

Cheers Russell

-----Original Message----- From: Adam Retter [mailto:ad@exist-db.org] Sent: Thursday, 14 August, 2014 6:19 p.m. To: Thamm, Russell Cc: exis@lists.sourceforge.net Subject: Re: [Exist-open] XUpdates via SOAP hang. [SEC=UNCLASSIFIED]

hmmm. So Are you saying XQuery Update is okay, but not XUpdate? That would
surprise me as the underlying code for both is very very similar.

On 14 August 2014 00:20, Thamm, Russell <russ@dsto.defence.gov.au> wrote:

UNCLASSIFIED

Hi Adam,

Yes it worked fine with 1.4. I have now recoded most of my XUpdates to use
XQuery Updates. It was either that or revert to 1.4.

I could use another API but it would involve considerable effort to change.
Sound like it's probably sensible in the long run though.

Cheers Russell

-----Original Message----- From: Adam Retter [mailto:ad@exist-db.org] Sent: Tuesday, 12 August, 2014 1:08 a.m. To: Thamm, Russell Cc: exis@lists.sourceforge.net Subject: Re: [Exist-open] XUpdates via SOAP hang. [SEC=UNCLASSIFIED]

Hi Russell,

Two questions -

1) Is this just an eXist 2.1 issue, i.e. did it work on prior versions? 2) Do you really need the SOAP API or could you use a different API?

As far as I am aware, no one has maintained the SOAP API in eXist for years, so
I would be surprised if it was still robust and well-tested.

On 8 August 2014 05:37, Thamm, Russell <russ@dsto.defence.gov.au> wrote:

UNCLASSIFIED

Howdy,

I recently upgraded to eXist 2.1 rev 18721.

I am very impressed with the Dashboard and eXide. The search function in the documentation is very useful.

My application runs perfectly with the new eXist version except for XUpdates which frequently hang. The server simply fails to respond to the SOAP request. Even when an XUpdate succeeds, all is not well. The updated resource cannot be opened with the Admin Client which hangs. The resource can be opened but not saved with eXide.

I can see no errors in any log file.

When I shutdown eXist-db (which takes several minutes) I do see a few errors in the logs.

exist.log indicates

- Not all threads returned. Forcing shutdown…

- A thread released a write lock that it didn’t hold.

- Transaction manager failed to acquire broker for running system tasks

- Transaction was not committed or aborted

urlrewrite.log reports

error while processing /exist/services/admin: null

org.eclipse.jetty.io.EofExeception

at org.eclipse.jetty.http.HttpGenerator.flushBuffer

This happens for eXist-db running under CentOS or Windows 7.

The same XUpdate applied using the Admin Client seems OK, so I think it’s just a SOAP thing.

Cheers

Russell

IMPORTANT: This email remains the property of the Department of Defence and is subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have received this email in error, you are requested to contact the sender and delete the email.

--------------------------------------------------------------------- - -------- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds

IMPORTANT: This email remains the property of the Department of Defence and is
subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have
received this email in error, you are requested to contact the sender and delete
the email.

-- Adam Retter

eXist Developer { United Kingdom } ad@exist-db.org irc://irc.freenode.net/existdb

IMPORTANT: This email remains the property of the Department of Defence and is
subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have
received this email in error, you are requested to contact the sender and delete
the email.

IMPORTANT: This email remains the property of the Department of Defence and is
subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have
received this email in error, you are requested to contact the sender and delete
the email.