@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord deleteRecordTX = new JournalDeleteRecordTX(txID, id, record); JournalFile usedFile = appendRecord(deleteRecordTX, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendDeleteRecordTransactional::txID=" + txID + ", id=" + id + ", usedFile = " + usedFile); } tx.addNegative(usedFile, id); } catch (Throwable e) { logger.error("appendDeleteRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void run() { journalLock.readLock().lock(); final JournalTransaction tx = getTransactionInfo(txID); try { if (tx != null) { tx.checkErrorCondition(); } JournalInternalRecord deleteRecordTX = new JournalDeleteRecordTX(txID, id, record); JournalFile usedFile = appendRecord(deleteRecordTX, false, false, tx, null); if (logger.isTraceEnabled()) { logger.trace("appendDeleteRecordTransactional::txID=" + txID + ", id=" + id + ", usedFile = " + usedFile); } tx.addNegative(usedFile, id); } catch (Throwable e) { logger.error("appendDeleteRecordTransactional:" + e, e); setErrorCondition(null, tx, e); } finally { journalLock.readLock().unlock(); } } });
@Override public void onReadDeleteRecordTX(final long transactionID, final RecordInfo info) throws Exception { hasData.lazySet(true); TransactionHolder tx = loadTransactions.get(transactionID); if (tx == null) { tx = new TransactionHolder(transactionID); loadTransactions.put(transactionID, tx); } tx.recordsToDelete.add(info); JournalTransaction tnp = transactions.get(transactionID); if (tnp == null) { tnp = new JournalTransaction(transactionID, JournalImpl.this); transactions.put(transactionID, tnp); } tnp.addNegative(file, info.id); }
@Override public void onReadDeleteRecordTX(final long transactionID, final RecordInfo info) throws Exception { hasData.lazySet(true); TransactionHolder tx = loadTransactions.get(transactionID); if (tx == null) { tx = new TransactionHolder(transactionID); loadTransactions.put(transactionID, tx); } tx.recordsToDelete.add(info); JournalTransaction tnp = transactions.get(transactionID); if (tnp == null) { tnp = new JournalTransaction(transactionID, JournalImpl.this); transactions.put(transactionID, tnp); } tnp.addNegative(file, info.id); }
@Override public void onReadDeleteRecordTX(final long transactionID, final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("onReadDeleteRecordTX " + transactionID + " info " + info); } if (pendingTransactions.get(transactionID) != null) { JournalTransaction newTransaction = getNewJournalTransaction(transactionID); JournalInternalRecord record = new JournalDeleteRecordTX(transactionID, info.id, new ByteArrayEncoding(info.data)); checkSize(record.getEncodeSize()); writeEncoder(record); newTransaction.addNegative(currentFile, info.id); } // else.. nothing to be done }
@Override public void onReadDeleteRecordTX(final long transactionID, final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("onReadDeleteRecordTX " + transactionID + " info " + info); } if (pendingTransactions.get(transactionID) != null) { JournalTransaction newTransaction = getNewJournalTransaction(transactionID); JournalInternalRecord record = new JournalDeleteRecordTX(transactionID, info.id, new ByteArrayEncoding(info.data)); checkSize(record.getEncodeSize()); writeEncoder(record); newTransaction.addNegative(currentFile, info.id); } // else.. nothing to be done }