/** * Returns true if the serialized object is not any token * *@param b the magic entry type byte * @return true if not any token */ public static boolean isSerialized(byte b) { return EntryBits.isSerialized(b); } }
public boolean isSerialized() { return EntryBits.isSerialized(this.entryBits); }
public boolean isSerialized() { return EntryBits.isSerialized(this.entryBits); }
private void validateValue(byte[] valueBytes, byte userBits, Version version, ByteArrayDataInput in) { if (getParent().isValidating()) { if (EntryBits.isSerialized(userBits)) { // make sure values are deserializable if (!PdxWriterImpl.isPdx(valueBytes)) { // fix bug 43011 try { DiskEntry.Helper.readSerializedValue(valueBytes, version, in, true); } catch (SerializationException ex) { if (logger.isDebugEnabled()) { logger.debug("Could not deserialize recovered value: {}" + ex.getCause(), ex); } } } } } }
private void validateValue(byte[] valueBytes, byte userBits, Version version, ByteArrayDataInput in) { if (getParent().isValidating()) { if (EntryBits.isSerialized(userBits)) { // make sure values are deserializable if (!PdxWriterImpl.isPdx(valueBytes)) { // fix bug 43011 try { DiskEntry.Helper.readSerializedValue(valueBytes, version, in, true); } catch (SerializationException ex) { logger.warning(LocalizedStrings.DEBUG, "Could not deserialize recovered value: " + ex.getCause()); } } } } }
/** * TODO soplog - This method is public just to test soplog recovery */ public DiskEntry.RecoveredEntry createRecoveredEntry(byte[] valueBytes, int valueLength, byte userBits, long oplogId, long offsetInOplog, long oplogKeyId, boolean recoverValue, Version version, ByteArrayDataInput in) { DiskEntry.RecoveredEntry re = null; if (recoverValue || EntryBits.isAnyInvalid(userBits) || EntryBits.isTombstone(userBits)) { Object value; if (EntryBits.isLocalInvalid(userBits)) { value = Token.LOCAL_INVALID; valueLength = 0; } else if (EntryBits.isInvalid(userBits)) { value = Token.INVALID; valueLength = 0; } else if (EntryBits.isSerialized(userBits)) { value = DiskEntry.Helper.readSerializedValue(valueBytes, version, in, false); } else if (EntryBits.isTombstone(userBits)) { value = Token.TOMBSTONE; } else { value = valueBytes; } re = new DiskEntry.RecoveredEntry(oplogKeyId, oplogId, offsetInOplog, userBits, valueLength, value); } else { re = new DiskEntry.RecoveredEntry(oplogKeyId, oplogId, offsetInOplog, userBits, valueLength); } return re; }
/** * Given a BytesAndBits object either convert it to the relevant Object * (deserialize if necessary) or return the serialized blob. */ private static Object convertBytesAndBits(BytesAndBits bb, boolean asObject) { Object value; if (EntryBits.isInvalid(bb.getBits())) { value = Token.INVALID; } else if (EntryBits.isSerialized(bb.getBits())) { value = DiskEntry.Helper.readSerializedValue(bb, asObject); } else if (EntryBits.isLocalInvalid(bb.getBits())) { value = Token.LOCAL_INVALID; } else if (EntryBits.isTombstone(bb.getBits())) { value = Token.TOMBSTONE; } else { value = DiskEntry.Helper.readRawValue(bb); } // buffer will no longer be used so clean it up eagerly bb.release(); return value; }
/** * Given a BytesAndBits object get the serialized blob * * @param bb * @return the converted object */ static Object convertBytesAndBitsToSerializedForm(BytesAndBits bb) { final byte[] bytes = bb.getBytes(); Object value; if (EntryBits.isInvalid(bb.getBits())) { value = Token.INVALID; } else if (EntryBits.isSerialized(bb.getBits())) { value = DiskEntry.Helper .readSerializedValue(bytes, bb.getVersion(), null, false); } else if (EntryBits.isLocalInvalid(bb.getBits())) { value = Token.LOCAL_INVALID; } else if (EntryBits.isTombstone(bb.getBits())) { value = Token.TOMBSTONE; } else { value = DiskEntry.Helper.readRawValue(bytes, bb.getVersion(), null); } return value; }
/** * Given a BytesAndBits object convert it to the relevant Object (deserialize * if necessary) and return the object * * @param bb * @return the converted object */ static Object convertBytesAndBitsIntoObject(BytesAndBits bb) { byte[] bytes = bb.getBytes(); Object value; if (EntryBits.isInvalid(bb.getBits())) { value = Token.INVALID; } else if (EntryBits.isSerialized(bb.getBits())) { value = DiskEntry.Helper .readSerializedValue(bytes, bb.getVersion(), null, true); } else if (EntryBits.isLocalInvalid(bb.getBits())) { value = Token.LOCAL_INVALID; } else if (EntryBits.isTombstone(bb.getBits())) { value = Token.TOMBSTONE; } else { value = DiskEntry.Helper.readRawValue(bytes, bb.getVersion(), null); } return value; }
valueLength = 0; else if (EntryBits.isSerialized(userBits)) { value = DiskEntry.Helper .readSerializedValue(valueBytes, version, in, false);
did.setUserBits(userBits); assertEquals(userBits, did.getUserBits()); assertTrue(EntryBits.isSerialized(userBits)); assertTrue(EntryBits.isInvalid(userBits)); assertTrue(EntryBits.isLocalInvalid(userBits)); userBits = EntryBits.setLocalInvalid(userBits, false); did.setUserBits(userBits); assertFalse(EntryBits.isSerialized(userBits)); assertFalse(EntryBits.isInvalid(userBits)); assertFalse(EntryBits.isLocalInvalid(userBits)); userBits = EntryBits.setSerialized(userBits, true); did.setUserBits(userBits); assertTrue(EntryBits.isSerialized(userBits)); assertFalse(EntryBits.isInvalid(userBits)); assertFalse(EntryBits.isLocalInvalid(userBits)); userBits = EntryBits.setInvalid(userBits, true); did.setUserBits(userBits); assertFalse(EntryBits.isSerialized(userBits)); assertTrue(EntryBits.isInvalid(userBits)); assertFalse(EntryBits.isLocalInvalid(userBits)); userBits = EntryBits.setLocalInvalid(userBits, true); did.setUserBits(userBits); assertFalse(EntryBits.isSerialized(userBits)); assertFalse(EntryBits.isInvalid(userBits)); assertTrue(EntryBits.isLocalInvalid(userBits));
} else if (EntryBits.isTombstone(bits)) { value = Token.TOMBSTONE; } else if (EntryBits.isSerialized(bits)) { value = readSerializedValue(bb, false); } else {
} else if (EntryBits.isTombstone(bb.getBits())) { value = Token.TOMBSTONE; } else if (EntryBits.isSerialized(bb.getBits())) { value = readSerializedValue(bb.getBytes(), bb.getVersion(), in, false); } else {
break; case 1: assertEquals(EntryBits.isSerialized(userBits2), boolValuePerIteration); break; case 2:
if (sysCb != null) { byte[] newValueBytes = sysCb.fromVersionToBytes( valueBytes, length, EntryBits.isSerialized(userBits), version, in, hdos); if (valueBytes != newValueBytes) {
|| !CachedDeserializableFactory.preferObject()) { entry.value = bb.toBytes(); entry.setSerialized(EntryBits.isSerialized(bb.getBits())); else if (EntryBits.isSerialized(bb.getBits())) { entry.value = readSerializedValue(bb, true); entry.setSerialized(false);
entry.setSerialized(EntryBits.isSerialized(bb.getBits()));
true, version, in, hdos); objValue = sysCb.fromVersionToBytes(objValue, objValue.length, EntryBits.isSerialized(userBits), version, in, hdos);
true, version, in, hdos); objValue = sysCb.fromVersionToBytes(objValue, objValue.length, EntryBits.isSerialized(userBits), version, in, hdos);
true, version, in, hdos); objValue = sysCb.fromVersionToBytes(objValue, objValue.length, EntryBits.isSerialized(userBits), version, in, hdos);