diff options
author | Simon Rettberg | 2022-03-21 17:20:23 +0100 |
---|---|---|
committer | Simon Rettberg | 2022-03-21 17:20:23 +0100 |
commit | 4efd5a37d8489463f20a9865ba7211db0b31f4c5 (patch) | |
tree | 7e2945515e368b64416e4976e98aa67c74b223ee /src/main/java/org/openslx/filetransfer/Transfer.java | |
parent | Add more log output to file transfer classes (diff) | |
download | master-sync-shared-4efd5a37d8489463f20a9865ba7211db0b31f4c5.tar.gz master-sync-shared-4efd5a37d8489463f20a9865ba7211db0b31f4c5.tar.xz master-sync-shared-4efd5a37d8489463f20a9865ba7211db0b31f4c5.zip |
[FileTransfer] Log stack traces on error, some OOM handling
Try smaller buffers for uploading on OOM errors.
Log error reason instead of just sending to peer, and also
print a stack trace if applicable.
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/Transfer.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/Transfer.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/org/openslx/filetransfer/Transfer.java b/src/main/java/org/openslx/filetransfer/Transfer.java index c396d6e..933e63e 100644 --- a/src/main/java/org/openslx/filetransfer/Transfer.java +++ b/src/main/java/org/openslx/filetransfer/Transfer.java @@ -219,11 +219,17 @@ public abstract class Transfer */ protected void close( String error, UploadStatusCallback callback, boolean sendToPeer ) { + close( error, callback, sendToPeer, null ); + } + + protected void close( String error, UploadStatusCallback callback, boolean sendToPeer, Exception e ) + { if ( error != null ) { if ( sendToPeer ) sendErrorCode( error ); if ( callback != null ) callback.uploadError( error ); + log.info( "Closing with error '" + error + "'", e ); } synchronized ( transferSocket ) { safeClose( dataFromServer, outStream, transferSocket ); @@ -232,7 +238,12 @@ public abstract class Transfer protected void close( String error ) { - close( error, null, false ); + close( error, null ); + } + + protected void close( String error, Exception e ) + { + close( error, null, false, e ); } public void cancel() |