| 2500 | } |
| 2501 | |
| 2502 | void ImpalaServer::WaitForCatalogUpdate(const int64_t catalog_update_version, |
| 2503 | const TUniqueId& catalog_service_id, RuntimeProfile::EventSequence* timeline) { |
| 2504 | DCHECK(FLAGS_catalogd_deployed); |
| 2505 | unique_lock<mutex> unique_lock(catalog_version_lock_); |
| 2506 | // Wait for the update to be processed locally. |
| 2507 | VLOG_QUERY << "Waiting for catalog version: " << catalog_update_version |
| 2508 | << " current version: " << catalog_update_info_.catalog_version; |
| 2509 | while (catalog_update_info_.catalog_version < catalog_update_version && |
| 2510 | catalog_update_info_.catalog_service_id == catalog_service_id) { |
| 2511 | catalog_version_update_cv_.Wait(unique_lock); |
| 2512 | } |
| 2513 | |
| 2514 | if (catalog_update_info_.catalog_service_id != catalog_service_id) { |
| 2515 | MarkTimelineEvent(timeline, "Catalog service ID changed when waiting for " |
| 2516 | "catalog update to arrive"); |
| 2517 | VLOG_QUERY << "Detected catalog service ID changed when waiting for " |
| 2518 | "catalog update to arrive"; |
| 2519 | } else { |
| 2520 | MarkTimelineEvent(timeline, Substitute("Applied catalog version $0", |
| 2521 | catalog_update_version)); |
| 2522 | VLOG_QUERY << "Applied catalog version: " << catalog_update_version; |
| 2523 | } |
| 2524 | } |
| 2525 | |
| 2526 | void ImpalaServer::WaitForCatalogUpdateTopicPropagation( |
| 2527 | const TUniqueId& catalog_service_id, RuntimeProfile::EventSequence* timeline) { |
nothing calls this directly
no test coverage detected