From 7e3c31937c29ddd3f08a160fe8177d007dfc1cf7 Mon Sep 17 00:00:00 2001 From: IlijaMar Date: Tue, 22 Apr 2025 14:28:48 +0200 Subject: [PATCH] Updating the script with retry logic --- blazegraph-migration/enrich_triples.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/blazegraph-migration/enrich_triples.sh b/blazegraph-migration/enrich_triples.sh index 9a6ad81bc8..0654b282e2 100644 --- a/blazegraph-migration/enrich_triples.sh +++ b/blazegraph-migration/enrich_triples.sh @@ -44,7 +44,7 @@ generate_enriched_chunks() { IFS='/' read -ra parts <<< "$graph_iri" if [[ ${#parts[@]} -ge 5 ]]; then - network_prefix="${parts[0]}" # did:dkg:otp:2043 + network_prefix="${parts[0]}" contract="${parts[1]}" collection_id="${parts[2]}" asset_id="${parts[3]}" @@ -170,6 +170,23 @@ for folder in "${target_folders[@]}"; do log_message "INFO" "Processing folder: $folder" done_marker=".enrichment_migration_done_$(basename "$folder")" + chunk_dir="$folder/chunks" + + retry_mode=false + if [ -f "$done_marker" ]; then + marker_val=$(cat "$done_marker") + if [ "$marker_val" == "0" ]; then + shopt -s nullglob + remaining_chunks=("$chunk_dir"/enriched_chunk_*.nq) + shopt -u nullglob + if [ ${#remaining_chunks[@]} -gt 0 ]; then + retry_mode=true + log_message "INFO" "Retry mode enabled — retrying failed chunks" + process_chunks "$folder" + continue + fi + fi + fi if [ ! -f "$folder/$folder/data.nq.gz" ]; then log_message "ERROR" "Missing file: $folder/$folder/data.nq.gz" @@ -178,7 +195,10 @@ for folder in "${target_folders[@]}"; do continue fi - generate_enriched_chunks "$folder" + if [ "$retry_mode" = false ]; then + generate_enriched_chunks "$folder" + fi + process_chunks "$folder" total_chunks=$(cat "$folder/.total_chunks_created" 2>/dev/null) @@ -209,6 +229,7 @@ for folder in "${target_folders[@]}"; do echo "1" > "$done_marker" log_message "INFO" "Migration success marker written to $done_marker" fi + done job_pool_shutdown