Jason Gerlowski created SOLR-17562:
--------------------------------------

             Summary: Unify v2 API streaming support
                 Key: SOLR-17562
                 URL: https://issues.apache.org/jira/browse/SOLR-17562
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
          Components: v2 API
            Reporter: Jason Gerlowski


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]

Reply via email to