A user (on 7.17.7) reported to me a situation where they were attempting to delete a snapshot and would get the log message `deleting snapshots [snapshot-test] from repository [my-snapshots]` but then no further messages at `INFO` or above; enabling some internal logging indicated some low-level timeouts:

```
[DEBUG][com.amazonaws.latency    ] [instance-0123456789] MaxRetriesExceeded=[true], ServiceName=[Amazon S3], ServiceEndpoint=[https://REDACTED/], Exception=[java.net.SocketTimeoutException: Read timed out, java.net.SocketTimeoutException: Read timed out, java.net.SocketTimeoutException: Read timed out, java.net.SocketTimeoutException: Read timed out],...
```

This was enough for the user to go and investigate some performance issues in their repository, but I find the lack of logging concerning. Eventually the cluster state contains no ongoing snapshot deletion, but there is nothing in the logs to indicate that anything didn't work. The deletion API request had already timed out by this point so we can't return an error that way either. I'm opening this issue to make sure we investigate the missing logging.
server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java
}
    /**
     * Filters out the aliases that refer to data streams to do not exist in the provided data streams.
     * Also rewrites the list of data streams an alias point to to only contain data streams that exist in the provided data streams.
     *
     * The purpose of this method is to capture the relevant data stream aliases based on the data streams
     * that will be included in a snapshot.
     *
     * @param dataStreams       The provided data streams, which will be included in a snapshot.
     * @param dataStreamAliases The data streams aliases that may contain aliases that refer to data streams
     *                          that don't exist in the provided data streams.
     * @return                  The filtered data streams aliases only referring to data streams in the provided data streams.
     */
    static Map<String, DataStreamAlias> filterDataStreamAliases(
        Map<String, DataStream> dataStreams,
        Map<String, DataStreamAlias> dataStreamAliases
    ) {
        return dataStreamAliases.values()
            .stream()
            .filter(alias -> alias.getDataStreams().stream().anyMatch(dataStreams::containsKey))
            .map(alias -> alias.intersect(dataStreams::containsKey))
            .collect(Collectors.toMap(DataStreamAlias::getName, Function.identity()));
    }
    /**
     * Adds snapshot completion listener
     *
     * @param snapshot Snapshot to listen for
     * @param listener listener
     */
    private void addListener(Snapshot snapshot, ActionListener<SnapshotInfo> listener) {