mkarg commented on a change in pull request #52: JOHNZON-281 JAX-RS Provider 
MUST throw NoContentException
URL: https://github.com/apache/johnzon/pull/52#discussion_r328639525
 
 

 ##########
 File path: 
johnzon-jsonb/src/main/java/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.java
 ##########
 @@ -187,7 +189,23 @@ public long getSize(final T t, final Class<?> type, final 
Type genericType, fina
 
     @Override
     public T readFrom(final Class<T> type, final Type genericType, final 
Annotation[] annotations, final MediaType mediaType,
-            final MultivaluedMap<String, String> httpHeaders, final 
InputStream entityStream) throws IOException, WebApplicationException {
+            final MultivaluedMap<String, String> httpHeaders, InputStream 
entityStream) throws IOException, WebApplicationException {
+        if (entityStream.markSupported()) {
 
 Review comment:
   @rmannibucau Thank you for the quick review. :-)
   1. Actually I tried it out with the following result: Payara 4 really 
provides a markable stream, pure Jersey does not (or vice versa, I haven't 
actually written down), so dropping the mark case would _actually_ turn down 
performance at least for *some* configurations. So I would vote for keeping 
this case to provide *best possible* performance in each particular enviroment.
   2. I will look into that, but quickly answered this sounds complex, 
error-prone and slow (try-catch IMHO is slower than double buffering). What 
would be the _actual_ benefit compared to my original proposal?
   3. The intention of *this* PR is to provide JAX-RS 2.1 compliance **ASAP**. 
I see your point here and would love to have a more sophisticated solution, 
which e. g. checks if the requested class would allow creation of empty 
instances or not. But as the currently wrong code does not have this solution, 
and as it sounds non-trivial and slow, I think we must spend rather long time 
to get that attempt right _and_ fast _and_ bug-free. So IMHO we should do that 
in a _later_ PR _ontop_ of this one.
   4. What is a test? ;-)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to