@@ -109,7 +109,7 @@ public CompletableFuture<Status> createTopic(String path, CreateTopicSettings se
109109 .setMinActivePartitions (partitioningSettings .getMinActivePartitions ())
110110 .setPartitionCountLimit (partitioningSettings .getPartitionCountLimit ())
111111 .setAutoPartitioningSettings (YdbTopic .AutoPartitioningSettings .newBuilder ()
112- .setStrategy (partitioningSettings .getAutoPartitioningStrategy (). getProtoReference ( ))));
112+ .setStrategy (toProto ( partitioningSettings .getAutoPartitioningStrategy ()))));
113113
114114 AutoPartitioningWriteStrategySettings writeStrategySettings = partitioningSettings
115115 .getWriteStrategySettings ();
@@ -166,7 +166,7 @@ public CompletableFuture<Status> alterTopic(String path, AlterTopicSettings sett
166166 }
167167 AutoPartitioningStrategy autoPartitioningStrategy = partitioningSettings .getAutoPartitioningStrategy ();
168168 if (autoPartitioningStrategy != null ) {
169- YdbTopic .AutoPartitioningStrategy protoReference = autoPartitioningStrategy . getProtoReference ( );
169+ YdbTopic .AutoPartitioningStrategy protoReference = toProto ( autoPartitioningStrategy );
170170 builder .getAlterAutoPartitioningSettingsBuilder ().setSetStrategy (protoReference );
171171 }
172172 AlterAutoPartitioningWriteStrategySettings writeStrategySettings = partitioningSettings
@@ -322,7 +322,7 @@ private TopicDescription mapDescribeTopic(YdbTopic.DescribeTopicResult result) {
322322 PartitioningSettings .Builder partitioningDescription = PartitioningSettings .newBuilder ()
323323 .setMinActivePartitions (partitioningSettings .getMinActivePartitions ())
324324 .setPartitionCountLimit (partitioningSettings .getPartitionCountLimit ())
325- .setAutoPartitioningStrategy (AutoPartitioningStrategy . fromProto (autoPartitioningStrategy ));
325+ .setAutoPartitioningStrategy (fromProto (autoPartitioningStrategy ));
326326
327327 YdbTopic .AutoPartitioningWriteSpeedStrategy partitionWriteSpeed = autoPartitioningSettings
328328 .getPartitionWriteSpeed ();
@@ -449,6 +449,36 @@ private static YdbTopic.SupportedCodecs toProto(SupportedCodecs supportedCodecs)
449449 return codecsBuilder .build ();
450450 }
451451
452+ private static AutoPartitioningStrategy fromProto (YdbTopic .AutoPartitioningStrategy autoPartitioningStrategy ) {
453+ switch (autoPartitioningStrategy ) {
454+ case AUTO_PARTITIONING_STRATEGY_PAUSED :
455+ return AutoPartitioningStrategy .PAUSED ;
456+ case AUTO_PARTITIONING_STRATEGY_SCALE_UP :
457+ return AutoPartitioningStrategy .SCALE_UP ;
458+ case AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN :
459+ return AutoPartitioningStrategy .SCALE_UP_AND_DOWN ;
460+ case AUTO_PARTITIONING_STRATEGY_DISABLED :
461+ return AutoPartitioningStrategy .DISABLED ;
462+ default :
463+ return null ;
464+ }
465+ }
466+
467+ private static YdbTopic .AutoPartitioningStrategy toProto (AutoPartitioningStrategy autoPartitioningStrategy ) {
468+ switch (autoPartitioningStrategy ) {
469+ case PAUSED :
470+ return YdbTopic .AutoPartitioningStrategy .AUTO_PARTITIONING_STRATEGY_PAUSED ;
471+ case SCALE_UP :
472+ return YdbTopic .AutoPartitioningStrategy .AUTO_PARTITIONING_STRATEGY_SCALE_UP ;
473+ case SCALE_UP_AND_DOWN :
474+ return YdbTopic .AutoPartitioningStrategy .AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN ;
475+ case DISABLED :
476+ return YdbTopic .AutoPartitioningStrategy .AUTO_PARTITIONING_STRATEGY_DISABLED ;
477+ default :
478+ throw new IllegalArgumentException ("Unknown auto partitioning strategy: " + autoPartitioningStrategy );
479+ }
480+ }
481+
452482 @ Override
453483 public void close () {
454484 logger .debug ("TopicClientImpl.close() is called" );
0 commit comments