public String toString() { return "LogInstance < " + _logName + ", " + _typeName + ", " + numberOfUsers() + ", " + remaining() + " >"; }
private final void removeFromLog(Uid txid) { if (_synchronousRemoval) { synchronized (_logNames) { Iterator<LogInstance> iter = _logNames.iterator(); LogInstance entry = null; while (iter.hasNext()) { entry = (LogInstance) iter.next(); if (entry.present(txid)) { //entry.removeTxId(txid); break; } } } } }
byte[] uidString = objUid.stringForm().getBytes(StandardCharsets.UTF_8); int buffSize = _redzone.length + uidString.length + imageSize + 8; // don't put in endOfLog since we keep overwriting that. RandomAccessFile ofile = null; TransactionData theLogEntry = getLogName(objUid, tName, buffSize); // always adds entry to log LogInstance theLog = theLogEntry.container; throw new ObjectStoreException(); fname = genPathName(theLog.getName(), tName, ft); fd = openAndLock(fname, FileLock.F_WRLCK, true); ofile = new RandomAccessFile(fd, FILE_MODE); ofile.setLength(_maxFileSize); if (theLog.remaining() < buffSize) long size = ofile.length() + buffSize - theLog.remaining(); ofile.setLength(size); theLog.resize(size); unlockAndClose(fd, ofile);
File fd = new File(genPathName(log.getName(), log.getTypeName(), StateStatus.OS_COMMITTED)); ArrayList<InputObjectState> objectStates = scanLog(log.getName(), log.getTypeName()); String fname = genPathName(log.getName(), log.getTypeName(), StateStatus.OS_UNCOMMITTED); File fd2 = openAndLock(fname, FileLock.F_WRLCK, true); RandomAccessFile oFile = new RandomAccessFile(fd2, FILE_MODE); int size = 0; oFile.setLength(_maxFileSize); byte[] uidString = objectStates.get(i).stateUid().stringForm().getBytes(StandardCharsets.UTF_8); int buffSize = _redzone.length + uidString.length + objectStates.get(i).buffer().length + 8; java.nio.ByteBuffer buff = java.nio.ByteBuffer.allocate(buffSize); unlockAndClose(fd2, oFile); throw new ObjectStoreException(ex.toString(), ex); oFile.setLength(size); log.freeze(); throw new ObjectStoreException(ex.toString(), ex); ex.printStackTrace();
TransactionData td = getLogName(u, tn, -1); throw new ObjectStoreException(); ArrayList<InputObjectState> states = scanLog(td.container.getName(), tn); if (states.get(i).stateUid().equals(u)) return states.get(i);
boolean truncateLogs (boolean force) throws ObjectStoreException { synchronized (_logNames) { Iterator<LogInstance> iter = _logNames.iterator(); /* * Only do this for logs that are full to save time, * except if we are terminating. */ while (iter.hasNext()) { boolean delete = false; LogInstance log = null; try { log = iter.next(); if (log.isFrozen() || force) delete = truncateLog(log, force); } catch (final Exception ex) { // TODO log } if (delete) iter.remove(); } } return true; }
byte[] uidString = objUid.stringForm().getBytes(); int buffSize = _redzone.length + uidString.length + imageSize + 8; // don't put in endOfLog since we keep overwriting that. RandomAccessFile ofile = null; TransactionData theLogEntry = getLogName(objUid, tName, buffSize); // always adds entry to log LogInstance theLog = theLogEntry.container; throw new ObjectStoreException(); fname = genPathName(theLog.getName(), tName, ft); fd = openAndLock(fname, FileLock.F_WRLCK, true); ofile = new RandomAccessFile(fd, FILE_MODE); ofile.setLength(_maxFileSize); if (theLog.remaining() < buffSize) long size = ofile.length() + buffSize - theLog.remaining(); ofile.setLength(size); theLog.resize(size); unlockAndClose(fd, ofile);
File fd = new File(genPathName(log.getName(), log.getTypeName(), StateStatus.OS_COMMITTED)); ArrayList<InputObjectState> objectStates = scanLog(log.getName(), log.getTypeName()); String fname = genPathName(log.getName(), log.getTypeName(), StateStatus.OS_UNCOMMITTED); File fd2 = openAndLock(fname, FileLock.F_WRLCK, true); RandomAccessFile oFile = new RandomAccessFile(fd2, FILE_MODE); int size = 0; oFile.setLength(_maxFileSize); byte[] uidString = objectStates.get(i).stateUid().stringForm().getBytes(StandardCharsets.UTF_8); int buffSize = _redzone.length + uidString.length + objectStates.get(i).buffer().length + 8; java.nio.ByteBuffer buff = java.nio.ByteBuffer.allocate(buffSize); unlockAndClose(fd2, oFile); throw new ObjectStoreException(ex.toString(), ex); oFile.setLength(size); log.freeze(); throw new ObjectStoreException(ex.toString(), ex); ex.printStackTrace();
TransactionData td = getLogName(u, tn, -1); throw new ObjectStoreException(); ArrayList<InputObjectState> states = scanLog(td.container.getName(), tn); if (states.get(i).stateUid().equals(u)) return states.get(i);
boolean truncateLogs (boolean force) throws ObjectStoreException { synchronized (_logNames) { Iterator<LogInstance> iter = _logNames.iterator(); /* * Only do this for logs that are full to save time, * except if we are terminating. */ while (iter.hasNext()) { boolean delete = false; LogInstance log = null; try { log = iter.next(); if (log.isFrozen() || force) delete = truncateLog(log, force); } catch (final Exception ex) { // TODO log } if (delete) iter.remove(); } } return true; }
byte[] uidString = objUid.stringForm().getBytes(); int buffSize = _redzone.length + uidString.length + imageSize + 8; // don't put in endOfLog since we keep overwriting that. RandomAccessFile ofile = null; TransactionData theLogEntry = getLogName(objUid, tName, buffSize); // always adds entry to log LogInstance theLog = theLogEntry.container; throw new ObjectStoreException(); fname = genPathName(theLog.getName(), tName, ft); fd = openAndLock(fname, FileLock.F_WRLCK, true); ofile = new RandomAccessFile(fd, FILE_MODE); ofile.setLength(_maxFileSize); if (theLog.remaining() < buffSize) long size = ofile.length() + buffSize - theLog.remaining(); ofile.setLength(size); theLog.resize(size); unlockAndClose(fd, ofile);
File fd = new File(genPathName(log.getName(), log.getTypeName(), StateStatus.OS_COMMITTED)); ArrayList<InputObjectState> objectStates = scanLog(log.getName(), log.getTypeName()); String fname = genPathName(log.getName(), log.getTypeName(), StateStatus.OS_UNCOMMITTED); File fd2 = openAndLock(fname, FileLock.F_WRLCK, true); RandomAccessFile oFile = new RandomAccessFile(fd2, FILE_MODE); int size = 0; oFile.setLength(_maxFileSize); byte[] uidString = objectStates.get(i).stateUid().stringForm().getBytes(); int buffSize = _redzone.length + uidString.length + objectStates.get(i).buffer().length + 8; java.nio.ByteBuffer buff = java.nio.ByteBuffer.allocate(buffSize); unlockAndClose(fd2, oFile); throw new ObjectStoreException(ex.toString(), ex); oFile.setLength(size); log.freeze(); throw new ObjectStoreException(ex.toString(), ex); ex.printStackTrace();
TransactionData td = getLogName(u, tn, -1); throw new ObjectStoreException(); ArrayList<InputObjectState> states = scanLog(td.container.getName(), tn); if (states.get(i).stateUid().equals(u)) return states.get(i);
public String toString() { return "LogInstance < " + _logName + ", " + _typeName + ", " + numberOfUsers() + ", " + remaining() + " >"; }
boolean truncateLogs (boolean force) throws ObjectStoreException { synchronized (_logNames) { Iterator<LogInstance> iter = _logNames.iterator(); /* * Only do this for logs that are full to save time, * except if we are terminating. */ while (iter.hasNext()) { boolean delete = false; LogInstance log = null; try { log = iter.next(); if (log.isFrozen() || force) delete = truncateLog(log, force); } catch (final Exception ex) { // TODO log } if (delete) iter.remove(); } } return true; }
private final void removeFromLog(Uid txid) { if (_synchronousRemoval) { synchronized (_logNames) { Iterator<LogInstance> iter = _logNames.iterator(); LogInstance entry = null; while (iter.hasNext()) { entry = (LogInstance) iter.next(); if (entry.present(txid)) { //entry.removeTxId(txid); break; } } } } }
byte[] uidString = objUid.stringForm().getBytes(StandardCharsets.UTF_8); int buffSize = _redzone.length + uidString.length + imageSize + 8; // don't put in endOfLog since we keep overwriting that. RandomAccessFile ofile = null; TransactionData theLogEntry = getLogName(objUid, tName, buffSize); // always adds entry to log LogInstance theLog = theLogEntry.container; throw new ObjectStoreException(); fname = genPathName(theLog.getName(), tName, ft); fd = openAndLock(fname, FileLock.F_WRLCK, true); ofile = new RandomAccessFile(fd, FILE_MODE); ofile.setLength(_maxFileSize); if (theLog.remaining() < buffSize) long size = ofile.length() + buffSize - theLog.remaining(); ofile.setLength(size); theLog.resize(size); unlockAndClose(fd, ofile);