You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/09/15 11:17:00 UTC

[jira] [Created] (THRIFT-6263) Go: TZlibTransportFactory has no constructor that takes a TConfiguration

Jens Geyer created THRIFT-6263:
----------------------------------

             Summary: Go: TZlibTransportFactory has no constructor that takes a TConfiguration
                 Key: THRIFT-6263
                 URL: https://issues.apache.org/jira/browse/THRIFT-6263
             Project: Thrift
          Issue Type: Improvement
          Components: Go - Library
            Reporter: Jens Geyer


The Go transport factories that can carry a configuration all offer a {{...Conf}} constructor:

* {{NewTFramedTransportFactoryConf(factory TTransportFactory, conf *TConfiguration)}}
* {{NewTHeaderTransportFactoryConf(factory TTransportFactory, conf *TConfiguration)}}

{{lib/go/thrift/zlib_transport.go}} does not:

* {{NewTZlibTransportFactory(level int)}} ({{:59}})
* {{NewTZlibTransportFactoryWithFactory(level int, factory TTransportFactory)}} ({{:65}})

A caller that builds its transport stack from configured factories therefore has to treat zlib as a special case. In the documented pipeline the configuration reaches the wrapped transport anyway, so this is a consistency gap rather than a defect -- but it is the kind of gap that makes callers write code that only looks right.

h2. Suggested

Add {{NewTZlibTransportFactoryConf(level int, factory TTransportFactory, conf *TConfiguration)}} alongside the existing two, following the framed and header factories, and have it propagate the configuration in {{GetTransport()}}.

_Drafted with AI assistance (Claude Opus 5); reviewed and filed by Jens Geyer._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)