### Description

Currently, when we execute retention policy, we also refresh the destination index by setting:
```
setRefresh(true)
```
on the DBQ request.
This can cause permission errors which are surprising to the user as the permissions are not required when the transform starts:
```
task encountered irrecoverable failure: org.elasticsearch.ElasticsearchSecurityException: action [indices:admin/refresh] is unauthorized for user [found-internal-kibana4-server] with roles [kibana_system,found-internal-kibana4-server] on indices [logs-cloud_security_posture.findings_latest-default], this action is granted by the index privileges [maintenance,manage,all]
```

We still want the user to have the permissions to delete the documents. But we should execute `refresh` as the system user.
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/TransformIndexer.java
private static final Logger logger = LogManager.getLogger(TransformIndexer.class);
    
    private static final long NUMBER_OF_CHECKPOINTS_TO_KEEP = 10;
    private static final long RETENTION_OF_CHECKPOINTS_MS = 864000000L; 
    private static final long CHECKPOINT_CLEANUP_INTERVAL = 100L; 
    protected final TransformConfigManager transformsConfigManager;
    private final CheckpointProvider checkpointProvider;
    private volatile float docsPerSecond = -1;
    protected final TransformAuditor auditor;
    protected final TransformContext context;
    protected volatile TransformConfig transformConfig;
    private volatile TransformProgress progress;
    
    protected volatile boolean hasSourceChanged = true;
    protected final AtomicReference<Collection<ActionListener<Void>>> saveStateListeners = new AtomicReference<>();
    private volatile Map<String, String> fieldMappings;
    
    private Function function;
    
    private ChangeCollector changeCollector;
    
    private Map<String, Object> nextChangeCollectorBucketPosition = null;
    private volatile Integer initialConfiguredPageSize;
    private volatile int pageSize = 0;
    private volatile long logEvery = 1;
    private volatile long logCount = 0;
    private volatile TransformCheckpoint lastCheckpoint;
    private volatile TransformCheckpoint nextCheckpoint;
    
    private volatile String lastAuditedExceptionMessage = null;