Skip to content

Commit ba8899c

Browse files
committed
Using params in default_desires to determine repl factor
1 parent 258510a commit ba8899c

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

service_capacity_modeling/models/org/netflix/kafka.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -508,10 +508,11 @@ def default_desires(user_desires, extra_model_arguments: Dict[str, Any]):
508508
retention_secs = iso_to_seconds(retention)
509509

510510
# write throughput * retention * replication factor = usage
511+
replication_factor = NflxKafkaCapacityModel.HA_DEFAULT_REPLICATION_FACTOR
512+
if extra_model_arguments.get("cluster_type", None) == ClusterType.strong:
513+
replication_factor = NflxKafkaCapacityModel.SC_DEFAULT_REPLICATION_FACTOR
511514
state_gib = (
512-
write_bytes.mid
513-
* retention_secs
514-
* NflxKafkaCapacityModel.HA_DEFAULT_REPLICATION_FACTOR
515+
write_bytes.mid * retention_secs * replication_factor
515516
) / GIB_IN_BYTES
516517

517518
return CapacityDesires(

tests/netflix/test_kafka.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
from service_capacity_modeling.capacity_planner import planner
2-
from service_capacity_modeling.interface import (
3-
CapacityDesires,
4-
AccessPattern,
5-
FixedInterval,
6-
DataShape,
7-
Drive,
8-
DriveType,
9-
)
2+
from service_capacity_modeling.interface import AccessPattern
3+
from service_capacity_modeling.interface import CapacityDesires
104
from service_capacity_modeling.interface import certain_float
115
from service_capacity_modeling.interface import CurrentClusters
126
from service_capacity_modeling.interface import CurrentZoneClusterCapacity
7+
from service_capacity_modeling.interface import DataShape
8+
from service_capacity_modeling.interface import Drive
9+
from service_capacity_modeling.interface import DriveType
10+
from service_capacity_modeling.interface import FixedInterval
1311
from service_capacity_modeling.interface import Interval
1412
from service_capacity_modeling.interface import QueryPattern
1513
from service_capacity_modeling.models.common import normalize_cores
@@ -72,7 +70,7 @@ def test_kafka_large_scale():
7270
region="us-east-1",
7371
desires=desires,
7472
extra_model_arguments={
75-
"cluster_type": "strong",
73+
"cluster_type": ClusterType.strong,
7674
"retention": "PT4H",
7775
},
7876
)

0 commit comments

Comments
 (0)