| 29 | |
| 30 | namespace internal { |
| 31 | int GetCacheCapacityFromEnvVar() { |
| 32 | auto maybe_env_value = ::arrow::internal::GetEnvVar(kCacheCapacityEnvVar); |
| 33 | if (!maybe_env_value.ok()) { |
| 34 | return kDefaultCacheSize; |
| 35 | } |
| 36 | const auto env_value = *std::move(maybe_env_value); |
| 37 | if (env_value.empty()) { |
| 38 | return kDefaultCacheSize; |
| 39 | } |
| 40 | int capacity = 0; |
| 41 | bool ok = ::arrow::internal::ParseValue<::arrow::Int32Type>( |
| 42 | env_value.c_str(), env_value.size(), &capacity); |
| 43 | if (!ok || capacity <= 0) { |
| 44 | ARROW_LOG(WARNING) << "Invalid cache size provided in " << kCacheCapacityEnvVar |
| 45 | << ". Using default cache size: " << kDefaultCacheSize; |
| 46 | return kDefaultCacheSize; |
| 47 | } |
| 48 | return capacity; |
| 49 | } |
| 50 | } // namespace internal |
| 51 | |
| 52 | int GetCacheCapacity() { |