Skip to content

Commit

Permalink
Cleanup - Fix bug with stop endpoint & add object type to get objects (
Browse files Browse the repository at this point in the history
…#892)

* Cleanup - Fix bug with stop endpoint & add object type to get objects endpoint

* Use take() to remove server_state
  • Loading branch information
arun-koshy authored Mar 17, 2022
1 parent b296abd commit f7cef3a
Showing 1 changed file with 27 additions and 11 deletions.
38 changes: 27 additions & 11 deletions sui/src/rest_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -380,13 +380,15 @@ async fn sui_stop(
let server_context = rqctx.context();
// Taking state object without returning ownership
let mut state = server_context.server_state.lock().await;
let state = state.as_mut().ok_or_else(server_state_error)?;
let state = state.take().ok_or_else(server_state_error)?;

for authority_handle in &state.authority_handles {
authority_handle.abort();
}

// Delete everything from working dir
fs::remove_dir_all(&state.working_dir).ok();

Ok(HttpResponseUpdatedNoContent())
}

Expand Down Expand Up @@ -451,6 +453,8 @@ JSON representation of an object in the Sui network.
struct Object {
/** Hex code as string representing the object id */
object_id: String,
/** Type of object, i.e. Coin */
obj_type: String,
/** Object version */
version: String,
/** Hash of the object's contents used for local validation */
Expand Down Expand Up @@ -490,16 +494,28 @@ async fn get_objects(
})?;

let object_refs = state.gateway.get_owned_objects(*address);
Ok(HttpResponseOk(GetObjectsResponse {
objects: object_refs
.iter()
.map(|(object_id, sequence_number, object_digest)| Object {
object_id: object_id.to_string(),
version: format!("{:?}", sequence_number),
object_digest: format!("{:?}", object_digest),
})
.collect::<Vec<Object>>(),
}))
let mut objects = vec![];
for (object_id, sequence_number, object_digest) in object_refs {
let object = match get_object_info(state, object_id).await {
Ok((_, object, _)) => object,
Err(error) => {
return Err(error);
}
};
let obj_type = object
.data
.type_()
.map_or("Unknown Type".to_owned(), |type_| format!("{}", type_));

objects.push(Object {
object_id: object_id.to_string(),
obj_type,
version: format!("{:?}", sequence_number),
object_digest: format!("{:?}", object_digest),
});
}

Ok(HttpResponseOk(GetObjectsResponse { objects }))
}

/**
Expand Down

1 comment on commit f7cef3a

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bench results

�[0m�[0m�[1m�[32m Finished�[0m release [optimized] target(s) in 0.33s
�[0m�[0m�[1m�[32m Running�[0m target/release/bench
�[2m2022-03-17T18:18:20.475128Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Starting benchmark: TransactionsAndCerts
�[2m2022-03-17T18:18:20.475169Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Preparing accounts.
�[2m2022-03-17T18:18:20.475619Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Open database on path: "/tmp/DB_3BB74F28EBEDFBA7B1F179EF93BFC32248EA455F"
Init Authority.
Generate empty store with Genesis.
�[2m2022-03-17T18:18:21.472037Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Preparing transactions.
�[2m2022-03-17T18:18:26.915489Z�[0m �[32m INFO�[0m �[2msui_network::transport�[0m�[2m:�[0m Listening to TCP traffic on 127.0.0.1:9555
�[2m2022-03-17T18:18:27.916837Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Number of TCP connections: 2
�[2m2022-03-17T18:18:27.916875Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Max_in_flight: 500
�[2m2022-03-17T18:18:27.916881Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Sending requests.
�[2m2022-03-17T18:18:27.920830Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m Sending TCP requests to 127.0.0.1:9555
�[2m2022-03-17T18:18:27.921720Z�[0m �[33m WARN�[0m �[2msui_core::authority_server�[0m�[2m:�[0m User query failed: The transaction inputs contain duplicates ObjectRef's
�[2m2022-03-17T18:18:27.922593Z�[0m �[33m WARN�[0m �[2msui_core::authority_server�[0m�[2m:�[0m User query failed: The transaction inputs contain duplicates ObjectRef's
�[2m2022-03-17T18:18:27.923962Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m Sending TCP requests to 127.0.0.1:9555
�[2m2022-03-17T18:18:28.935899Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 5000 packets
�[2m2022-03-17T18:18:29.823094Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 35000
�[2m2022-03-17T18:18:29.874044Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 35000
�[2m2022-03-17T18:18:29.943205Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 10000 packets
�[2m2022-03-17T18:18:30.947104Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 15000 packets
�[2m2022-03-17T18:18:31.809688Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 30000
�[2m2022-03-17T18:18:31.919489Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 30000
�[2m2022-03-17T18:18:31.951762Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 20000 packets
�[2m2022-03-17T18:18:32.955786Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 25000 packets
�[2m2022-03-17T18:18:33.867241Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 25000
�[2m2022-03-17T18:18:33.893096Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 25000
�[2m2022-03-17T18:18:33.960007Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 30000 packets
�[2m2022-03-17T18:18:35.020698Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 35000 packets
�[2m2022-03-17T18:18:35.922968Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 20000
�[2m2022-03-17T18:18:35.935677Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 20000
�[2m2022-03-17T18:18:36.030491Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 40000 packets
�[2m2022-03-17T18:18:37.042122Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 45000 packets
�[2m2022-03-17T18:18:37.975892Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 15000
�[2m2022-03-17T18:18:38.001419Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 15000
�[2m2022-03-17T18:18:38.056921Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 50000 packets
�[2m2022-03-17T18:18:39.060073Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 55000 packets
�[2m2022-03-17T18:18:39.953712Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 10000
�[2m2022-03-17T18:18:39.988832Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 10000
�[2m2022-03-17T18:18:40.062053Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 60000 packets
�[2m2022-03-17T18:18:41.076307Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 65000 packets
�[2m2022-03-17T18:18:41.929746Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 5000
�[2m2022-03-17T18:18:41.980575Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m In flight 500 Remaining 5000
�[2m2022-03-17T18:18:42.068623Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 70000 packets
�[2m2022-03-17T18:18:43.062801Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 75000 packets
�[2m2022-03-17T18:18:44.057575Z�[0m �[32m INFO�[0m �[2msui_core::authority_server�[0m�[2m:�[0m 127.0.0.1:9555 has processed 80000 packets
�[2m2022-03-17T18:18:44.090356Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m Done sending TCP requests to 127.0.0.1:9555
�[2m2022-03-17T18:18:44.099413Z�[0m �[32m INFO�[0m �[2msui_network::network�[0m�[2m:�[0m Done sending TCP requests to 127.0.0.1:9555
�[2m2022-03-17T18:18:44.101231Z�[0m �[32m INFO�[0m �[2mbench�[0m�[2m:�[0m Received 80000 responses.
�[2m2022-03-17T18:18:44.296127Z�[0m �[33m WARN�[0m �[2mbench�[0m�[2m:�[0m Completed benchmark for TransactionsAndCerts
Total time: 16184337us, items: 40000, tx/sec: 2471.525401380359

Please sign in to comment.