[
https://issues.apache.org/jira/browse/SOLR-17562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17934542#comment-17934542
]
Jason Gerlowski commented on SOLR-17562:
----------------------------------------
Yep, I'll close this out (but am happy to continue discussion, re: approach)
> I'm inclined to propose something different.
I'm not wedded to the InputStreamResponseParser approach, but I'm not sure I
really understand your proposal and how it differs. Having a new
"JacksonResponseParser" class that "gets placed onto a holder NamedList as
'response'" feels like it has a lot of overlap with how
InputStreamResponseParser works today.
Can you be a little more explicit on how it'd differ from today's
InputStreamResponseParser-based approach? Is Jackson parsing directly from an
InputStream into the structured type, or are we first parsing to some
intermediary format (Map or NamedList) and then having Jackson parse that into
a structured type?
Might be easier to discuss as a draft PR, if you're open to putting one
together?
> Unify v2 API streaming support
> ------------------------------
>
> Key: SOLR-17562
> URL: https://issues.apache.org/jira/browse/SOLR-17562
> Project: Solr
> Issue Type: Improvement
> Components: v2 API
> Reporter: Jason Gerlowski
> Priority: Major
> Labels: pull-request-available
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Several v2 APIs return raw files or streams of data, including:
> {{ZooKeeperReadAPI}}, {{NodeFileStore}}, and {{CoreReplication.fetchFile}}.
> But the APIs vary slightly in how they support this: ZooKeeperReadAPI uses
> the deprecated "ContentStream" with "RawResponseWriter", NodeFileStore
> directly attaches a "SolrCore.RawWriter" to the underlying SolrQueryResponse,
> and CoreReplication follows the JAX-RS best practice of using the
> "StreamingOutput" interface.
> This ticket aims to align all of these approaches and document our approach
> in {{dev-docs/apis.adoc}} or a similar file.
> The preferred approach ([see discussion
> here|https://github.com/apache/solr/pull/2734]) at the time of writing is to
> use StreamingOutput. If this doesn't change, this ticket will need to:
> * modify our Java codegen template and related code to support this new
> response type. (Java codegen currently requires that all responses subclass
> SolrJerseyResponse)
> * remove the "x-omitFromCodegen" tag from any APIs using StreamingOutput (see
> ReplicationApis.fetchFile for an example)
> * Switch other raw-file/streaming APIs over to using StreamingOutput.
> Validate v1 and v2 responses.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]