Hi Flume Developers,
    We are using flume 1.5.0  to upload files into flume, and encountered one 
issue:

28 Jan 2015 15:19:52,803 ERROR [pool-5-thread-1] 
(org.apache.flume.client.avro.ReliableSpoolingFileEventReader.openFile:504)  - 
Exception opening file: F:\GBFlumeClient\source\et11peed.128 
(file:///F:/GBFlumeClient/source/et11peed.128)
java.io.IOException: Unable to delete existing meta file 
F:\GBFlumeClient\source\.flumespool\.flumespool-main.meta 
(file:///F:/GBFlumeClient/source/.flumespool/.flumespool-main.meta)
After searching, we find it matches with 
https://issues.apache.org/jira/browse/FLUME-1993***A***) The Flume-1993.patch 
for this url:if (!tracker.getTarget().equals(nextPath)) {          
tracker.close();           deleteMetaFile(); 
+          tracker = DurablePositionTracker.getInstance(metaFile, nextPath)
}       
-        tracker = DurablePositionTracker.getInstance(metaFile, nextPath);The 
statement "DurablePositionTracker.getInstance(metaFile, nextPath)" looka in  
if{ } block , andit says it had been fixed in 1.4.0
***B***) In ReliableSpoolingFileEventReader.java for this same url:       if 
(!tracker.getTarget().equals(nextPath)) {          tracker.close();          
deleteMetaFile();        }            else{           //Explicitly close the 
tracker instance received so that                //there is no sharing 
violation on Windows.             tracker.close();        }        tracker = 
DurablePositionTracker.getInstance(metaFile, nextPath);The statement is not in 
if/else block
I am a bit new to flume, can any one help to answer which one is fix? We have 
checked 1.4.0,15.0,1.5.2 codes, all codes say the statement in if {} block.
Regards,Gary Xu                                           

Reply via email to