Changeset 4664


Ignore:
Timestamp:
2011-02-09 09:17:39 (2 years ago)
Author:
evert
Message:

Removed the Reason from the WalProcessingException? since the RecordLockedException? is thrown as a separate exception.

Location:
trunk/cr/repository
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/cr/repository/api/src/main/java/org/lilyproject/repository/api/WalProcessingException.java

    r4662 r4664  
    11package org.lilyproject.repository.api; 
    22 
    3 import java.io.IOException; 
    43 
    54public class WalProcessingException extends RepositoryException { 
    6     private final Reason reason; 
    75    private final RecordId recordId; 
    86 
    9     public enum Reason { 
    10         LOCKED, PROCESSING_FAILURE, OTHER 
    11     } 
    12     public WalProcessingException(Reason reason, RecordId recordId) { 
    13         this.reason = reason; 
     7    public WalProcessingException(RecordId recordId) { 
    148        this.recordId = recordId; 
    159    } 
    1610 
    17     public WalProcessingException(Reason reason, RecordId recordId, String message) { 
     11    public WalProcessingException(RecordId recordId, String message) { 
    1812        super(message); 
    19         this.reason = reason; 
    2013        this.recordId = recordId; 
    2114    } 
    2215 
    23     public WalProcessingException(Reason reason, RecordId recordId, Throwable cause) { 
     16    public WalProcessingException(RecordId recordId, Throwable cause) { 
    2417        super(cause); 
    25         this.reason = reason; 
    2618        this.recordId = recordId; 
    2719    } 
    2820 
    29     public WalProcessingException(Reason reason, RecordId recordId, String message, Throwable cause) { 
     21    public WalProcessingException(RecordId recordId, String message, Throwable cause) { 
    3022        super(message, cause); 
    31         this.reason = reason; 
    3223        this.recordId = recordId; 
    33     } 
    34      
    35  
    36     public Reason getReason() { 
    37         return reason; 
    3824    } 
    3925     
     
    4329     
    4430    public String getMessage() { 
    45         return "Wal failed to process messages for record '" + recordId + "', reason="+reason.name() + ", " + super.getMessage(); 
     31        return "Wal failed to process messages for record '" + recordId + "', " + super.getMessage(); 
    4632    } 
    4733} 
  • trunk/cr/repository/impl/src/main/java/org/lilyproject/repository/avro/AvroConverter.java

    r4662 r4664  
    2929import org.apache.avro.util.Utf8; 
    3030import org.lilyproject.repository.api.*; 
    31 import org.lilyproject.repository.api.WalProcessingException.Reason; 
    3231import org.lilyproject.repository.impl.IdRecordImpl; 
    3332 
     
    570569    public AvroWalProcessingException convert(WalProcessingException exception) { 
    571570        AvroWalProcessingException avroException = new AvroWalProcessingException(); 
    572         avroException.reason = exception.getReason().name(); 
    573571        avroException.recordId = convert(exception.getRecordId()); 
    574572        avroException.message = exception.getMessage(); 
     
    622620    public WalProcessingException convert(AvroWalProcessingException avroException) { 
    623621        RecordId recordId = avroException.recordId == null ? null : convertAvroRecordId(avroException.recordId); 
    624         Reason reason = avroException.reason == null ? null : Reason.valueOf(convert(avroException.reason)); 
    625         WalProcessingException exception = new WalProcessingException(reason, recordId, convert(avroException.message)); 
     622        WalProcessingException exception = new WalProcessingException(recordId, convert(avroException.message)); 
    626623        restoreCauses(avroException.remoteCauses, exception); 
    627624        return exception; 
  • trunk/cr/repository/impl/src/main/java/org/lilyproject/repository/impl/HBaseRepository.java

    r4662 r4664  
    3333import org.lilyproject.hbaseext.ContainsValueComparator; 
    3434import org.lilyproject.repository.api.*; 
    35 import org.lilyproject.repository.api.WalProcessingException.Reason; 
    3635import org.lilyproject.repository.impl.RepositoryMetrics.Action; 
    3736import org.lilyproject.repository.impl.primitivevaluetype.BlobValueType; 
     
    13181317                } 
    13191318                if (!(wal.getMessages(rowKey).isEmpty())) { 
    1320                     throw new WalProcessingException(Reason.PROCESSING_FAILURE, recordId); 
     1319                    throw new WalProcessingException(recordId, "Not all messages were processed"); 
    13211320                } 
    13221321            } catch (InterruptedException e) { 
    13231322                Thread.currentThread().interrupt(); 
    1324                 throw new WalProcessingException(Reason.OTHER, recordId, e); 
     1323                throw new WalProcessingException(recordId, e); 
    13251324            } 
    13261325        } catch (RowLogException e) { 
    1327             throw new WalProcessingException(Reason.OTHER, recordId, e); 
     1326            throw new WalProcessingException(recordId, e); 
    13281327        } 
    13291328    } 
Note: See TracChangeset for help on using the changeset viewer.