summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/filetransfer/util/HashChecker.java
diff options
context:
space:
mode:
authorSimon Rettberg2016-01-28 17:02:31 +0100
committerSimon Rettberg2016-01-28 17:02:31 +0100
commit9c41de54bb7c80349c45d34bd53e734ee3e88b5b (patch)
treecf4799106834bd694361fdecb2e83c26caf24933 /src/main/java/org/openslx/filetransfer/util/HashChecker.java
parent[thrift] Add UserInfo comparator (diff)
downloadmaster-sync-shared-9c41de54bb7c80349c45d34bd53e734ee3e88b5b.tar.gz
master-sync-shared-9c41de54bb7c80349c45d34bd53e734ee3e88b5b.tar.xz
master-sync-shared-9c41de54bb7c80349c45d34bd53e734ee3e88b5b.zip
Make hashing classes more robust, report complete blocks without hash info as hashing
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/util/HashChecker.java')
-rw-r--r--src/main/java/org/openslx/filetransfer/util/HashChecker.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/filetransfer/util/HashChecker.java b/src/main/java/org/openslx/filetransfer/util/HashChecker.java
index 8bf97a4..5b647aa 100644
--- a/src/main/java/org/openslx/filetransfer/util/HashChecker.java
+++ b/src/main/java/org/openslx/filetransfer/util/HashChecker.java
@@ -43,6 +43,7 @@ public class HashChecker
return;
invalid = true;
}
+ LOGGER.debug( "Marking all queued chunks as failed" );
for ( ;; ) {
HashTask task = queue.poll();
if ( task == null )
@@ -132,7 +133,6 @@ public class HashChecker
continue;
} catch ( InterruptedException e ) {
LOGGER.info( "Interrupted while waiting for hash task", e );
- threadFailed( this );
break;
}
// Calculate digest
@@ -141,10 +141,15 @@ public class HashChecker
HashResult result = Arrays.equals( digest, task.chunk.getSha1Sum() ) ? HashResult.VALID : HashResult.INVALID;
execCallback( task, result );
if ( extraThread && queue.isEmpty() ) {
- LOGGER.info( "Stopping additional hash checker" );
break;
}
}
+ if ( extraThread ) {
+ LOGGER.info( "Stopped additional hash checker" );
+ } else {
+ LOGGER.info( "Stopped MAIN hash checker" );
+ }
+ threadFailed( this );
}
}