You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Jason Gerlowski (Jira)" <ji...@apache.org> on 2025/12/01 18:56:00 UTC

[jira] [Commented] (SOLR-17562) Unify v2 API streaming support

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

Jason Gerlowski commented on SOLR-17562:
----------------------------------------

Interesting - I'm not really familiar with OpenRewrite, but I've seen it come up a few times in the last several months.  Seems like it could resolve a lot of toil for our users if it lives up to the promise.  It's likely a bit too last minute to do anything in time for the Solr 10 release itself, but presumably we could provide those rewrite rules even after Solr 10 itself is released and they'd still be of value to folks....

bq. To be explicit: you're proposing that InputStreamResponse should be moved to "org.apache.solr.client.solrj.response"?

Just closing the loop here, but David made this refactor as a part of [this PR|https://github.com/apache/solr/pull/3889]

> 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
>            Assignee: Jason Gerlowski
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 9.9, 10.0
>
>          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: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org