500 on PUT with TWS 4.1.1

Hi

I received the following:

WARN [07 Mar 2003 02:55:04,265 log4j.Log4jLogger:log@152]: Service com.softwareag.xtools.xdav.store.XContentStore@158015a access error : com.softwareag.tamino.db.API.accessor.TInsertException: NestedException:Retry after session mode update failed.
NestedException:Transaction mode cannot be updated. Problems parsing input stream.
NestedException:Failure updating the session state: SessionId: ->71, SessionKey: ->2581929
Cause: NestedException:Retry after session mode update failed.
NestedException:Transaction mode cannot be updated. Problems parsing input stream.
NestedException:Failure updating the session state: SessionId: ->71, SessionKey: ->2581929

I’ve attached parts of xdav.log and nt_service.

Any clues as to what this means and what to do about it?

thanks

Jason
xdav.log (68.8 KB)

stdout
nt_service_jvm_stdout.log (301 KB)

Hi Jason,

couldn’t read your nt_service_jvm_stdout.log. Did the exception rise after the server was long time up, during a heavy load situation or was this a single put soon after the server started?

Regards,
Martin

Hi,

got the nt_service_jvm_stdout.log. Its hard to give a definitive answer.
Tamino somehow decided to stop the session, the next access to Tamino with that session id fails.

The concrete Tamino error (timeout, …) cannot be seen in the exception. So if this problem persists, you may adjust the Tamino server settings (timeouts, XML work threads, …).

Please refer to Tamino WebDAV Server documentation, Tips&Tricks, The WebDAV environment receives heavy loads and the system reacts with errors [invalid session id, cannot connect, port in use, … ].

Hope this helps,
Martin

Hello Jason,

are you able to reproduce the problem? Is the DB still running? Which version of Tamino are you running.

Best regards

Juergen

Hi Juergen and Martin

I’m running Tamino 4.1.1.1 (I think it patched to 4.1.1.2, but SMH still says 4.1.1.1)

Yes, I can reproduce the problem. After much experimentation, the problem is simple to re-create. Use the Tamino WebDAV basic client to:

PUT /taminowebdavserver/yourCollection/testE.xyz HTTP/1.1
Content-length: 72
Authorization: Basic QWRtaW5pc3RyYXRvcjpjaGFuZ2VtZQ==
Host: 192.168.1.52:4000

with content:

<?xml version="1.0" encoding="UTF-8"?>
humpty dumpty

then PUT this again (just hit the exclamation mark).

The response is:

HTTP/1.1 500 Internal Server Error: Service com.softwareag.xtools.xdav.store.XContentStore@cade31 access error : com.softwareag.tamino.db.API.accessor.TInsertException: NestedException:Retry after session mode update failed.
NestedException:Transaction mode cannot be updated. Problems parsing input stream.
NestedException:Failure updating the session state: SessionId: ->82, SessionKey: ->528575724
Cause: NestedException:Retry after session mode update failed.
NestedException:Transaction mode cannot be updated. Problems parsing input stream.
NestedException:Failure updating the session state: SessionId: ->82, SessionKey: ->528575724

In order to reproduce the problem, PUT xml content twice to a URL with an extension other than “.xml”. The problem occurs on the second PUT.

The problem will occur if the content is different on each PUT, as soon as two consecutive PUTs have the same root element.

The problem occurs with or without a DOCTYPE declaration.

The problem does not occur with Tamino 3.1.2/ TWS 3.1.4. I have not tested Tamino 3.1.2 with TWS 4.1.1 though.

Fwiw, i’ve just now looked at administration/etc/globals/deltav.xml

It contains:


/history/${store}
/workspace/${store}
/workingresource/${store}
checkout-checkin
false
/administration
forbidden
forbidden
org.apache.slide.webdav.util.resourcekind.AbstractResourceKind
org.apache.slide.webdav.util.DeltavUriRedirector


Hmmm, this is not what I put there. It is different to Domain.xml, which contains what i expected to see in deltav.xml:

forbidden
/history/${store}
true
/workspace/${store}
forbidden
/workingresource/${store}
checkout-unlocked-checkin

cheers,

Jason

A work around is to set the Content-Type header on PUT to text/xml