RFR: 2063: Reduce the health check times of local repo instance [v3]
Erik Joelsson
erikj at openjdk.org
Thu Oct 12 23:32:04 UTC 2023
On Thu, 12 Oct 2023 23:29:36 GMT, Zhao Song <zsong at openjdk.org> wrote:
>> In the method HostedRepositoryPool#materializeClone, when the bot is trying to reuse a local repo instance, the bot will always check whether the repo is still good by processing command "git fsck --connectivity-only".
>>
>> Sometimes this command would be slow and Erik said that we should believe the bots are doing right things, so we should assume the local repos are good, so the health check is not always needed. But shutdown of the bot could make a local repo instance unhealthy, so we should at least do the health check once for each local repo instance after the bot is restarted.
>>
>> To solve this issue, Erik suggested to maintain a static map for keeping track of paths of known checked/good repositories.
>>
>> To leverage this patch to mlbridge bot, I also made some changes to WebrevStorage.
>
> Zhao Song has updated the pull request incrementally with one additional commit since the last revision:
>
> update
bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/WebrevStorage.java line 342:
> 340: jsonLocalStorage = hostedRepositoryPool.checkout(jsonStorage, storageRef, scratchPath);
> 341: } catch (IOException e) {
> 342: throw new RuntimeException(e);
This would throw `UncheckedIOException` before so should still do that. Can also consider just having one try-catch in the method, surrounding all of it, to avoid repeating the catch clause.
-------------
PR Review Comment: https://git.openjdk.org/skara/pull/1569#discussion_r1357551428
More information about the skara-dev
mailing list