You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by "ShengTao Dong (JIRA)" <ju...@ws.apache.org> on 2010/10/27 04:24:19 UTC

[jira] Created: (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

The juddiv3.war can not be accessed in concurrent way
-----------------------------------------------------

                 Key: JUDDI-425
                 URL: https://issues.apache.org/jira/browse/JUDDI-425
             Project: jUDDI
          Issue Type: Bug
          Components: CXF 
    Affects Versions: 3.0.1
            Reporter: ShengTao Dong
            Assignee: Kurt T Stam


We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:

javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Resolved] (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "Kurt T Stam (JIRA)" <ju...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kurt T Stam resolved JUDDI-425.
-------------------------------

    Resolution: Not A Problem

Please reopen this issue if the suggested way of registering endpoints does not fix your issue.

Thx

--Kurt

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>             Fix For: 3.1.0
>
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "Kurt T Stam (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12932803#action_12932803 ] 

Kurt T Stam commented on JUDDI-425:
-----------------------------------

ShengTao, what is your expected behavior? I think if 2 transaction are trying to accomplish the same thing at the same time, one is supposed to fail? 
We are not taking out write locks, but the entire update should be in one transaction. So one of the updates will fail I think which is ok no? The database end up in the right state right?

Anyway to reproduce I can for example update the serviceName concurrently? 

--Kurt

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "ShengTao Dong (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933302#action_12933302 ] 

ShengTao Dong commented on JUDDI-425:
-------------------------------------

What I suggested is just want to let you could reproduce the exception, so just said it in a simple way,  in real environment, the parameters will not exactly same,  the normal scenario  always like this:

There are three hosts, and all of those provide a same service but with different endpoint, and then they need register their endpoint to juddi to let client to lookup, and some time they will register in same time, so will update the same service entry in database, what we want is all endpoints could be registered.

The behaviour we expected is the server side can let all these register success, and when throw these exception, the database state is not right, it's  in a non-consistence state.

I always reproduce this by using a script to start three server to register  in same time, it can be reproduce quickly.

By the way, I find that  when I save a service, juddi just  remove old one and save the new one,  is there a function that can let client do a update? that means if the client save a service with some endpoints, the old endpoints of this service would not be removed, now I just get the  service from juddi, then merge it to the new service, and then save, do I make a wrong understanding of this?
 

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "ShengTao Dong (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13025576#comment-13025576 ] 

ShengTao Dong commented on JUDDI-425:
-------------------------------------

I'm doing that just like your mail wrote, and it works.
And maybe you can add a option to change the way if 'overwrite' the bindings, that seems a potential requirement.
-------------Below is the content from your mail-------------------------
 so the idea is, you check if the service is there (and only create it 
if it not there), and then, in a separate transaction you save your 
bindingTemplate to this service. If the bindingKey already exist it will 
overwrite the existing binding. So you will have add a hostname or 
something to your binding key.
------------------------------------------------------------------------

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>             Fix For: 3.1.0
>
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "Kurt T Stam (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925468#action_12925468 ] 

Kurt T Stam commented on JUDDI-425:
-----------------------------------

Hi ShengTao, we have a load test setup under qa which fires requests concurrently, and I have not seen this error. Would you be able to provide a test so we can reproduce there error you are seeing? That way we can also verify a possible fix. Thx --Kurt

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "ShengTao Dong (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12926189#action_12926189 ] 

ShengTao Dong commented on JUDDI-425:
-------------------------------------

We could find this some times when more than one client to update one same service with same parameters in the same time.

So you can try do like this way:
   In 'Same' time more than one client get a update a 'Same' service with 'Same' parameters. 

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "Kurt T Stam (JIRA)" <ju...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014690#comment-13014690 ] 

Kurt T Stam commented on JUDDI-425:
-----------------------------------

Hi ShengTao, you would think if you follow:

1. Check if the service is there, add if it is not.
2. Then add a bindingTemplate.

Then you would not be overwriting a bindingTemplates. You are right though, if you are saving a service it will overwrite the existing one, and it will remove any bindingTemplates if they are there. The current behavior is how the UDDI v3 spec tells us to so it, but we could add a config option to differentiate from the spec.

Please let me know if you are following the above strategy and *still* seeing issues. 

--Kurt



> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>             Fix For: 3.1.0
>
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (JUDDI-425) The juddiv3.war can not be accessed in concurrent way

Posted by "Kurt T Stam (JIRA)" <ju...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/JUDDI-425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kurt T Stam updated JUDDI-425:
------------------------------

    Fix Version/s: 3.1.0

> The juddiv3.war can not be accessed in concurrent way
> -----------------------------------------------------
>
>                 Key: JUDDI-425
>                 URL: https://issues.apache.org/jira/browse/JUDDI-425
>             Project: jUDDI
>          Issue Type: Bug
>          Components: CXF 
>    Affects Versions: 3.0.1
>            Reporter: ShengTao Dong
>            Assignee: Kurt T Stam
>             Fix For: 3.1.0
>
>
> We are using juddiv3 war component to provide a soap way to access the juddi database, but it seems it can not support concurrent access, if the client initial concurrent visit, it will throw a exception like below:
> javax.xml.ws.soap.SOAPFaultException: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira