@@ -133,9 +133,12 @@ void NetworkFeature::collectOptions(std::shared_ptr<options::ProgramOptions> opt
133133 std::unordered_set<std::string> protos = {
134134 " " , " http" , " http2" , " h2" , " vst" };
135135
136+ // starting with 3.9, we will hard-code the protocol for cluster-internal communication
136137 options->addOption (" --network.protocol" , " network protocol to use for cluster-internal communication" ,
137- new DiscreteValuesParameter<StringParameter>(&_protocol, protos))
138- .setIntroducedIn (30700 );
138+ new DiscreteValuesParameter<StringParameter>(&_protocol, protos),
139+ options::makeDefaultFlags (options::Flags::Hidden))
140+ .setIntroducedIn (30700 )
141+ .setDeprecatedIn (30900 );
139142
140143 options
141144 ->addOption (" --network.max-requests-in-flight" ,
@@ -182,6 +185,11 @@ void NetworkFeature::prepare() {
182185 config.clusterInfo = ci;
183186 config.name = " ClusterComm" ;
184187
188+ // using an internal network protocol other than HTTP/1 is
189+ // not supported since 3.9. the protocol is always hard-coded
190+ // to HTTP/1 from now on.
191+ // note: we plan to upgrade the internal protocol to HTTP/2 at
192+ // some point in the future
185193 config.protocol = fuerte::ProtocolType::Http;
186194 if (_protocol == " http" || _protocol == " h1" ) {
187195 config.protocol = fuerte::ProtocolType::Http;
@@ -191,6 +199,13 @@ void NetworkFeature::prepare() {
191199 config.protocol = fuerte::ProtocolType::Vst;
192200 }
193201
202+ if (config.protocol != fuerte::ProtocolType::Http) {
203+ LOG_TOPIC (" 6d221" , WARN, Logger::CONFIG)
204+ << " using `--network.protocol` is deprecated. "
205+ << " the network protocol for cluster-internal requests is hard-coded to HTTP/1 in this version" ;
206+ config.protocol = fuerte::ProtocolType::Http;
207+ }
208+
194209 _pool = std::make_unique<network::ConnectionPool>(config);
195210 _poolPtr.store (_pool.get (), std::memory_order_relaxed);
196211
0 commit comments