From 8dfca709cbc1c847f3600eaac5161c74f86c912e Mon Sep 17 00:00:00 2001 From: Sasha Syrotenko Date: Tue, 26 Nov 2024 12:42:03 +0200 Subject: [PATCH] Remove healthcheck from fast indexer docker image, upgrade version where necessary --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 2 +- docker-compose-fastnear.yml | 2 ++ indexer/Cargo.toml | 9 +++++---- indexer/FastIndexer.dockerfile | 18 +++++++++--------- indexer/src/main.rs | 18 +++++++++--------- indexer/test_data/config/example.yaml | 2 +- 7 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6dce34d3..13d05748 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4897,9 +4897,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" @@ -5048,9 +5048,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.164" +version = "0.2.165" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" +checksum = "fcb4d3d38eab6c5239a362fa8bae48c03baf980a6e7079f063942d563ef3533e" [[package]] name = "libloading" @@ -7124,9 +7124,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pathdiff" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pbkdf2" @@ -9905,9 +9905,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", diff --git a/Cargo.toml b/Cargo.toml index a44ca561..68d9d3b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ eyre = "0.6" futures-util = "0.3.30" log = "0.4" prometheus = "0.13" -reqwest = { version = "0.12.8", features = ["json"] } +reqwest = { version = "0.12.9", features = ["json"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" diff --git a/docker-compose-fastnear.yml b/docker-compose-fastnear.yml index a54d3430..89c2cb32 100644 --- a/docker-compose-fastnear.yml +++ b/docker-compose-fastnear.yml @@ -165,6 +165,8 @@ services: - "2" - --rollup-ids - "3" + - --metrics-ip-port-address + - "0.0.0.0:9090" networks: - nffl diff --git a/indexer/Cargo.toml b/indexer/Cargo.toml index 6e875cbe..6d9b5d7b 100644 --- a/indexer/Cargo.toml +++ b/indexer/Cargo.toml @@ -9,7 +9,7 @@ edition = "2021" actix = "0.13.1" actix-web = "4.5.1" futures = "0.3.5" -tokio = { version = "1.28.2", features = ["sync", "time"] } +tokio = { version = "1", features = ["sync", "time"] } deadpool = "0.10.0" lapin = "2.3.1" deadpool-lapin = "0.11.0" @@ -17,13 +17,13 @@ tokio-executor-trait = "2.1.0" tokio-reactor-trait = "1.1.0" prometheus = "0.13.3" -clap = { version = "4.4.11", features = ["color", "derive", "env"] } +clap = { version = "4.5.21", features = ["color", "derive", "env"] } openssl-probe = "0.1.4" serde = { version = "1", features = ["derive"] } serde_json = "1.0.68" -tracing = { version = "0.1.36", features = ["std"] } -thiserror = "1.0.56" +tracing = { version = "0.1.40", features = ["std"] } +thiserror = "1.0.69" anyhow = "1.0.79" near-indexer = { git = "https://github.com/near/nearcore", rev = "93073d762ff377382ebf54e7cbff448b492e72c6" } @@ -33,6 +33,7 @@ near-config-utils = { git = "https://github.com/near/nearcore", rev = "93073d762 near-client-primitives = { git = "https://github.com/near/nearcore", rev = "93073d762ff377382ebf54e7cbff448b492e72c6" } borsh = { version = "1.0.0", features = ["derive", "rc"] } serde_yaml = "0.9.34" +#reqwest = {workspace = true} reqwest = { version = "0.12.9", features = ["json"] } [dev-dependencies] diff --git a/indexer/FastIndexer.dockerfile b/indexer/FastIndexer.dockerfile index 22209b25..e31e3eb8 100644 --- a/indexer/FastIndexer.dockerfile +++ b/indexer/FastIndexer.dockerfile @@ -39,14 +39,14 @@ RUN chmod +x ./entrypoint.sh EXPOSE 3030 -HEALTHCHECK --interval=20s --timeout=30s --retries=10000 \ - CMD (curl -f -s -X POST -H "Content-Type: application/json" \ - -d '{"jsonrpc":"2.0","method":"block","params":{"finality":"optimistic"},"id":"dontcare"}' \ - http://localhost:3030 | \ - jq -es 'if . == [] then null else .[] | (now - (.result.header.timestamp / 1000000000)) < 10 end') && \ - (curl -f -s -X POST -H "Content-Type: application/json" \ - -d '{"jsonrpc":"2.0","method":"status","params":[],"id":"dontcare"}' \ - http://localhost:3030 | \ - jq -es 'if . == [] then null else .[] | .result.sync_info.syncing == false end') +#HEALTHCHECK --interval=20s --timeout=30s --retries=10000 \ +# CMD (curl -f -s -X POST -H "Content-Type: application/json" \ +# -d '{"jsonrpc":"2.0","method":"block","params":{"finality":"optimistic"},"id":"dontcare"}' \ +# http://localhost:3030 | \ +# jq -es 'if . == [] then null else .[] | (now - (.result.header.timestamp / 1000000000)) < 10 end') && \ +# (curl -f -s -X POST -H "Content-Type: application/json" \ +# -d '{"jsonrpc":"2.0","method":"status","params":[],"id":"dontcare"}' \ +# http://localhost:3030 | \ +# jq -es 'if . == [] then null else .[] | .result.sync_info.syncing == false end') ENTRYPOINT [ "./entrypoint.sh" ] diff --git a/indexer/src/main.rs b/indexer/src/main.rs index 1270c408..22e4aead 100644 --- a/indexer/src/main.rs +++ b/indexer/src/main.rs @@ -27,13 +27,6 @@ const INDEXER: &str = "indexer"; fn run(home_dir: std::path::PathBuf, config: RunConfigArgs) -> Result<()> { let addresses_to_rollup_ids = config.compile_addresses_to_ids_map()?; - let indexer_config = near_indexer::IndexerConfig { - home_dir, - sync_mode: near_indexer::SyncModeEnum::LatestSynced, - await_for_node_synced: near_indexer::AwaitForNodeSyncedEnum::WaitForFullSync, - validate_genesis: true, - }; - let system = actix::System::new(); let registry = Registry::new(); let server_handle = if let Some(metrics_addr) = config.metrics_ip_port_address { @@ -42,14 +35,21 @@ fn run(home_dir: std::path::PathBuf, config: RunConfigArgs) -> Result<()> { } else { None }; - // TODO[sasha/firat]: refactor, added some logic to handle the case when fastnear is enabled. - // Needs tests and maybe refactoring for base case + + // TODO[sasha/firat]: refactor and tests. let block_res = system.block_on(async move { let validated_stream: Receiver; if cfg!(feature = "use_fastnear") { let fastnear_indexer = FastNearIndexer::new(addresses_to_rollup_ids); validated_stream = fastnear_indexer.run(); } else { + let indexer_config = near_indexer::IndexerConfig { + home_dir, + sync_mode: near_indexer::SyncModeEnum::LatestSynced, + await_for_node_synced: near_indexer::AwaitForNodeSyncedEnum::WaitForFullSync, + validate_genesis: true, + }; + let mut indexer = IndexerWrapper::new(indexer_config, addresses_to_rollup_ids); if config.metrics_ip_port_address.is_some() { indexer.enable_metrics(registry.clone())?; diff --git a/indexer/test_data/config/example.yaml b/indexer/test_data/config/example.yaml index e32b5133..77a52cd4 100644 --- a/indexer/test_data/config/example.yaml +++ b/indexer/test_data/config/example.yaml @@ -34,4 +34,4 @@ download_config: false # boot_nodes: # Specify a custom max_gas_burnt_view limit. -# max_gas_burnt_view: +# max_gas_burnt_view: \ No newline at end of file