Пример #1
0
 @Override
 public void completed(Set<Checksum> checksums) {
   Throwable error = null;
   try {
     if (checksumModule.hasPolicy(ChecksumModule.PolicyFlag.GET_CRC_FROM_HSM)) {
       LOGGER.info(
           "Obtained checksums {} for {} from HSM", checksums, getFileAttributes().getPnfsId());
       descriptor.addChecksums(checksums);
     }
     checksumModule.enforcePostRestorePolicy(descriptor);
     descriptor.commit();
     LOGGER.info("Staged {} from nearline storage.", getFileAttributes().getPnfsId());
   } catch (InterruptedException | CacheException | RuntimeException | Error e) {
     error = e;
   } catch (NoSuchAlgorithmException e) {
     error = new CacheException(1010, "Checksum calculation failed: " + e.getMessage(), e);
   } catch (IOException e) {
     error =
         new DiskErrorCacheException(
             "Checksum calculation failed due to I/O error: " + e.getMessage(), e);
   } finally {
     done(error);
   }
 }