continuent.org JIRA  History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: TREP-361
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Stephane Giron
Reporter: Stephane Giron
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Tungsten Replicator

MySQLExtractor does not properly handle MySQLExtractException which is generated by Log_event.read_log_event method

Created: 06/Oct/09 05:26 AM   Updated: 08/Oct/09 07:26 AM
Return to search
Component/s: None
Affects Version/s: Tungsten Replicator 1.0.3
Fix Version/s: Tungsten Replicator 1.0.4

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Issue Links:
Related
This issue is related to:
TREP-336 MySQLExtractor may fail with an IOExc... Major Resolved
This issue is related to:
TREP-363 Log_event.read_log_event sometimes fa... Critical Resolved


 Description   
This happens in case there is an error while reading from the binlog file.
 
Here is the faulty code in MySQLExtractor.processFile:
        catch (MySQLExtractException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

As a consequence of this, the exception is not propagated and the extractor will try to read from the binlog once again. The size of the event to be extracted will then be wrong, which can lead to OOM errors (see TREP-336) or hanging situations.


 All   Comments   Work Log   Change History      Sort Order:
Comment by Stephane Giron [06/Oct/09 05:22 PM]
The following throws declaration can be removed :

    private DBMSEvent extractEvent(BinlogPosition position)
            throws InterruptedException, ExtractorException
    {
    ...


This does not bring any compilation error, which means these exceptions are never thrown.
This is why the extractor will try to extract once again (without any notice of previous errors)

Comment by Stephane Giron [08/Oct/09 07:26 AM]
Now throwing the error, so that extractor stops cleanly.