You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by ja...@apache.org on 2012/07/19 08:54:44 UTC

svn commit: r1363244 - in /flume/trunk/flume-ng-channels/flume-file-channel/src: main/java/org/apache/flume/channel/file/ test/java/org/apache/flume/channel/file/

Author: jarcec
Date: Thu Jul 19 06:54:43 2012
New Revision: 1363244

URL: http://svn.apache.org/viewvc?rev=1363244&view=rev
Log:
FLUME-1383. Improve various log messages in FileChannel and HDFSSink.

(Mike Percy via Jarek Jarcec Cecho)

Modified:
    flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
    flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
    flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java
    flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java
    flume/trunk/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java

Modified: flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
URL: http://svn.apache.org/viewvc/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java?rev=1363244&r1=1363243&r2=1363244&view=diff
==============================================================================
--- flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java (original)
+++ flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java Thu Jul 19 06:54:43 2012
@@ -233,9 +233,12 @@ public class FileChannel extends BasicCh
           "Unable to acquire " + depth + " permits " + channelNameDescriptor);
       LOG.info("Queue Size after replay: " + depth + " "
            + channelNameDescriptor);
-    } catch (Exception ex) {
+    } catch (Throwable t) {
       open = false;
-      LOG.error("Failed to start the file channel", ex);
+      LOG.error("Failed to start the file channel " + channelNameDescriptor, t);
+      if (t instanceof Error) {
+        throw (Error) t;
+      }
     }
     if (open) {
       channelCounter.start();

Modified: flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
URL: http://svn.apache.org/viewvc/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java?rev=1363244&r1=1363243&r2=1363244&view=diff
==============================================================================
--- flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java (original)
+++ flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java Thu Jul 19 06:54:43 2012
@@ -197,7 +197,7 @@ class Log {
    * @throws IOException
    */
   void replay() throws IOException {
-    Preconditions.checkState(!open, "Cannot replay after Log as been opened");
+    Preconditions.checkState(!open, "Cannot replay after Log has been opened");
 
     checkpointWriterLock.lock();
 
@@ -262,7 +262,7 @@ class Log {
 
       open = true;
     } catch (Exception ex) {
-      LOGGER.error("Failed to initialize Log", ex);
+      LOGGER.error("Failed to initialize Log on " + channelNameDescriptor, ex);
       if (ex instanceof IOException) {
         throw (IOException) ex;
       }
@@ -339,7 +339,8 @@ class Log {
     try {
       lockAcquired = checkpointReadLock.tryLock(logWriteTimeout, TimeUnit.SECONDS);
     } catch (InterruptedException ex) {
-      LOGGER.warn("Interrupted while waiting for log write lock", ex);
+      LOGGER.warn("Interrupted while waiting for log write lock on " +
+          channelNameDescriptor, ex);
       Thread.currentThread().interrupt();
     }
 

Modified: flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java
URL: http://svn.apache.org/viewvc/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java?rev=1363244&r1=1363243&r2=1363244&view=diff
==============================================================================
--- flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java (original)
+++ flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java Thu Jul 19 06:54:43 2012
@@ -366,6 +366,7 @@ class LogFile {
       }
     }
     Pair<Integer, TransactionEventRecord> next() throws IOException {
+      int offset = -1;
       try {
         long position = fileChannel.position();
         if (position > FileChannelConfiguration.DEFAULT_MAX_FILE_SIZE) {
@@ -373,7 +374,7 @@ class LogFile {
                 + FileChannelConfiguration.DEFAULT_MAX_FILE_SIZE
                 + ", position: " + position);
         }
-        int offset = (int) position;
+        offset = (int) position;
         byte operation = fileHandle.readByte();
         if(operation != OP_RECORD) {
           LOG.info("Encountered non op-record at " + offset);
@@ -385,6 +386,9 @@ class LogFile {
         return Pair.of(offset, record);
       } catch(EOFException e) {
         return null;
+      } catch (IOException e) {
+        throw new IOException("Unable to read next Transaction from log file " +
+            file.getCanonicalPath() + " at offset " + offset, e);
       }
     }
     void close() {

Modified: flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java
URL: http://svn.apache.org/viewvc/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java?rev=1363244&r1=1363243&r2=1363244&view=diff
==============================================================================
--- flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java (original)
+++ flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java Thu Jul 19 06:54:43 2012
@@ -134,7 +134,7 @@ abstract class TransactionEventRecord im
     int header = in.readInt();
     if(header != MAGIC_HEADER) {
       throw new IOException("Header " + Integer.toHexString(header) +
-          " not expected value: " + Integer.toHexString(MAGIC_HEADER));
+          " is not the required value: " + Integer.toHexString(MAGIC_HEADER));
     }
     short type = in.readShort();
     long transactionID = in.readLong();

Modified: flume/trunk/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java
URL: http://svn.apache.org/viewvc/flume/trunk/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java?rev=1363244&r1=1363243&r2=1363244&view=diff
==============================================================================
--- flume/trunk/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java (original)
+++ flume/trunk/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java Thu Jul 19 06:54:43 2012
@@ -108,7 +108,7 @@ public class TestTransactionEventRecord 
       TransactionEventRecord.fromDataInput(toDataInput(0, in));
       Assert.fail();
     } catch (IOException e) {
-      Assert.assertEquals("Header 0 not expected value: deadbeef",
+      Assert.assertEquals("Header 0 is not the required value: deadbeef",
           e.getMessage());
     }
   }