Skip to content

Commit db67b28

Browse files
committed
[bugfix] Do not try and undoAddValue if there is nothing to undo
1 parent 0933869 commit db67b28

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/org/exist/storage/dom/DOMFile.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2272,6 +2272,15 @@ protected void redoAddValue(final AddValueLoggable loggable) {
22722272
protected void undoAddValue(final AddValueLoggable loggable) {
22732273
final DOMPage page = getDOMPage(loggable.pageNum);
22742274
final DOMFilePageHeader pageHeader = page.getPageHeader();
2275+
2276+
// is there anything to undo?
2277+
if (pageHeader.getLsn() == Lsn.LSN_INVALID || pageHeader.getStatus() == UNUSED) {
2278+
LOG.warn("Nothing to undo, but received: AddValueLoggable(txnId=" + loggable.getTransactionId()
2279+
+ ", lsn=" + loggable.getLsn() + ", pageNum=" + loggable.pageNum
2280+
+ ", isOverflow=" + loggable.isOverflow + ")");
2281+
return;
2282+
}
2283+
22752284
final RecordPos pos = page.findRecord(ItemId.getId(loggable.tid));
22762285
SanityCheck.ASSERT(pos != null, "Record not found! isOverflow: " + loggable.isOverflow);
22772286
//TODO : throw exception ? -pb

0 commit comments

Comments
 (0)