You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Rahuldeb Barman (JIRA)" <ji...@apache.org> on 2016/08/17 06:37:20 UTC

[jira] [Commented] (OLINGO-999) Cannot add more than one request into ChangSet - thread halts in infinite loop

    [ https://issues.apache.org/jira/browse/OLINGO-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15423983#comment-15423983 ] 

Rahuldeb Barman commented on OLINGO-999:
----------------------------------------

Is this a known issue already? Looks like threads gets blocked during adding request. 
changeSet.addRequest()// here

We are stuck on this. Any idea when this will be addressed ?

Tahnks,
Rahul

> Cannot add more than one request into ChangSet - thread halts in infinite loop
> ------------------------------------------------------------------------------
>
>                 Key: OLINGO-999
>                 URL: https://issues.apache.org/jira/browse/OLINGO-999
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata4-client, odata4-commons
>    Affects Versions: (Java) V4 4.2.0
>            Reporter: Punith DG
>            Priority: Blocker
>              Labels: batch, changeset, thread-safety
>
> I am not able to add more than one request to a batch ChangeSet as the BatchManager has PipedOutputStream Writer which is causing infinite loop the thread.
> When I try to add a second request the thread enters to into infinite waiting loop. Check the below sample code in which I'm trying to add requests.
> ODataBatchRequest batchRequest = client.getBatchRequestFactory().getBatchRequest("serviceURI");
> BatchManager payloadManager = batchRequest.payloadManager();
> ODataChangeset changeset = payloadManager.addChangeset();
> ODataEntityCreateRequest<ClientEntity> createRequest = client.getCUDRequestFactory().getEntityCreateRequest(new URI(serviceRoot), entity);
> createRequest.setFormat(ContentType.JSON);
> changeset.addRequest(createRequest); // here the thread waits in infinite loop due to piped streams sync problem.
> The problem is observed in line "request.batch(req, String.valueOf(contentId));" in addRequest() method of ODataChangesetImpl class.
> It seems a known issue in Java - http://stackoverflow.com/questions/9171632/piped-input-stream-is-getting-locked



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)