in src/main/java/com/google/gcs/sdrs/dao/impl/PooledStsJobDaoImpl.java [105:135]
public Boolean deleteAllJobsByBucketName(String sourceBucket, String sourceProject) {
Session session = null;
Transaction transaction = null;
boolean isDeleted = false;
try {
session = openSession();
transaction = session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaDelete<PooledStsJob> delete = builder.createCriteriaDelete(PooledStsJob.class);
Root<PooledStsJob> root = delete.from(PooledStsJob.class);
delete.where(
builder.equal(root.get("sourceBucket"), sourceBucket),
builder.equal(root.get("sourceProject"), sourceProject));
session.createQuery(delete).executeUpdate();
closeSessionWithTransaction(session, transaction);
isDeleted = true;
} catch (Exception e) {
handleRuntimeException(e, transaction);
logger.error(
String.format(
"Failed to delete STS jobs in the pool. bucket: %s; projectId: %s",
sourceBucket, sourceProject));
} finally {
closeSession(session);
}
return isDeleted;
}