olingo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kavindu Dodanduwa (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OLINGO-1066) Stream support for Primitive and Complex type collections
Date Thu, 20 Apr 2017 11:44:04 GMT

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

Kavindu Dodanduwa commented on OLINGO-1066:

Further more I have come across following concern over streaming. [With reference to V4.3.0]

According to the Olingo implementation service developer can provide an implementation of
ODataContentWriteErrorCallback which can be used to invalidate the response as required by
OData specification. 

But if we go through the implementation, write method of ODataWritableContent [Line 72] only
catch SerializerException.  So if our provided implementation to be called, the thrown exception
should be of type SerializerException. Adding to that, when we use streaming we are supposed
to implement EntityIterator and provide that for the serializer. This implementation is done
by service developer and that could throw any type of valid exception (ex:- SqlException).
If such an exception is thrown, it won’t be caught and forwarded to callback handler. 

Going furthermore, if we check how exceptions are handled in top level through ODataHttpHandlerImpl
[Line 171] we only catch IOExceptions. So if a service implementer does not wrap the exception
inside a SerializerException, it won’t be caught from any provided mechanism.

I think this need to be discussed and improved with this refactoring

> Stream support for Primitive and Complex type collections
> ---------------------------------------------------------
>                 Key: OLINGO-1066
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1066
>             Project: Olingo
>          Issue Type: New Feature
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.4.0
>            Reporter: Kavindu Dodanduwa
>            Assignee: Michael Bolz
>            Priority: Minor
>              Labels: features
>         Attachments: patch.diff, patch-refactoring.diff
> Olingo currently doesn't support streaming support for serialization of primitive and
complex collection type responses.

This message was sent by Atlassian JIRA

View raw message