You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Richard van Nieuwenhoven (JIRA)" <ji...@apache.org> on 2012/12/03 08:05:57 UTC

[jira] [Created] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Richard van Nieuwenhoven created JCR-3475:
---------------------------------------------

             Summary: Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
                 Key: JCR-3475
                 URL: https://issues.apache.org/jira/browse/JCR-3475
             Project: Jackrabbit Content Repository
          Issue Type: Sub-task
          Components: jackrabbit-jca
    Affects Versions: 2.4.2
         Environment: zLinux
Webshere 8.5
Jackrabbit deployed as (XA) resource adapter
jndi datasources (non XA as jackrabbit requests)
database db2 (version 9)
repository.xml attached
servlet code attached
            Reporter: Richard van Nieuwenhoven
         Attachments: EquestJackrabbitFilter.java, repository.xml

Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:

{code}
[11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
 the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
nactive logical session handle called
        at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
        at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
        at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
        at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
{code}

I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Richard van Nieuwenhoven (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard van Nieuwenhoven updated JCR-3475:
------------------------------------------

    Attachment: repository.xml

the repository.xml we use
                
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Claus Köll (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510302#comment-13510302 ] 

Claus Köll edited comment on JCR-3475 at 12/5/12 6:40 AM:
----------------------------------------------------------

Hi jackrabbit works perfectly with xa under websphere. The only thing as you mentioned jackrabbit does not implement local tx.
i will have a look at JCR-861
                
      was (Author: c_koell):
    Hi jackrabbit works perfectly with xa under websphere. The only thing as you mentioned jackrabbit does not implement local tx.
i will have a look at JCR-1446
                  
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Richard van Nieuwenhoven (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard van Nieuwenhoven updated JCR-3475:
------------------------------------------

    Attachment: EquestJackrabbitFilter.java

the usertransaction filter we use
                
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Richard van Nieuwenhoven (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard van Nieuwenhoven updated JCR-3475:
------------------------------------------

    Description: 
Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:

{code}
[11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
 the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
nactive logical session handle called
        at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
        at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
        at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
        at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
{code}

I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

  was:
Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:

{code}
[11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
 the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
nactive logical session handle called
        at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
        at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
        at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
        at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
        at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
{code}

I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

    
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Claus Köll (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510302#comment-13510302 ] 

Claus Köll commented on JCR-3475:
---------------------------------

Hi jackrabbit works perfectly with xa under websphere. The only thing as you mentioned jackrabbit does not implement local tx.
i will have a look at JCR-1446
                
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (JCR-3475) Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events

Posted by "Richard van Nieuwenhoven (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510328#comment-13510328 ] 

Richard van Nieuwenhoven commented on JCR-3475:
-----------------------------------------------

How can Jackrabbit work with xa under websphere, when it does not support local tx? We (IBM support included) found no possibility to force Websphere to global Transactions.

The only solution i found (with websphere support and long web searches) was to turn off the XA transactions in the ra.xml of jackrabbit. As far as i understand it that means that Jackrabbit does not participate in XA transactions.

When there is an other solution, or if i am wrong in my assumptions please post it.
                
> Workaround force LocalTX to a GlobalTX with a UserTX throws Exception in Events
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3475
>                 URL: https://issues.apache.org/jira/browse/JCR-3475
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-jca
>    Affects Versions: 2.4.2
>         Environment: zLinux
> Webshere 8.5
> Jackrabbit deployed as (XA) resource adapter
> jndi datasources (non XA as jackrabbit requests)
> database db2 (version 9)
> repository.xml attached
> servlet code attached
>            Reporter: Richard van Nieuwenhoven
>         Attachments: EquestJackrabbitFilter.java, repository.xml
>
>
> Because Our Applicationserver optimizes the web accesses throug the webdav-api to local transaction, we are trying to use a servlet filter that wraps a Usertransaction around every http requests. This results in the use of Glocal transactions. So far so good, it works in all normal jackrabbit accesses. But not with observation events! In case of event listening on repository changes the folowing exception occures:
> {code}
> [11/19/12 12:41:24:421 CET] 000000a3 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of
>  the service methods of the servlet [JCRWebdavServer] in application [eQuest-jackrabbit-webdav]. Exception created : [java.lang.IllegalStateException: I
> nactive logical session handle called
>         at org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:237)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:90)
>         at org.apache.jackrabbit.jca.JCASessionHandle.getUserID(JCASessionHandle.java:104)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.getUserID(JCRWebdavServer.java:409)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.get(JCRWebdavServer.java:239)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer$SessionCache.access$200(JCRWebdavServer.java:165)
>         at org.apache.jackrabbit.server.jcr.JCRWebdavServer.attachSession(JCRWebdavServer.java:103)
>         at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:247)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>         at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> {code}
> I hope that somebody can help us solving/working around this one! We would be willing to do the testing an debugging if necessary. But we do not have the time to dig into the code and solve it ourself.
> If somebody helps us getting Jackrabbit running XA under Webspere, i will go to the Management and try to get a donation to Apache-Jackrabbit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira