Skip to content

Commit

Permalink
More optimizations
Browse files Browse the repository at this point in the history
  • Loading branch information
visortelle committed Apr 24, 2024
1 parent ca24a2e commit 662ee25
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 21 deletions.
33 changes: 12 additions & 21 deletions src/docker_compose/docker_compose.rs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ pub fn generate_cluster(
instance_name.clone(),
instance_config.clone(),
cluster_name.clone(),
cluster_index,
);

let brokers_template = (0..instance_config.num_brokers)
Expand Down Expand Up @@ -353,7 +352,7 @@ pub fn generate_zookeeper_template(
鈻堚枅鈻堚枅鈻堚枅鈻堚枅deploy:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅resources:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅limits:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '0.5'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '2'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 256M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅networks:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- pulsar-net-{instance_name}
Expand All @@ -366,7 +365,6 @@ pub fn generate_pulsar_init_job_template(
instance_name: String,
instance_config: InstanceConfig,
cluster_name: String,
cluster_index: u32
) -> String {
let pulsar_version = instance_config.pulsar_version;
let web_service_url = "http://broker-{cluster_name}:8080";
Expand All @@ -377,29 +375,21 @@ pub fn generate_pulsar_init_job_template(
.collect::<Vec<String>>()
.join("\n");

let depends_on_prev_cluster_template = if cluster_index == 0 {
"".to_string()
} else {
let prev_cluster_name = format!("cluster-{}", cluster_index - 1);
format!("鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅pulsar-proxy-{prev_cluster_name}:\n鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅condition: service_healthy")
};

format! {"
鈻堚枅鈻堚枅# Pulsar init job for cluster {cluster_name}
鈻堚枅鈻堚枅pulsar-init-job-{cluster_name}:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅image: apachepulsar/pulsar:{pulsar_version}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅user: pulsar
鈻堚枅鈻堚枅鈻堚枅鈻堚枅command: bash -c \"bin/apply-config-from-env.py conf/pulsar_env.sh; bin/pulsar initialize-cluster-metadata --cluster {cluster_name} --metadata-store zk:zookeeper-0:2181/{cluster_name} --configuration-metadata-store zk:zookeeper-0:2181/{cluster_name} --web-service-url {web_service_url} --broker-service-url {broker_service_url}\"
鈻堚枅鈻堚枅鈻堚枅鈻堚枅environment:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms128m -Xmx128m -XX:MaxDirectMemorySize=128m -XX:+ExitOnOutOfMemoryError
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms256m -Xmx256m -XX:MaxDirectMemorySize=256m -XX:+ExitOnOutOfMemoryError
鈻堚枅鈻堚枅鈻堚枅鈻堚枅depends_on:
{depends_on_zookeeper_template}
{depends_on_prev_cluster_template}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅deploy:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅resources:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅limits:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '0.5'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 256M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '2'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 512M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅networks:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- pulsar-net-{instance_name}
"}.trim().to_string()
Expand Down Expand Up @@ -430,7 +420,7 @@ pub fn generate_post_cluster_create_job_template(
.join("; ");
let create_cluster_tenant = format!("{pulsar_admin} tenants create --allowed-clusters cluster-{cluster_index} cluster-{cluster_index}-local");
let create_cluster_namespace =
format!("{pulsar_admin} namespaces create cluster-{cluster_index}-local/default");
format!("{pulsar_admin} namespaces create --clusters cluster-{cluster_index} cluster-{cluster_index}-local/default");

let all_cluster_names = (0..num_clusters)
.map(|i| format!("cluster-{}", i))
Expand All @@ -444,7 +434,7 @@ pub fn generate_post_cluster_create_job_template(
"{pulsar_admin} namespaces set-clusters --clusters {all_cluster_names} global/default"
);

let create_resources_script = format!("set -e; {register_clusters}; {create_cluster_tenant}; {create_cluster_namespace}; {create_global_tenant}; {create_global_namespace}; {set_global_namespace_clusters};");
let create_resources_script = format!("{register_clusters}; {create_cluster_tenant}; {create_cluster_namespace}; {create_global_tenant}; {create_global_namespace}; {set_global_namespace_clusters};");

format! {"
鈻堚枅鈻堚枅# Register new cluster {cluster_name}
Expand All @@ -454,14 +444,14 @@ pub fn generate_post_cluster_create_job_template(
鈻堚枅鈻堚枅鈻堚枅鈻堚枅user: pulsar
鈻堚枅鈻堚枅鈻堚枅鈻堚枅command: bash -c \"{create_resources_script} echo success\"
鈻堚枅鈻堚枅鈻堚枅鈻堚枅environment:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms128m -Xmx128m -XX:MaxDirectMemorySize=128m -XX:+ExitOnOutOfMemoryError
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms256m -Xmx256m -XX:MaxDirectMemorySize=256m -XX:+ExitOnOutOfMemoryError
{depends_on_proxy_template}
{depends_on_prev_cluster_template}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅deploy:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅resources:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅limits:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '0.5'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 256M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '2'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 512M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅networks:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- pulsar-net-{instance_name}
"}
Expand Down Expand Up @@ -552,7 +542,8 @@ pub fn generate_broker_template(
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- managedLedgerDefaultEnsembleSize={managed_ledger_default_ensemble_size}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- managedLedgerDefaultWriteQuorum={managed_ledger_default_write_quorum}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- managedLedgerDefaultAckQuorum={managed_ledger_default_ack_quorum}
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms128m -Xmx128m -XX:MaxDirectMemorySize=128m -XX:+ExitOnOutOfMemoryError
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- managedLedgerCacheEvictionFrequency=1000
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- PULSAR_MEM=-Xms256m -Xmx256m -XX:MaxDirectMemorySize=256m -XX:+ExitOnOutOfMemoryError
鈻堚枅鈻堚枅鈻堚枅鈻堚枅command: bash -c \"bin/apply-config-from-env.py conf/broker.conf && exec bin/pulsar broker\"
鈻堚枅鈻堚枅鈻堚枅鈻堚枅healthcheck:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅test: [\"CMD\", \"curl\", \"--fail\", \"http://127.0.0.1:8080/admin/v2/brokers/health\"]
Expand All @@ -566,7 +557,7 @@ pub fn generate_broker_template(
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅resources:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅limits:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅cpus: '2'
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 256M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅memory: 512M
鈻堚枅鈻堚枅鈻堚枅鈻堚枅networks:
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅- pulsar-net-{instance_name}
"}
Expand Down
5 changes: 5 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,11 @@ fn start_cmd(args: StartCommandArgs) -> Result<InstanceOutput> {
println!("Pulsar instance \"{instance_name}\" {event_name} in {seconds_elapsed} seconds");

if !exit_status.success() {
stop_cmd(StopCommandArgs {
instance_name: Some(instance_name.clone()),
all: false,
})?;

println!();
println!("- If you see that some container in the \"Error\" state, check the logs using `docker logs <container_name>`");
println!("- You can check all containers logs using `puls logs {instance_name}`");
Expand Down

0 comments on commit 662ee25

Please sign in to comment.